playgameservices / play-games-plugin-for-unity

Google Play Games plugin for Unity
Other
3.46k stars 966 forks source link

Unable to log into Google Play Services recieving ERROR_NOT_AUTHORIZED #2423

Closed DanWestonCode closed 5 years ago

DanWestonCode commented 5 years ago

Log cat shows these two log lines in my platform.Authenticate callback (OnAuthenticate).

01-21 16:46:21.189 8862 8883 I Unity : [Play Games Plugin DLL] 01/21/19 16:46:21 +00:00 DEBUG: Starting Auth Transition. Op: SIGN_IN status: ERROR_NOT_AUTHORIZED 01-21 16:46:21.189 8862 8883 I Unity : [Play Games Plugin DLL] 01/21/19 16:46:21 +00:00 DEBUG: AuthState == Unauthenticated calling auth callbacks with failure

This issue started happening randomly for me. I integrated my project successfully last month and at the beginning of this month started seeing this on newer builds.

When the game launches the GPS green box appears and starts to load, however, when it comes to selecting the user, the box closes and I see the above log lines in the console.

Steps I have taken to try and resolve thus far:

I have also tried updating my Unity version, I am seeing this issue for my project on Unity 2018.2.2 to version .19. I've also updated to 2018.3.0 and tried .1 and .2. I started getting this issue on GPS plugin 0.9.57 and upgraded to .58 today, still receiving the same issue.

KANT0S commented 5 years ago

Same @Unity_2018.3.2f1 / Play plugin 0.9.58

DanWestonCode commented 5 years ago

An update from today on this, I've changed my app store listing to use the Google Play signing and uploaded my signing key from Unity to GPS. I did this as I noticed a lot of posts recommend double checking the signed SHA-1 keys which I could not do. Unfortunately this has not solved my problem. Can anyone help or make any more suggestions? This is my main bottle neck currently for launching my app!

KANT0S commented 5 years ago
  1. cleanup your project (Delete Library,Logs,obj,Packages,Temp folders)
  2. delete GooglePlayGames, PlayServicesResolver, Plugins/Android folders from assets folder
  3. start unity again and switch to android
  4. re-import the newest play-games-plugin-for-unity
  5. setup GPG (window->GPG)
  6. force resolve (Assets-> Play Service Resolver->Android->Force Resolve)

works for me

DanWestonCode commented 5 years ago
1. cleanup your project (Delete Library,Logs,obj,Packages,Temp folders)

2. delete GooglePlayGames, PlayServicesResolver, Plugins/Android folders from assets folder

3. start unity again and switch to android

4. re-import the newest play-games-plugin-for-unity

5. setup GPG (window->GPG)

6. force resolve (Assets-> Play Service Resolver->Android->Force Resolve)

works for me

I followed your steps and unfortunately it didn't work for me 😞

KANT0S commented 5 years ago

remove ".EnableSavedGames()" from playclientconfig

PlayGamesClientConfiguration config = new PlayGamesClientConfiguration.Builder() // requests the email address of the player be available. // Will bring up a prompt for consent. .RequestEmail() // requests a server auth code be generated so it can be passed to an // associated back end server application and exchanged for an OAuth token. .RequestServerAuthCode(false) //// requests an ID token be generated. This OAuth token can be used to //// identify the player to other services such as Firebase. .RequestIdToken() .Build();

    PlayGamesPlatform.InitializeInstance(config);
    // recommended for debugging:
    PlayGamesPlatform.DebugLogEnabled = true;
    // Activate the Google Play Games platform
    PlayGamesPlatform.Activate();
DanWestonCode commented 5 years ago

remove ".EnableSavedGames()" from playclientconfig

PlayGamesClientConfiguration config = new PlayGamesClientConfiguration.Builder() // requests the email address of the player be available. // Will bring up a prompt for consent. .RequestEmail() // requests a server auth code be generated so it can be passed to an // associated back end server application and exchanged for an OAuth token. .RequestServerAuthCode(false) //// requests an ID token be generated. This OAuth token can be used to //// identify the player to other services such as Firebase. .RequestIdToken() .Build();

    PlayGamesPlatform.InitializeInstance(config);
    // recommended for debugging:
    PlayGamesPlatform.DebugLogEnabled = true;
    // Activate the Google Play Games platform
    PlayGamesPlatform.Activate();

Thanks, I saw another posted yesterday in regards to having this enabled in the config. I had already tried removing it and making a build and still was faced with the error. I will remove it and repeat the steps you outlined and see if it brings any luck... Unfortunately for me Cloud saved data is a biggie in my project and the main reason why I chose this plugin. (I 100% definitely have the Save Games check box checked on GPS portal for my app....)

KANT0S commented 5 years ago

Did you check your confirmation status?

DanWestonCode commented 5 years ago

The confirmation for the store listing? Should be fine, I've had it up for internal testing for several months, completed the GPS end of last month... Like I said in the op this was all working before I took a Christmas break

DanWestonCode commented 5 years ago

This morning I published my Google Play Services section for the game and now everything is working. I don't understand why it was working without this before but now it's all good...