Kakao i Connect Live 커뮤니티

클라이언트 onClose콜백 처리 지연

웹과 클라이언트가 전화연결이 성공되어있는 상태에서 웹쪽에서 close를 호출하였을때 클라이언트에서 받는 onClose콜백의 호출이 상당히 지연되는것 같습니다.

확인을 해보기 위해 onStat콜백에서 report값을 보았는데요.
웹에서 close를 호출하면 클라이언트쪽에서 약 10초간 COMPLETE상태였다가 CLOSE상태로 report가 찍히는 로그를 확인할수 있었습니다. 해당 로그가 찍히고 나서도 약 10~15초 정도 CLOSE상태 였지만 onClose는 호출되지 않았습니다. 이럴때 해결방법에 대해 답변 부탁드리겠습니다!

안녕하세요^^
정상적이라면 웹에서
Close시에 안드로이드측에서 즉시 onClose이벤트가 떨어져야 합니다.
말씀하신 현상에 대해서는 다시한번 확인해보겠습니다.

추가로, 관련 테스트를 하신 채널이름, 시간대, 서비스아이디를 메시지로 보내주시면 확인에 더 도움이 될듯 합니다.
감사합니다.

오전에 테스트 해보았던 로그가 사라져 다시 테스트한 정보 알려드립니다.

시간대 : 2019-04-10 14:15:18.527
채널이름 : 2806444774
서비스 아이디 : [email protected]

우선 서버 로그와 시그널링은 정상입니다.

현재 이용함에 있어 문제점은
call을 사용하는데, 같은 채널이름으로 많은 peer를 생성하고 계십니다.
한개의 클라이언트에서 여러개의 remonCall 생성과 connect를 하고있는 경우로 보이는데요.

1:1 call의 경우 두개의 피어만 사용해주시길 바랍니다.
확인후 답변 부탁드립니다^^

답변 감사합니다.

말씀하긴대로 여러개의 remonCall이 생성되는건 액티비티 onCreate에서 RemonCall.builder().build(); 를 생성될때마다 해주는게 문제인건가요??
어떻게 구현했을때 여러개의 remonCall과 connect가 생성이 되는지 궁금합니다.
또한 여러개가 생성되지 않기 위해서 어떤식으로 connect를 시켜줘야 하는지도 알려주셨으면 좋겠습니다.
peer가 생성되는 기준이 어떻게 되는지도 부탁드리겠습니다.

우선 peer가 생성되는 시점은
RemonCall을 build했을 때 init이 되면서 생성됩니다.

여러개가 생성되는 경우에대해서는 서비스마다 로직과 시나리오가
너무나 다르기때문에 콕찝어 말씀드리기는 어렵습니다.

당연한 얘기지만, 동일시점에 RemonCall build를 여러번 하지는 않는지,
callback등록을 한번만 하는지, view 보이는 remon 외에 다른 remon이 존재 하는지 등등을 확인해야합니다.

우선 로그분석을 용이하게 하기위해, 채널을 구분해서 사용하기를 권장드립니다.
감사합니다.

1 Like

현재 저희 로직은 onCreate에서 RemonCall.builder().build(); 한번 해주고있구요.
샘플앱과 동일하게 setCallback()을 통해 한번 생성해 주고 있습니다.
다음으로는 연결 버튼 클릭시 remonCall.connect(channelId);
거절 또는 종료 버튼 클릭시에는 remonCall.close();를 호출해 주고있습니다.

채널의 경우에는 하나의 방이 있으면 해당 방의 id를 채널 id로 사용하고 있는데요, 그런 경우에 해당 방의 id로 여러번(동시x) connect를 시도하면 peer가 계속 생성이 되신다는 말씀인가요?
만약 그렇다면 생성된 peer에 대해서 확인 또는 제거하는 방법이 있을까요??

안드로이드 클라이언트에서
peer의 id는 RemonCall.getToken()을 통해 알수있고,
해당 remonCall을 close하면 제거됩니다.

동시에 connect를 여러번 하지 않는다면, 1:1 통화에서는 2개의 peer만 만들어집니다.
방 ID+ 시간정보를 가지고 채널을 만드시는건 어떠신지요?
(고객사 대부분 채널에 시간정보or 별도의UUID 를 섞어서 사용하십니다.)

혹시 프로젝트 공유가 가능하신가요? 그러면 좀 더 도움을 드릴수 있을거 같습니다.
감사합니다.

아까전에 말씀해주신 버전인 2.2.14버전을 사용후에는 callback이 정상적으로 작동되는것을 확인하였습니다.
빠른 답변 남겨주셔서 감사합니다!

안녕하세요^^
버전 업그레이드 후에 잘 되셔서 다행입니다.

webSDK 와 AndroidSDK의 버전차이로 생긴 이슈로 보입니다.


에 최신SDK가 뜨도록 수정해서 착오가 업도록 진행 해야겠네요…

트러블슈팅 감사합니다^^

1 Like