구글 로그아웃

문의를 남기실 경우 다음 항목을 작성해 주시면 빠른 답변 처리에 도움이 됩니다.

  • 프로젝트명 :

  • 뒤끝SDK 버전 :

  • 에러 코드 :

    public void OnLogOut()
    {
    BackendReturnObject BRO = Backend.BMember.Logout();

      if (BRO.IsSuccess())
      {
          LogoutGoogle();
      }
    

    }
    public void LogoutGoogle()
    {
    if(PlayGamesPlatform.Instance.IsAuthenticated() == true)
    {
    PlayGamesPlatform.Instance.SignOut();
    PlayGamesPlatform.Activate();
    }
    }

OnLogOut() 을 호출하여 로그아웃을 진행하는데 반응이 없습니다…
GPGS를 사용하여 구글 로그인을 진행하는데
버튼을 누르면 구글 계정을 바꿀 수 있게하고 싶습니다
글을 쓰다보니 뒤끝과 관련이 없는 질문인가 싶기두 한데 답답한 마음에 질문을 올려봅니다!

로그아웃이 안된다는 것인지 로그아웃 후에 다시 로그인이 안된다는것인지 잘 모르겠습니다…

혹시 로그아웃이 안된다는것이면

PlayGamesPlatform.Instance.SignOut(); 을
((PlayGamesPlatform)Social.Active).SignOut(); 으로 바꿔보시고

로그아웃을 하는 상황이시라면 이미 로그인을 했다는것일텐데 로그인을 하셨다는것은 GPGS를 이미 초기화하신 상황이고

로그아웃 후에 PlayGamesPlatform.Activate();로 GPGS를 다시 초기화 하시는 이유는 따로 있을까요??
저도 확실히 잘 아는게 아니라서…

로그아웃 하신 후에 다시 로그인 함수를 실행시키시면 로그인 창이 안뜨나요?

로그 찍어보니
뒤끝 로그아웃 코드에서 Success()를 받아오지 못하는것같아요

public void OnLogOut()
{
BackendReturnObject BRO = Backend.BMember.Logout();

  if (BRO.IsSuccess())
  {
      LogoutGoogle();
  }

}

뒤끝 로그인은 페더레이션으로 하시나요?

뒤끝 로그아웃에서 에러 메시지나 스테이터스 코드는 뭐라고 나오나요?

에러 401 잘못된 signature 입니다 이라고 되어있습니다
로그아웃은 따로 에러 없는줄 알았는데 있나봐요 ㅠ

로그인은 어떤식으로 하시나요?

public void GoogleAuth()
{
    if(PlayGamesPlatform.Instance.localUser.authenticated == false)
    {
        Social.localUser.Authenticate(success =>
        {
            if(success == false)
            {
                LobbyManager.instance.SetNotice("구글 로그인 실패");
                return;
            }

            //로그인 성공
            OnClickGPGSLogin();
        });
    }
    else
    {
        OnClickGPGSLogin();
    }
}

public void OnClickGPGSLogin()
{
    BackendReturnObject BRO = Backend.BMember.AuthorizeFederation(GetTokens(), FederationType.Google, "gpgs로 만든계정");
    if (BRO.IsSuccess())
    {
        Debug.Log("구글 토큰으로 뒤끝서버 로그인 성공 - 동기 방식-");
        OnClickCheckUserAuth();
        LobbyManager.instance.OnLogin();
    }

}

듀토리얼 영상대로 따라했어요 ㅎㅎ

안녕하세요 개발자님

로그아웃의 경우 성공한다면

statusCode : 204
message : Success

가 리턴되고, bro.IsSuccess()도 true로 리턴이 되게 됩니다.

401 bad signature의 경우 클라이언트의 저장된 시그니처 키와 뒤끝 콘솔에서 발급받은 시그니처 키가 다르거나, 클라이언트 시간 값 등이 잘못되는 등의 경우 호출이 될 수 있습니다.

다만 일반적인 경우에 로그아웃 할 때 해당 에러는 발생할 수 없는데요,

SDK를 5.0.0 미만 버전을 사용하고 계신다면

유니티 프로젝트 내 BackEnd 폴더를 완전히 삭제하신 후

5.0.0 SDK를 새로 적용하신 후 ClientAppID와 SignatureKey를 다시 설정하신 후

유니티를 재시작 하고 다시 테스트를 해보실 수 있을까요??

만약 커스텀 로그인 기능을 사용하고 계신다면 에디터 상에서 커스텀 로그인을 하신 후 로그아웃이 되는 것을 확인 하신 후 빌드하여 안드로이드 상에서 테스트 부탁드리겠습니다.

추가로
SDK를 삭제 후 다시 적용하는 경우, 이전 버전 SDK 정보가 메모리 상의 남아있어 유니티가 오동작 하는 경우가 있어

SDK 설치 후 이상한 에러가 발생하거나, 비주얼 스튜디오 상에서 함수에 빨간 에러가 발생하는 경우 유니티 및 비주얼 스튜디오를 완전히 종료 후 다시 시작하는 경우 해당 에러가 픽스 될 수 있습니다.

SDK 버전 5.0.0 으로 업그레이드 하고서 작동합니다!
감사합니다 ㅎㅎㅎㅎㅎㅎㅎ

좋아요 1