파이어베이스 크래시틱스 에러관련

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

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

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

  • 뒤끝 SDK 버전 :
  • 프로젝트명 : 히어로원정대
  • 스테이터스 코드 :
  • 에러 코드 :
  • 에러 메시지 :

Fatal Exception: java.lang.Exception

wd0WGba78ikpL7iwVMu : Transport not open

Fatal Exception: java.lang.Exception: wd0WGba78ikpL7iwVMu : Transport not open
at tbbAALAKS3HlFqInBg0.IM466kALJaxfQybqGms.Send(tbbAALAKS3HlFqInBg0.IM466kALJaxfQybqGms)
at EsGOHLaLJpHPFYO8nl3.f5swfOamAXPLWHA1XdP.Flush(EsGOHLaLJpHPFYO8nl3.f5swfOamAXPLWHA1XdP)
at EsGOHLaLJpHPFYO8nl3.f5swfOamAXPLWHA1XdP.L27aojvtRJ(EsGOHLaLJpHPFYO8nl3.f5swfOamAXPLWHA1XdP)
at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Threading.Tasks.AwaitTaskContinuation)
at System.Threading.Tasks.Task.FinishContinuations(System.Threading.Tasks.Task)
at System.Threading.Tasks.Task1[TResult].TrySetResult(System.Threading.Tasks.Task1[TResult])
at System.Threading.Tasks.Task+DelayPromise.Complete(System.Threading.Tasks.Task+DelayPromise)
at System.Threading.ThreadPoolWorkQueue.Dispatch(System.Threading.ThreadPoolWorkQueue)
at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Threading.Tasks.AwaitTaskContinuation)
at System.Threading.Tasks.Task.FinishContinuations(System.Threading.Tasks.Task)
at System.Threading.Tasks.Task1[TResult].TrySetResult(System.Threading.Tasks.Task1[TResult])
at System.Threading.Tasks.Task+DelayPromise.Complete(System.Threading.Tasks.Task+DelayPromise)
at System.Threading.ThreadPoolWorkQueue.Dispatch(System.Threading.ThreadPoolWorkQueue)

저번에 문의드렸던 transport not open 에러입니다.
이전 답변에서 Backend.Notification.DisConnect(); 를 사용하여 해제를 한 뒤, 10초 뒤 Backend.Notification.Connect(); 를 재연결하라고 하셔서

private IEnumerator ProcessReconnectNotification()
{
#if !ENABLE_BACKEND
yield break;
#endif

        //++m_NotificationRetryCount;
        //yield return new WaitForSecondsRealtime(Mathf.Pow(2, Mathf.Min(6, m_NotificationRetryCount)));
        
        Backend.Notification.DisConnect();  //연결 해제
        yield return new WaitForSecondsRealtime(10f);   //10초 대기
        Backend.Notification.Connect();     //재연결
    }

이렇게 코드를 교체했습니다.
하지만 동일하게 에러가 발생합니다.

// 접속 시 반응하는 핸들러 설정
Backend.Notification.OnAuthorize = (bool Result, string Reason) => {
#if UNITY_EDITOR || ENABLE_DEBUG
Debug.Log("실시간 서버 성공 여부 : " + Result);
Debug.Log("실패 시 이유 : " + Reason);
#endif

            if (!Result)
            {
                UnityMainThreadDispatcher.Instance().Enqueue(
                    () =>
                    {
                        //++m_NotificationRetryCount;
                        //double retryDelay = System.Math.Pow(2, System.Math.Min(6, m_NotificationRetryCount));
                        //Invoke("ReconnectNotification", (float)retryDelay);
                        StartCoroutine(ProcessReconnectNotification());
                    });
            }
            else
            {
                m_NotificationRetryCount = 0;
            }
        };

        //접속 해제 시 반응하는 핸들러를 설정.
        Backend.Notification.OnDisConnect = (string Reason) => {

#if UNITY_EDITOR || ENABLE_DEBUG
Debug.Log("해제 이유 : " + Reason);
#endif

            UnityMainThreadDispatcher.Instance().Enqueue(
                () =>
                {
                    //++m_NotificationRetryCount;
                    //double retryDelay = System.Math.Pow(2, System.Math.Min(6, m_NotificationRetryCount));
                    //Invoke("ReconnectNotification", (float)retryDelay);
                    StartCoroutine(ProcessReconnectNotification());
                });
        };

이곳에 함수를 넣어놨는데 조금 더 도와주세요…

안녕하세요, 개발자님.

재접속 과정에서 서버와의 연결을 더이상 유지할 수 없어 발생하는 에러로 추정됩니다.
동일한 서버에 자동 접속하는 로직이 내부에 포함되어 있으니,
아래와 같이 Connect 함수에 isReconnection을 false로 바꿔주시기 바랍니다.

Backend.Notification.Connect(isReconnection:false);