소셜 로그인/소셜로그인 - Solution
Unity3D 팀프 21.07.07. GPGS로그인 연동 SignInRequired 이슈
HappyFrog
2021. 7. 7. 11:03
업로드 키서명, 테스터 등록, 동의화면 구성, 앱버전까지 모두 조율하고 출시를 했는데 권한이 필요하다고 뜨는 이슈



Google Play Console에서 자꾸 구글플레이게임의 SDK가 APK에 접근할 수 있도록 설정하래서 API를 찾아봤더니 위와 같은 주의사항이 존재했다.

그래서 위 사진에서 보이듯 내부테스트 - 테스터 - 테스터 등록 - 테스트 참여방법의 링크복사를 통해 해당 테스터에게 링크를 전송했다.

링크를 타고 들어가면 해당 사진과 같은 창이 뜰 것이고 '프로그램 종료' 버튼은 테스트 참여버튼일 것이다.
테스트참여를 눌러주면 이제 정식으로 해당 앱의 테스터가 된 것이다.
이 후 다시 앱버전을 올려 출시하고 실행해봤다.

App씬이 정상적으로 넘어가며 로그인이 된다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using GooglePlayGames;
using GooglePlayGames.BasicApi;
using UnityEngine.SocialPlatforms;
using UnityEngine.SceneManagement;
public class App : MonoBehaviour
{
public enum ePlayMode
{
Test, Build
}
public Text version;
public Text txtState;
public Button btnStart;
public ePlayMode playMode;
void Start()
{
DontDestroyOnLoad(this);
DontDestroyOnLoad(this.version);
this.version.text = Application.version;
Debug.Log("==================== Init GPGS");
PlayGamesClientConfiguration config = new PlayGamesClientConfiguration.Builder()
.RequestIdToken()
.Build();
PlayGamesPlatform.InitializeInstance(config);
PlayGamesPlatform.DebugLogEnabled = true;
PlayGamesPlatform.Activate();
Debug.Log("==================== Authenticate");
PlayGamesPlatform.Instance.Authenticate(SignInInteractivity.CanPromptOnce, (result) => {
this.txtState.text = result.ToString();
if (result == SignInStatus.Success)
{
var localUser = (PlayGamesLocalUser)Social.localUser;
var googleIdToken = localUser.GetIdToken();
Debug.LogFormat("googleIdToken: {0}", googleIdToken);
SceneManager.LoadScene("Logo");
}
});
}
}
코드는 이전에 GPGS로그인에서 사용했던 코드에서 아직 firebase가 없기때문에 해당 부분만 빼서 사용했다.
* 결론 테스터 등록 후 테스터가 동의해야 해당 내부테스트를 진행할 수 있다.