소셜 로그인/소셜로그인 - Solution

Unity3D 팀프 21.07.07. GPGS로그인 연동 SignInRequired 이슈

HappyFrog 2021. 7. 7. 11:03

업로드 키서명, 테스터 등록, 동의화면 구성, 앱버전까지 모두 조율하고 출시를 했는데 권한이 필요하다고 뜨는 이슈

버전은 잘 나오는데 로그인이 필요하다고 나온다. 난 권한 다 허용했는데... / ADB에도 결과 Success가 뜨지 않는다.

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가 없기때문에 해당 부분만 빼서 사용했다. 

 

 


* 결론 테스터 등록 후 테스터가 동의해야 해당 내부테스트를 진행할 수 있다.