채팅 채널 접속 시 일부 클라이언트에서만 OnJoinChannel 호출이 되지 않습니다.

  • 뒤끝 SDK 버전 : 5.11.7
  • 프로젝트명 :
  • 스테이터스 코드 :
  • 에러 코드 :
  • 에러 메시지 :
public class ChatMgr : MonoBehaviour, IChatClientListener
{
    public void Start()
    {
        Init();
    }

    void Init()
    {
       chatClient = new ChatClient(this, "default");
    }
    void Update()
    {
        chatClient?.Update();
    }
----생략----
}

의 형태로 채팅클라이언트를 초기화 하고 있습니다.
일반적으로는 유니티 에디터나 디바이스 등에서 채팅 기능이 잘 동작하지만
특정 컴퓨터에서 접속 시도시 채팅 콘솔 창에서는 해당 컴퓨터로 로그인 한 유저가 채팅 채널에 접속중인 것으로 표시되지만 해당 유저의 클라이언트에는 OnJoinChannel 콜백이 오지 않습니다.
명시적으로 chatClient.SendJoinOpenChannel(“global”, “server-1”); 를 호출해보기도 했으나 마찬가지로 응답이 오지않았고,
일부러 chatClient.SendJoinOpenChannel(“global”, “”); 를 호출해봤을때는 OnError 가 오는 것을 확인했습니다.

TheBackend 폴더를 지운후 chat sdk - base sdk 순으로 다시 설치 하고 id 세팅을 처음부터 다시해보기도 하고, start가 아닌 버튼 클릭시 채팅 클라이언트 생성하는 식으로도 해봤지만 마찬가지로 안되어 문의드립니다.

안녕하세요 개발자님,
콘솔에서 접속 상태로 확인되지만 콜백이 오지 않는 상황은 접속 문제이기보다는
업데이트 함수가 정상적으로 호출되지 않는 상황일 수 있습니다.

콜백이 오지 않는 클라이언트에서 업데이트 함수가 잘 호출되고 있는지 확인해 주시면 감사하겠습니다.

업데이트 함수 잘 호출되고 있지만 콜백이 오지 않습니다. 다른 기기에서는 똑같은 코드로 콜백 잘 오고 있고요…

보다 정확한 확인을 위해
문제가 발생하는 상세한 이용 환경을 공유해주실 수 있으실까요?

이용 환경의 OS, 유니티, 빌드 방법 등 상세한 환경을 공유해 주시면 감사하겠습니다.

현재 모든 pc windows10 , 유니티 2021.3.30f 사용중이며 빌드는 android apk로 유니티 빌드 하고있습니다.

개발자 4명이 각각 사용하는 pc에서는 채팅 접속이나 전송, 수신이 원활하게 됩니다.
빌드용으로 새로 세팅한 pc는 채팅 접속이 되지않습니다. 빌드pc에서 빌드한 apk 에서 역시 동작하지 않습니다.

또한 문제가 없는 pc에서 안드로이드 빌드 시 약 2주 전에는 채팅 연결이 되었지만 현재는 안되는 것을 확인하였습니다. 에디터로 접속시 여전히 잘 됩니다.
빌드시에는 androidManifest.xml 에 READ_PHONE_STATE 옵션만 추가하여 빌드하고있습니다(androidmanifest custom 옵션은 최근 열흘 사이에 적용한 부분입니다)

모바일 디바이스에서는 사내 와이파이에서 다른폰의 핫스팟으로 전환해봤지만 마찬가지로 안되었습니다…

더 필요하신 사항 있으면 말씀해주시면 추가하겠습니다. 감사합니다.

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <domain-config>
        <domain includeSubdomains="true">cluster.chat.thebackend.io</domain>
    </domain-config>
</network-security-config>

[참조] 네트워크 보안 구성  |  App quality  |  Android Developers

위 링크를 참조해 안내드린 코드로 네트워크 보안 구성을 추가해주시고,
유니티에서 다음 안내드리는 경로의 파일에 대해 Load on startup을 체크한 후 시도해봐 주시면 감사하겠습니다.

  1. TheBackend → BackndChat → Plugins → Grpc.Core → android → “빌드 플랫폼” → libgrpc_csharp_ext 클릭 → Load on startup 체크

  2. TheBackend → BackndChat → Plugins → Grpc.Core → grpc_csharp_ext_dummy_stubs → android → grpc_csharp_ext_dummy_stubs 클릭 → Load on startup 체크

둘 모두 적용해봤지만 문제의 pc 및 디바이스 둘 모두에서 작동 안됩니다.
더 확인해볼 사항은 없을까요?

위 링크를 참고하여 옵션을 변경 후 다시 한번 시도해 주시면 감사하겠습니다.

이것저것 해본 결과 위에서 말씀해주신 네트워크 보안 및 load on startup 체크 적용후 빌드했더니 모바일에서는 채팅기능 잘 작동합니다!
그러나 원래 문제 있던 pc 에디터로 실행시 기존처럼 아무 콜백이 오지 않고 (Application.runInBackground도 적용해봤습니다),
에디터에서 잘 동작하던 개인 pc에서는 OnJoinChannel 은 오지만 ChatClient.SendChatMessage 호출해도 채팅콘솔에서 확인하면 도착한 메시지가 없습니다.
에디터와 android 둘 모두에서 동작할 방법이 있을까요? 지속적인 응답 감사드립니다.

windows 쪽 load on startup 도 체크해 주시면 감사드리겠습니다.

안녕하세요. win/x64 load on startup 체크해봤지만 변화없네요.

안녕하세요 개발자님,
문의해주신 내용과 관련해 지원을 위해 확인이 필요한 내용이 있어 DM 드렸습니다.
확인 후 회신 주시면 감사하겠습니다.