애플에서 구글 로그인 오류 문의

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

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

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

  • 뒤끝 SDK 버전 : 5.11.9

  • 프로젝트명 : Dust Adventure

  • 스테이터스 코드 :

  • 에러 코드 :

  • 에러 메시지 :

  • 구글 로그인 SDK (iOS) 버전 : 2.1.0

  • 구글 로그인 SDK (Android) 버전 : 2.2.0

안녕하세요.
뒤끝 구글 SDK를 이용해서 iOS에서 구글 로그인을 구현하였습니다.

빌드도 정상적으로 되고, 구글 로그인만 사용 안한다면 게임 내 플레이는 전혀 문제가 없습니다.
xCode에서 Run으로 USB 연결을 진행한 상태로 테스트를 해보았을때

구글 로그인을 시도하면, 웹뷰가 뜨고 구글 로그인을 하고, 권한 ‘허용’ 버튼을 누르면
한 1~2초 뒤에 아래와 같이 xCode에서 에러가 발생합니다.

저 부분에서 멈추고 더이상 진행이 안됩니다.

어떤 것을 수정해야 하는지 감이 안잡힙니다.
도움이 필요합니다.

안녕하세요, 개발자님.
아래의 개발자 문서를 참고하여 iOS URL 스키마가 제대로 설정되어 있는지 확인해 보시기 바랍니다.
설정에 문제가 없는 경우에는 구글 로그인 이후 콜백에 Debug.Log만 출력하고 다른 로직은 없도록 해주세요.
콜백에서 null이 발생하는 경우 해당 부분에서 에러가 발생할 수 있습니다.
감사합니다.

안녕하세요.

xCode 설정은 전부 잘 되어 있는 상태입니다.

코드는 아래와 같이 사용중입니다.

콜백에 다른 로직이 없다면 그 이후 로그인 기능을 구현을 할 수 없는데,
지금은 오류 확인을 위해 말씀을 주신걸까요?

유니티의 디버그도 나오지 않고 바로 죽는 상황입니다.

네, 개발자님.
테스트를 위해 Debug.Log만 부탁드립니다.
추가로 try catch 내부에 해당 함수를 호출할 수 있게끔 만들어주시면 감사하겠습니다.

안녕하세요.
말씀주신대로 테스트를 위해 Debug를 심어서 확인해보니
TheBackend.ToolKit.GoogleLogin.iOS.GoogleLogin 는 정상처리 되고 있습니다.
token도 정상적으로 발급되어 log에 나옵니다.

그런데 그 내에서 Backend.BMember.AuthorizeFederation 함수가 정상 작동 안하고 있습니다.
혹시나 SendQueue를 사용해서 문제가 발생하는 것인가 해서 동기식으로 해보아도
위 첫 글과 같은 동일한 에러가 발생합니다.

추가로, TheBackend.ToolKit.GoogleLogin.Android.GoogleLogin를 통해 안드로이드에서 로그인 이후 Backend.BMember.AuthorizeFederation 함수를 호출했을 때에는 문제 없습니다.

내부 테스트 과정에서는 에러가 확인되지 않고 있는데요,
아래 안내드리는 형태로도 호출이 가능한지 확인 요청드립니다.

public void Login()
    {
        TheBackend.ToolKit.GoogleLogin.iOS.GoogleLogin((bool isSuccess, string errorMessage, string token) =>
        {
            StartCoroutine(StartLogin(isSuccess, errorMessage, token));
        }) ;
    }

    private IEnumerator StartLogin(bool isSuccess, string errorMessage, string token)
    {
        if (isSuccess == false)
        {
            Debug.LogError(errorMessage);
            yield break;
        }

        Backend.BMember.AuthorizeFederation(token,FederationType.Google, callback =>
        {

        });
    }

안녕하세요. 답변이 늦어져서 죄송합니다.

말씀주신대로 별개의 코루틴을 제작해서 동일하게 코드를 진행했는데 여전히 동일한 지점에서 오류가 발생합니다…

개발자님, 확인하여 안내드리도록 하겠습니다.
시간 양해 부탁드립니다.

좋아요 1

답변이 오래 지연되어 죄송합니다.
내부에서 테스트 진행 시 오류 현상이 재현되지 않고 있습니다.

새로운 빈 프로젝트를 통해서 테스트를 진행하였을 때도 동일 에러가 발생하는지 확인해주실 수 있을까요?

  1. Backend-5.11.9 설치
  2. Backend-GoogleLogin-SDK-iOS 설치
  3. The Backend Settings > Edit Settings 값 입력
  4. Toolkit > GoogleLogin > iOS > 값 입력

테스트 코드

public void StartGoogleLogin() {
    TheBackend.ToolKit.GoogleLogin.iOS.GoogleLogin(GoogleLoginCallback);
}
private void GoogleLoginCallback(bool isSuccess, string errorMessage, string token) {
    if (isSuccess == false) {
        Debug.LogError(errorMessage);
        return;
    }
    Debug.Log("구글 토큰 : " + token);
    var bro = Backend.BMember.AuthorizeFederation(token, FederationType.Google);
    Debug.Log("페데레이션 로그인 결과 : " + bro);
}

안녕하세요.
먼저 오랜 기간동안 찾아봐 주시려고 확인해주셔서 감사합니다.

빈 프로젝트에서 정상 구동되어서 저희 코드를 하나씩 빼면서 진행해보았습니다.

그런데 알고보니 구글 로그인이 문제가 아니라, 뒤끝 앱 푸쉬 등록 ( Backend.iOS.PutDeviceToken )에서 오류가 발생하고 있었습니다.

우선 구글 로그인 관련은 해결되었습니다.
감사합니다.

좋아요 1