- 뒤끝 SDK 버전 : 5.8.0.
gpgs 로그인이 예전에는 잘 됐던 것 같은데…
게스트로그인으로 쭉 개발하다가 gpgs로 해보려고 하니…
PlayGamesPlatform.Instance.localUser.authenticated 이 부분부터 안되네요…
Social.localUser.Authenticate((bool success) 이 부분도 false가 뜹니다.
gpgs인증 예제에서 혹시 놓친게 있나 싶어서 몇 번을 반복해서 찬찬히 다시 살펴봤는데 특이점을 못 찾았습니다.
다른 점이 있다면, 구글 플레이 콘솔에서 Play 게임즈 서비스 - 설정 및 관리 - 테스터 탭에서
출시 트랙 추가가 안 되네요… 이것도 왜 추가가 안되는지 이유를 모르겠습니다.
혹시 이것 때문에 안되는 건지 아니면 다른 이유가 있는 건지 잘 모르겠어요 ㅠㅠ
- 유니티, 핸드폰 등에서 테스트 하고 있습니다.
- 문의게시판에서 테스터가 세군데 일치해야 한다고 해서 내부테스터, Play게임즈 테스터, 구글클라우드플랫폼 테스터도 두명씩 똑같이 입력했어요.
- Google Play Games Services Plugin도 10.14. 버전입니다.
며칠 머리싸매다가 답이 안보여서 문의합니다!
public string GetTokens()
{
if (PlayGamesPlatform.Instance.localUser.authenticated)
{
// 유저 토큰 받기 첫 번째 방법
string _IDtoken = PlayGamesPlatform.Instance.GetIdToken();
Debug.Log("유저 토큰 : " +_IDtoken);
GameManager.GetInstance().AlertText(_IDtoken);
// 두 번째 방법
// string _IDtoken2 = ((PlayGamesLocalUser)Social.localUser).GetIdToken();
// Debug.Log("유저 토큰 : " + _IDtoken2);
// GameManager.GetInstance().SuccessText(_IDtoken2);
return _IDtoken;
}
else
{
//PlayGamesPlatform.Instance.localUser.authenticated : fail
Debug.Log("현재 구글로그인을 할 수 없는 상태입니다. (인터넷 상태를 확인해주세요)");
GameManager.GetInstance().AlertText("현재 구글로그인을 할 수 없는 상태입니다. (인터넷 상태를 확인해주세요)");
return null;
}
}
public void OnClickGPGSLogin()
{
Debug.LogWarning("OnClickGPGSLogin 클릭");
// 이미 로그인 된 경우
if (Social.localUser.authenticated == true)
{
BackendReturnObject BRO = Backend.BMember.AuthorizeFederation(GetTokens(), FederationType.Google, "gpgs");
}
else
{
Debug.LogWarning("로그인 되어 있지 않음.");
Social.localUser.Authenticate((bool success) =>
{
Debug.Log("success authenticate = " + success);
// 로그인 성공 -> 뒤끝 서버에 획득한 구글 토큰으로 가입 요청
BackendReturnObject BRO = Backend.BMember.AuthorizeFederation(GetTokens(), FederationType.Google, "gpgs");
if (success)
{
Debug.LogWarning("구글 로그인에 성공했습니다");
GameManager.GetInstance().SuccessText("구글 로그인에 성공했습니다");
//유저의 닉네임이 있는지 확인
string nickName = Backend.UserNickName;
Debug.Log("nickName: " + nickName);
if (nickName == "")
{
Debug.LogWarning("닉네임부터 설정해야 합니다.");
BackendInitialize.GetInstance().preSceneUIManager.NicknameScreen();
}
else
{
Debug.LogWarning("자동 로그인에 성공했습니다");
BackendInitialize.GetInstance().preSceneUIManager.ReadyToStart();
}
}
else
{
// 로그인 실패
switch (BRO.GetStatusCode())
{
case "200":
Debug.Log("이미 회원가입된 회원");
GameManager.GetInstance().AlertText("이미 회원가입된 회원");
break;
case "403":
GameManager.GetInstance().AlertText("차단된 회원, 사유: " + BRO.GetErrorCode());
Debug.Log("차단된 회원, 사유: " + BRO.GetErrorCode());
break;
default:
GameManager.GetInstance().AlertText("서버 공통 에러: " + BRO.GetMessage());
Debug.Log("서버 공통 에러: " + BRO.GetMessage());
Debug.Log("서버 공통 에러: " + BRO.GetErrorCode());
break;
}
return;
}
});
}
}
- 에러 코드 :
현재 구글로그인을 할 수 없는 상태입니다. (인터넷 상태를 확인해주세요)
서버 공통 에러: undefined access_token, access_token을(를) 확인할 수 없습니다
서버 공통 에러: UndefinedParameterException
- 에러 메시지 :