C# – Google Play Games Service : ERROR_NOT_AUTHORIZED, when rollout for Beta

androidcgoogle-play-services

Google Play Games Service : SIGN_IN status: ERROR_NOT_AUTHORIZED, when rollout for Beta.
And also this :-

W Auth    : [GetToken] GetToken failed with status code: UNREGISTERED_ON_API_CONSOLE
E TokenRequestor: You have wrong OAuth2 related configurations, please check. Detailed error: UNREGISTERED_ON_API_CONSOLE

If i Build and Run Directly from Unity , everything works fine.
But When i Rollout a Beta, it shows Sign In Google green box with a loading circle (then accounts -> select beta tester Email), and then nothing.

Using :-

  • GooglePlayGamesPlugin-0.9.38a
  • unity 5.6.03
  • sdk components updated rev 40 , rev 51

Things i did :-

  1. Created a new application google play console
  2. added apk, made beta and then production rollout.
  3. later i added play game services in new update , made beta rollout.
  4. note – all apk , rollout use same keystore and package name.
  5. Google Play Console -> Release Management -> App signing : Upload
    certificate SHA1 is same as Google API -> Project -> Client ID for
    Android SHA1

Play game settings :-

  • Beta tester Emails : Open
  • game save data : off
  • Testing emails : emails added
  • testing for Alpha and Beta : both tick (green)

Following log :

05-23 12:55:44.400 28917 29002 I GamesNativeSDK: Auth operation started: SIGN IN

05-23 12:55:44.400 28917 29002 I GamesNativeSDK: Connecting to Google Play...

05-23 12:55:44.522 28917 28948 W Unity : !!! [Play Games Plugin DLL] 05/23/17 12:55:44 +05:30 WARNING: Creating new PlayGamesPlatform

05-23 12:55:44.522 28917 28948 W Unity :

05-23 12:55:44.522 28917 28948 W Unity : (Filename: ./artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)

05-23 12:55:44.522 28917 28948 W Unity :

05-23 12:55:44.522 28917 28948 I Unity : [Play Games Plugin DLL] 05/23/17 12:55:44 +05:30 DEBUG: Activating PlayGamesPlatform.

05-23 12:55:44.523 28917 28948 I Unity : [Play Games Plugin DLL] 05/23/17 12:55:44 +05:30 DEBUG: PlayGamesPlatform activated: GooglePlayGames.PlayGamesPlatform

05-23 12:55:44.523 28917 28948 I Unity : [Play Games Plugin DLL] 05/23/17 12:55:44 +05:30 DEBUG: Creating platform-specific Play Games client.

05-23 12:55:44.523 28917 28948 I Unity : [Play Games Plugin DLL] 05/23/17 12:55:44 +05:30 DEBUG: Creating Android IPlayGamesClient Client

05-23 12:55:44.523 28917 28948 I Unity : [Play Games Plugin DLL] 05/23/17 12:55:44 +05:30 DEBUG: Starting Auth Transition. Op: SIGN_IN status: ERROR_NOT_AUTHORIZED

05-23 12:55:44.523 28917 28948 I Unity : [Play Games Plugin DLL] 05/23/17 12:55:44 +05:30 DEBUG: Invoking callbacks, AuthState changed from silentPending to Unauthenticated.

05-23 12:55:44.523 28917 28948 I Unity : [Play Games Plugin DLL] 05/23/17 12:55:44 +05:30 DEBUG: there are pending auth callbacks - starting AuthUI

C# Code :

     using UnityEngine;
     using GooglePlayGames;
     using GooglePlayGames.BasicApi;
     using UnityEngine.SocialPlatforms;

     public class PlayGameManger : MonoBehaviour {

         public static PlayGameManger Instance{ set; get;}
         public bool isLogedIn;
         void Awake () {
             if (Instance == null) {
                 Instance = this;
                 isLogedIn = false;
                 PlayGamesClientConfiguration config = new PlayGamesClientConfiguration.Builder ().Build();
                 PlayGamesPlatform.InitializeInstance (config);
                 PlayGamesPlatform.DebugLogEnabled = true;
                 PlayGamesPlatform.Activate ();
                 SignIn ();
                 DontDestroyOnLoad (gameObject);
             } else {
                 Destroy (gameObject);
             }
         }

         public void SignIn(){
             if (isLogedIn == false) {
                 Social.localUser.Authenticate (success => {
                     isLogedIn = success;
                     //Debug.Log("Signin : "+success);
                 });
             }
         }
 // Achievements and other code here
 }

Help,
thanks 🙂

Best Answer

Everything is working now. It was not working due to Google App Signing enabled, i guess we have to do some changes to AndroidManifest.xml for Google Play Games Services to work see here :- https://support.google.com/googleplay/android-developer/answer/7384423 but solution given below also works fine.

[SOLVED]

What i did :-

  1. Google Play Console -> Select your app -> Release Management -> App signing -> App signing certificate : copy SHA-1 (dont copy word 'SHA1:')

  2. open https://console.developers.google.com/ , select your project -> credentials -> OAuth 2.0 client IDs -> Edit OAuth client -> Signing-certificate fingerprint -> replace the old SHA1 with copied SHA1 ->save.

  3. open you game, you should get sign in -> email selection -> select testers email. Google Play Games Services should work fine now.

Related Topic