채팅 콜백

고객님의 문의에 답변하는 직원은 고객 여러분의 가족 중 한 사람일 수 있습니다.
고객의 언어폭력(비하, 조롱, 욕설, 협박, 성희롱 등)으로부터 직원을 보호하기 위해
관련 법에 따라 수사기관에 필요한 조치를 요구할 수 있으며, 형법에 의해 처벌 대상이 될 수 있습니다.

커뮤니티 이용 정책에 위배되는 게시물을 작성할 경우, 별도 안내 없이 게시물 삭제 또는 커뮤니티 이용이 제한될 수 있습니다.

문의 응대 : 평일 오전 10시 ~ 오후 6시
문의를 남기실 경우 다음 항목을 작성해 주세요.
정보가 부족하거나 응대시간 외 문의하는 경우 확인 및 답변이 지연될 수 있습니다.

  • 뒤끝 SDK 버전 : 5.16.1 (채팅 버전 1.3.0)
  • 프로젝트명 : PirateStory
  • 스테이터스 코드 :
  • 에러 코드 :
  • 에러 메시지 :
    뒤끝 채팅 콜백 함수가 작동하지 않는데 어떤 부분을 살펴봐야할까요?
    Update 는 지속적으로 호출 되는 것 확인 했고,
    성공 실패 여부에 대한 콜백도 오지 않고 있어서 원인을 찾기 어렵네요.

안녕하세요, 개발자님.
문의하신 내용의 정확한 확인을 위해, 채팅 SDK 버전과 관련 코드 스니펫을 공유해 주시면 감사하겠습니다.

채팅 버전은 1.3.0 입니다.

public class ChatManager : MonoBehaviour, BackndChat.IChatClientListener
{
    private BackndChat.ChatClient ChatClient = null;
    private UInt64 m_ChatNumber = 0;

    public void AwakeSelf()
    {
        ChatClient = new ChatClient(this, new ChatClientArguments
        {
            //Avatar = "default",
            //Metadata = new Dictionary<string, string>()
            //{
            //    { "Rank", "1" },
            //    { "Level", "1000" },
            //    { "Server", "Server 1" },
            //},
        });
    }

    void Update()
    {
        ChatClient?.Update();
    }

    public void JoinChannel(string group, string name)
    {
        ChatClient.SendJoinOpenChannel(group, name);
    }

    public void SendChat(string message)
    {
        ChatClient.SendChatMessage(GameMng.m_Instance.GetChatBaseGroup(), GameMng.m_Instance.GetChatBaseName(), m_ChatNumber, message);
    }

    public void AddBlockPlayer(string name)
    {
        ChatClient.SendAddBlockGamer(name);
    }

    public void RemoveBlockPlayer(string name)
    {
        ChatClient.SendRemoveBlockGamer(name);
    }

    List<string> GetBlockedPlayers()
    {
        return ChatClient.GetBlockGamers();
    }

    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    public void OnJoinChannel(ChannelInfo channelInfo)
    {
        m_ChatNumber = channelInfo.ChannelNumber;
    }

    public void OnLeaveChannel(ChannelInfo channelInfo)
    {

    }

    public void OnJoinChannelPlayer(string channelGroup, string channelName, UInt64 channelNumber, PlayerInfo player)
    {

    }

    public void OnLeaveChannelPlayer(string channelGroup, string channelName, UInt64 channelNumber, PlayerInfo player)
    {

    }

    public void OnUpdatePlayerInfo(string channelGroup, string channelName, ulong channelNumber, PlayerInfo player) { }

    public void OnChangeGamerName(string oldGamerName, string newGamerName) { }

    public void OnChatMessage(MessageInfo messageInfo)
    {
        int a;
        a = 1;
        //messageInfo.GamerName // 채팅 보낸 유저 닉네임
        //messageInfo.Message // 전달 받은 채팅 메시지
    }

    public void OnWhisperMessage(WhisperMessageInfo messageInfo) { }

    public void OnTranslateMessage(List<MessageInfo> messages) { }

    public void OnHideMessage(MessageInfo messageInfo) { }

    public void OnDeleteMessage(MessageInfo messageInfo) { }

    public void OnSuccess(SUCCESS_MESSAGE success, object param)
    {
        switch (success)
        {
            default:
                break;
        }
    }

    public void OnError(ERROR_MESSAGE error, object param)
    {
        switch (error)
        {
            default:
                break;
        }
    }

    private void OnApplicationQuit()
    {
        ChatClient?.Dispose();
    }
}
좋아요 1

개발자님, 아래 안내드리는 내용 확인을 부탁드립니다.

  1. Client App ID와 Signature Key, 채팅 서버 키(Chat UUID)가 정확하게 입력되어 있는지 확인
    설치 및 환경 구성 | 뒤끝 개발자

  2. 유니티 콘솔 로그에서 에러메시지 출력이 있는지 확인

  3. 방화벽의 문제일 수 있으니 안드로이드 또는 IOS 로 빌드 하여 확인

감사합니다.

답변 감사합니다.
알려주신 내용대로 안드로이드로 테스트 시 정상 작동 합니다.

좋아요 1