탈퇴 후 삭제가 진행중인 계정으로 접속할 때 앱이 크래시 되는 현상

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

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

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

  • 뒤끝 SDK 버전 : 5.9.1
  • 프로젝트명 : 퇴마사 디펜스
  • 스테이터스 코드 : 410
  • 에러 코드 : GoneResourceException
  • 에러 메시지 :

탈퇴한 페더레이션 계정 접속시 앱 크래시 발생

2023-01-13 16:58:21.674 12711 12953 Info Unity LoginFail statusCode 410
2023-01-13 16:58:21.676 12711 12953 Info Unity LoginFail errorCode GoneResourceException
2023-01-13 16:58:21.679 12711 12953 Info Unity LoginFail message Gone user, 사라진 user 입니다

Backend.BMember.AuthorizeFederation(GPGSManager.GetTokens(), FederationType.Google, "gpgs", bro =>
                        {
                            cb = () =>
                            {
                                if (bro.IsSuccess() == false)
                                {
                                    UnityEngine.Debug.Log("LoginFail statusCode " + bro.GetStatusCode());
                                    UnityEngine.Debug.Log("LoginFail errorCode " + bro.GetErrorCode());
                                    UnityEngine.Debug.Log("LoginFail message " + bro.GetMessage());
                                }

                                if (bro.IsSuccess())
                                {
                                    Debug.Log("Login Success");

                                    LastLoginWay = LoginWay.Google;

                                    AfterAuthCallback(true);
                                    Backend.BMember.UpdateFederationEmail(GPGSManager.GetTokens(), FederationType.Google);
                                }
                                else
                                {
                                    Debug.Log("Login Failed");

                                    if (bro.GetStatusCode() == "410" ||
                                        bro.GetErrorCode() == "GoneResourceException")
                                    {
                                        resetOnGoingPopup = true;
                                        UpdateOnly("resetOnGoingPopup");
                                        Debug.Log("Login Failed GoneResourceException");
                                        return;
                                    }

                                    AfterAuthCallback(false);
                                }
                            };
                        });



계정을 탈퇴하고 재접속했을 때, 탈퇴한 계정이라면 '계정 초기화까지 1시간이 소요됩니다.'라는 피드백을 주려고 합니다.

이를 위해 플레이어가 뒤끝에 접속할 때, 탈퇴한 계정으로 접속할 경우 예외처리를 시도했습니다.

그러나, 예외처리가 되지 않고 앱이 크래시(강제 종료)됩니다.

계정 탈퇴는 아래의 코드를 사용합니다.

Backend.BMember.DeleteGuestInfo();
Backend.BMember.WithdrawAccount();
Backend.BMember.RefreshTheBackendToken();

탈퇴한 계정(정확히는, 탈퇴 후 삭제가 진행중인 계정)으로 접속할 경우 앱이 크래시 되는 이유를 알 수 없습니다.

이 부분에 대해 도움을 주실 수 있나요?

안녕하세요 개발자님,
뒤끝 초기화를 할 때 Initialize(true)를 해주지 않으면,
뒤끝 함수 호출 이후에 이루어지는 콜백 함수는 전부 다른 쓰레드에서 발생하게 됩니다.

유니티 UI는 메인쓰레드에서만 작동하므로, 콜백함수에서 유니티 UI의 기능을 사용할 경우에는 Excpetion이 발생하게 됩니다.
따라서 Initialize(true)를 통해 콜백 함수를 메인쓰레드에서 실행하도록 구성해 주시면 감사하겠습니다.