SDK 업데이트 후 구글 로그인문제

5.5.0 버전 사용할때 구글로그인을 시도하여 회원가입 진행이 잘되었는데요.

5.5.2 버전으로 업그레이드를 한후

같은 기종에서 구글로그인 테스트를 위해 구글로그인 회원가입을 시도하였을때

진행이 되지않습니다.

일부 모델들에서 이러한 현상이 일어나는것으로 보입니다.

최신기종 S21 , 폴드2 같은 기종에서 이와 같은 현상이 발생하고있습니다.

타기종에서 구글로그인을 통한 회원가입을 진행한 계정으로

로그인 시도시 정상 로그인이 되는것으로보아 회원가입쪽에서 문제가있는것같습니다

안녕하세요 개발자님.

확인을 위해 함수의 이름과 에러 코드, 메세지, 스테이터스 코드 공유 부탁드립니다.
또한 해당 에러가 발생중인 프로젝트의 이름도 함께 부탁드리겠습니다.

프로젝트 이름은 스쿨레쉬맨 : 방치형키우기 입니다.

1634890342412-22
1634890342412-12
1634890342412-02

사용했던 코드내용은 아래와같습니다.
추가로 다른 접속가능한 기기나 앱플레이어에서 로그인 및 회원가입했던 구글계정으로
문제의 기기에 시도시 정상 작동을 합니다.

public void GpgsLogin()
{
Debug.Log(“로그인 시도”);
loginPopup.SetActive(true);
count = 30;
//이미 로그인된 경우
if (UnityEngine.Social.localUser.authenticated == true)
{
Debug.Log(“if in”);
BackendReturnObject bro = Backend.BMember.AuthorizeFederation(GetToken(), FederationType.Google, “gpgs”);
if (bro.IsSuccess())
{
BackendReturnObject nick = Backend.BMember.GetUserInfo();
if (nick.GetReturnValuetoJSON()[“row”][“nickname”] == null)
{

                    SceneManager.LoadScene("CreatNickname");
                }
                else
                {
                    SceneManager.LoadScene("Loading");
                }
            }
        }
        else
        {
            Debug.Log("if else");
            UnityEngine.Social.localUser.Authenticate((bool success) =>
            {
                Debug.Log("bool success");
                if (success)
                {
                    //로그인성공 -> 뒤끝 서버에 획득한 구글 토큰으로 가입 요청
                    BackendReturnObject bro =
                        Backend.BMember.AuthorizeFederation(GetToken(), FederationType.Google, "gpgs");
                    if (bro.IsSuccess())
                    {
                        BackendReturnObject nick = Backend.BMember.GetUserInfo();
                        if (nick.GetReturnValuetoJSON()["row"]["nickname"] == null)
                        {
            
                            SceneManager.LoadScene("CreatNickname");
                        }
                        else
                        {
                            SceneManager.LoadScene("Loading");
                        }
                    }
                }
                else
                {
                    Debug.Log("로그인 실패");
                    StartCoroutine(PopUpFalse());
                }
            });
        }
    }

public string GetToken()
{
if (PlayGamesPlatform.Instance.localUser.authenticated)
{
string idToken = PlayGamesPlatform.Instance.GetIdToken();
Debug.Log(idToken);
return idToken;
}
else
{
Debug.Log(“접속되어 있지 않습니다.”);
return null;
}
}

확인해본 결과, 해당 API-30 이상인 모바일의 로그인 관련 실패 로그는 확인되지 않으며,
해당 에러는 GPGS 플러그인에서 문제가 발생하는 것으로 확인이 됩니다.

아래 코드를 호출하여 GPGS에서 구글 로그인을 진행하던 도중 Authentication canceled라는 에러가 발생하고,
success값이 false로 나와 "로그인 실패"문구가 출력되는 것으로 추정됩니다.

UnityEngine.Social.localUser.Authenticate((bool success) =>
            {
                Debug.Log("bool success");
                if (success)
                {
                }
                else
                {
                    Debug.Log("로그인 실패");
                    StartCoroutine(PopUpFalse());
                }
            });

구글 로그인 과정이 정상적으로 진행되었는지 확인해주시고(유니티에 입력되는 webCliendId, GPGS에 등록되는 GCP의 Android 키등이 올바르게 연결되었는지), 과정이 정상적으로 진행이 되었다면 Backend.BMember.AuthorizeFederation에서 사용되는 GetToken()의 리턴값이 null이 아닌지, bro가 성공했는지 확인해주시기 바랍니다.

BackendReturnObject bro = Backend.BMember.AuthorizeFederation(GetToken(), FederationType.Google, “gpgs”);

노트10 미만의 기기에서는 최초가입자도 회원가입이 가능한데
설정에 문제가있는건가요?

문제가있는 기기에서의 토큰값은 null 로 나온것으로 확인이 됩니다

어떤기기에서는 잘되는데
주변인중 최신기기를 사용하는사람들은 대부분 로그인실패가되어 당황스럽네요;;

안녕하세요 개발자님.

GPGS 플러그인은 외부 플러그인이라 정확한 답변을 드리기 어렵지만 최신 기기를 위한 설정은 따로 존재하지 않는 것으로 파악됩니다.

저번 문의때 OAUTH를 다시 생성하셨다고 하셨는데 이후 웹클라이언트 아이디와 등록된 2개의 안드로이드키를 다시 생성하였고, 웹클라이언트키와 리소스를 유니티의 GPGS 설정창에 다시한번 입력했는지 확인해 주세요.

또한 테스트 기기중 로그인이 되지 않을 경우, 안드로이드 스튜디오의 로그캣등을 이용한 상세한 에러를 확인해주시기 바랍니다.