playgameservices / play-games-plugin-for-unity

Google Play Games plugin for Unity
Other
3.45k stars 962 forks source link

Sign Fail #1354

Closed LinShihSiang closed 7 years ago

LinShihSiang commented 8 years ago

Hi, I have an issue about authenticate with Google. When I login goolge account, then click allow to authenticate. The web view return to my application success, but it sign in fail.

Log:

2016-09-01 15:57:43.721 projectHB[8876:7104216] -> registered mono modules 0x1012e0a30
2016-09-01 15:57:43.856 projectHB[8876:7104216] You've implemented -[<UIApplicationDelegate> application:didReceiveRemoteNotification:fetchCompletionHandler:], but you still need to add "remote-notification" to the list of your supported UIBackgroundModes in your Info.plist.
-> applicationDidFinishLaunching()
-> applicationDidBecomeActive()
Init: screen size 750x1334
Initializing Metal device caps
Initialize engine version: 5.3.4f1 (fdbb5133b820)
UnloadTime: 1.107875 ms
 [Play Games Plugin DLL] 09/01/16 15:57:44 +08:00 DEBUG: Activating PlayGamesPlatform.
GooglePlayGames.PlayGamesPlatform:Activate()
CubicPilot.GameLogic.GameManager:Authenticate()
CubicPilot.Gui.MainMenuEvents:Start()

(Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

 [Play Games Plugin DLL] 09/01/16 15:57:44 +08:00 DEBUG: PlayGamesPlatform activated: GooglePlayGames.PlayGamesPlatform
GooglePlayGames.PlayGamesPlatform:Activate()
CubicPilot.GameLogic.GameManager:Authenticate()
CubicPilot.Gui.MainMenuEvents:Start()

(Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

 [Play Games Plugin DLL] 09/01/16 15:57:44 +08:00 DEBUG: SetDefaultLeaderboardForUI: PLACEHOLDER
GooglePlayGames.PlayGamesPlatform:SetDefaultLeaderboardForUI(String)
CubicPilot.GameLogic.GameManager:Authenticate()
CubicPilot.Gui.MainMenuEvents:Start()

(Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

 [Play Games Plugin DLL] 09/01/16 15:57:44 +08:00 DEBUG: Creating platform-specific Play Games client.
GooglePlayGames.PlayGamesPlatform:Authenticate(Action`1, Boolean)
CubicPilot.GameLogic.GameManager:Authenticate()
CubicPilot.Gui.MainMenuEvents:Start()

(Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

 [Play Games Plugin DLL] 09/01/16 15:57:44 +08:00 DEBUG: Creating IOS IPlayGamesClient
GooglePlayGames.PlayGamesClientFactory:GetPlatformPlayGamesClient(PlayGamesClientConfiguration)
GooglePlayGames.PlayGamesPlatform:Authenticate(Action`1, Boolean)
CubicPilot.GameLogic.GameManager:Authenticate()
CubicPilot.Gui.MainMenuEvents:Start()

(Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

Building GPG services, implicitly attempts silent auth
GooglePlayGames.Native.NativeClient:InitializeGameServices()
GooglePlayGames.Native.NativeClient:Authenticate(Action`1, Boolean)
CubicPilot.GameLogic.GameManager:Authenticate()
CubicPilot.Gui.MainMenuEvents:Start()

(Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

2016-09-01 15:57:44.629 projectHB[8876:7104345] INFO: Auth operation started: SIGN IN
 [Play Games Plugin DLL] 09/01/16 15:57:44 +08:00 DEBUG: Starting Auth Transition. Op: SIGN_IN status: ERROR_NOT_AUTHORIZED

(Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

Invoking callbacks, AuthState changed from silentPending to Unauthenticated.

(Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

there are pending auth callbacks - starting AuthUI

(Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

2016-09-01 15:57:44.657 projectHB[8876:7104345] INFO: Auth operation started: SIGN IN
2016-09-01 15:57:44.721 projectHB[8876:7104216] Got Token for APNS: <ccefb0f5 9db1e82e 51fb131f 6ff638f1 624a811c e8d8c216 a8895fa1 f01366b9>
2016-09-01 15:57:44.721 projectHB[8876:7104216] VERBOSE: Called RegisterDeviceToken while not logged in. Caching token
2016-09-01 15:57:44.728 projectHB[8876:7104216] VERBOSE: Running UI sign in request on main thread.
2016-09-01 15:57:44.729 projectHB[8876:7104216] VERBOSE: Finished running UI sign in request on main thread.
2016-09-01 15:57:44.743 projectHB[8876:7104216] signInWillDispatch: (null)
-> applicationWillResignActive()
-> applicationDidBecomeActive()
2016-09-01 15:59:40.976 projectHB[8876:7104216] VERBOSE: Signed in user; extracting credential.
 [Play Games Plugin DLL] 09/01/16 15:59:41 +08:00 DEBUG: Starting Auth Transition. Op: SIGN_IN status: VALID

(Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

2016-09-01 15:59:41.419 projectHB[8876:7104216] WARNING: Error fetching local player for Welcome Back UI
 [Play Games Plugin DLL] 09/01/16 15:59:41 +08:00 DEBUG: Entering internal callback for PlayerManager#InternalFetchSelfCallback

(Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

 [Play Games Plugin DLL] 09/01/16 15:59:41 +08:00 DEBUG: Populating User

(Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

*** [Play Games Plugin DLL] 09/01/16 15:59:41 +08:00 ERROR: Error retrieving user, signing out

(Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

2016-09-01 15:59:41.426 projectHB[8876:7104345] INFO: Auth operation started: SIGN OUT
2016-09-01 15:59:41.435 projectHB[8876:7104676] INFO: Auth operation started: SIGN OUT
2016-09-01 15:59:41.435 projectHB[8876:7104675] INFO: Auth operation started: SIGN OUT
2016-09-01 15:59:41.435 projectHB[8876:7104676] ERROR: Out of box error detected; the user must reauthenticate through the UIflow.
2016-09-01 15:59:41.438 projectHB[8876:7104672] INFO: Auth operation started: SIGN OUT
 [Play Games Plugin DLL] 09/01/16 15:59:41 +08:00 DEBUG: Invoking user callback on game thread
GooglePlayGames.Native.<InvokeCallbackOnGameThread>c__AnonStorey13`1:<>m__1A()
GooglePlayGames.OurUtils.PlayGamesHelperObject:Update()

(Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

Failed to sign in with Google Play Games.
GooglePlayGames.OurUtils.PlayGamesHelperObject:Update()

(Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

2016-09-01 15:59:52.560 projectHB[8876:7104677] INFO: Auth operation started: SIGN OUT
2016-09-01 15:59:56.431 projectHB[8876:7104345] WARNING: Could not automatically seed quest cache.
2016-09-01 15:59:56.432 projectHB[8876:7104345] ERROR: Could not automatically seed application metadata cache.
2016-09-01 15:59:56.432 projectHB[8876:7104345] WARNING: Could not automatically seed player level cache.
 [Play Games Plugin DLL] 09/01/16 15:59:56 +08:00 DEBUG: Entering internal callback for AchievementManager#InternalFetchAllCallback

(Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

 [Play Games Plugin DLL] 09/01/16 15:59:56 +08:00 DEBUG: Received achievement callback after signout occurred, ignoring

(Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

2016-09-01 15:59:56.435 projectHB[8876:7104351] WARNING: Could not automatically seed achievement cache.
2016-09-01 15:59:56.435 projectHB[8876:7104351] WARNING: Could not automatically seed snapshot cache.
 [Play Games Plugin DLL] 09/01/16 15:59:56 +08:00 DEBUG: Starting Auth Transition. Op: SIGN_OUT status: ERROR_NOT_AUTHORIZED

(Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

 [Play Games Plugin DLL] 09/01/16 15:59:56 +08:00 DEBUG: Starting Auth Transition. Op: SIGN_OUT status: ERROR_NOT_AUTHORIZED

(Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

I check Info.plist URL types, it already have ReverseClientid. I also double check 1.google account have be a tester in google console. 2.google console game service setting and Unity goolge play game iOS setup. They have same bundleID and ClientID.

image

And here is a behavior in my unity project. No matter I use PlayGamesPlatform.Instance or Social. It still login fail.( The behavior can works on android very well. )

// use Social Login
private void Login(Action onSuccess, Action onFail)
    {
        PlayGamesPlatform.DebugLogEnabled = true;

        PlayGamesClientConfiguration config = new  PlayGamesClientConfiguration.Builder().EnableSavedGames().Build();
        PlayGamesPlatform.InitializeInstance(config);
        PlayGamesPlatform.Activate();       

        Social.localUser.Authenticate((bool success) =>
        {
            if (success)
            {
                if (onSuccess != null)
                    onSuccess();
            }
            else
            {
                if (onFail != null)
                    onFail();
            }
        });
    }

unity version: 5.3.4f1 play-games-plugin-for-unity version: 0.9.34 Mac OS X: 10.11.4 Xcode: 7.3

LinShihSiang commented 8 years ago

I found the reason that cause this problem. For Android users who don't have a Google Game Play Service account, you will be guided to create one then you'll log in sucessfully. But there's no guide for IOS users to follow, it's the reason why cause the IOS users fail to sign in. Did anyone have the same problem? Or anybody have the solution to lead IOS users to create a game service account?

Dorokah commented 8 years ago

I have the same problem. But no solution whatsoever. Looking for google support on this one.

xysverma commented 8 years ago

I have the same issue. Can someone explain how new user who dont have google play services must do in iOS ? Its kind of a big blocker

Dorokah commented 8 years ago

Unfortunately I'm going to move over to game center because of this.

xysverma commented 8 years ago

It doesn't seem to be unity plugin specific issue. Even the native sample app have the same problem and i can't find anyway using which user can actually signup for google play game without using an android device and play services app installed in it.

Which makes any google play plugin practically useless for iOS users and it should not be used by any developer.

Dorokah commented 8 years ago

Only Google can fix it with an update to the SDK does anybody know how to contact them

DanielTran93 commented 7 years ago

Hi, have you had any luck regarding this issue? i am now experiencing this issue also.

xysverma commented 7 years ago

I wrote to google. They responded and it will take them time to respond on it.

DanielTran93 commented 7 years ago

Great to hear. When did you contact them? If you are able to provide the contact details i would like to contact them as well :)

Dorokah commented 7 years ago

I have contact them about 2 weeks ago. There is no official developer console from Google Play games ios to provide support for Developers so I contacted customer support and they told me they reported my problem to the developer team and I didn't hear from them until now.

On Wed, Sep 28, 2016, 12:14 bokchoy123 notifications@github.com wrote:

Great to hear. When did you contact them? If you are able to provide the contact details i would like to contact them as well :)

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/playgameservices/play-games-plugin-for-unity/issues/1354#issuecomment-250114585, or mute the thread https://github.com/notifications/unsubscribe-auth/AU_JnPCgs1ybGTWIsCLkLFtvxOzypobsks5qui_-gaJpZM4Jyf4Z .

Dorokah commented 7 years ago

I have moved over to game center in the meanwhile

On Wed, Sep 28, 2016, 12:16 Dor Rokah dor.rokah@gmail.com wrote:

I have contact them about 2 weeks ago. There is no official developer console from Google Play games ios to provide support for Developers so I contacted customer support and they told me they reported my problem to the developer team and I didn't hear from them until now.

On Wed, Sep 28, 2016, 12:14 bokchoy123 notifications@github.com wrote:

Great to hear. When did you contact them? If you are able to provide the contact details i would like to contact them as well :)

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/playgameservices/play-games-plugin-for-unity/issues/1354#issuecomment-250114585, or mute the thread https://github.com/notifications/unsubscribe-auth/AU_JnPCgs1ybGTWIsCLkLFtvxOzypobsks5qui_-gaJpZM4Jyf4Z .

xysverma commented 7 years ago

This is what i got 9 days back.


Hi Sourabh,

Thanks for contacting Google Play Developer Support and apologies for the delay in getting back to you.

Unfortunately, our team isn't able to provide support for this issue. I apologize that I cannot be of more help to you in this regard. I've let the appropriate team at Google know of the issue, and they will see what they can do about a fix. I sincerely apologize for any inconvenience this is causing you.

We place a high value on developer feedback, and we really appreciate you taking the time to share your feedback about this issue. Our team takes developer feedback very seriously, since it helps them improve the Google Play developer experience.

We’re constantly adding new features and functionality, so please stay tuned.

Make sure to check the Android Developers Blog for new features and updates: http://android-developers.blogspot.com/

Also, you can find Developer Support communities listed here: http://developer.android.com/support.html

If you have other questions about using the Google Play Developer Console, please let me know and I’ll be happy to help.

Regards, Alex Google Play Developer Support

Dorokah commented 7 years ago

Exactly what I got

On Wed, Sep 28, 2016, 12:18 Sourabh Verma notifications@github.com wrote:

This is what i got 9 days back.

Hi Sourabh,

Thanks for contacting Google Play Developer Support and apologies for the delay in getting back to you.

Unfortunately, our team isn't able to provide support for this issue. I apologize that I cannot be of more help to you in this regard. I've let the appropriate team at Google know of the issue, and they will see what they can do about a fix. I sincerely apologize for any inconvenience this is causing you.

We place a high value on developer feedback, and we really appreciate you taking the time to share your feedback about this issue. Our team takes developer feedback very seriously, since it helps them improve the Google Play developer experience.

We’re constantly adding new features and functionality, so please stay tuned.

Make sure to check the Android Developers Blog for new features and updates: http://android-developers.blogspot.com/

Also, you can find Developer Support communities listed here: http://developer.android.com/support.html

If you have other questions about using the Google Play Developer Console, please let me know and I’ll be happy to help.

Regards, Alex Google Play Developer Support

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/playgameservices/play-games-plugin-for-unity/issues/1354#issuecomment-250115392, or mute the thread https://github.com/notifications/unsubscribe-auth/AU_JnHv2o3MiY_z0teZAHJypoObw6g0Xks5qujDdgaJpZM4Jyf4Z .

DanielTran93 commented 7 years ago

That is a bit unfortunate, seems like a automated message if you both get it. Guess ill move to GameCenter also. I wonder if anyone else experienced this issue or if they found fix?

Dorokah commented 7 years ago

There is no fix believe me I searched

On Wed, Sep 28, 2016, 12:26 bokchoy123 notifications@github.com wrote:

That is a bit unfortunate, seems like a automated message if you both get it. Guess ill move to GameCenter also. I wonder if anyone else experienced this issue or if they found fix?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/playgameservices/play-games-plugin-for-unity/issues/1354#issuecomment-250117097, or mute the thread https://github.com/notifications/unsubscribe-auth/AU_JnOovJGt9TGiBlBykoBaE1_vGtH98ks5qujLCgaJpZM4Jyf4Z .

dbendilas-te commented 7 years ago

I am having the same issue and I've been searching for a solution for several days. I want to point out 3 things:

  1. The native iOS SDK (Google Sign In SDK 4.0.0) works fine for me. Their sample XCode project manages to authenticate a newly created user just fine, without having to go through Android. I believe it is important to mention that only the basic profile permission is requested (I didn't make any changes myself). I believe this is key to why it works well on the native ObjC project, but not on the project produced by Unity after integrating the GPGS plugin. cc @sourabhverma
  2. Pokemon Go, built with Unity as far as I know, only requests the basic profile info on iOS. I believe in order to do this you need to refrain from adding the gpg.framework and probably other dependencies as well. I tried doing that, by guarding various references in the GPGS Unity plugin, but there are dozens of classes in the plugin and I haven't managed yet to make the project both compile and provide the required functionality. I don't know how they did it in Pokemon Go; maybe they built their own GPGS Unity plugin using the native SDK, or they managed to guard all unnecessary calls that were causing a linker error.
  3. I played around with GPGSController.mm from the Unity-generated XCode project, and it is obvious that an extra scope is added (auth/games), which I presume is linked to the behaviour we are seeing. I posted a question on StackOverflow, haven't received anything helpful yet.

Does anybody have a clue? perm

claywilkinson commented 7 years ago

Games Sign-In on iOS needs to use and older version of GoogleSignIn. Please see the README for the plugin on the exact details. On a related note, new players (players that not have played a Google Play Game Services game on iOS or Android) will not be able to sign in on iOS, since the creation of new Gamer profiles is not supported on iOS. See https://android-developers.googleblog.com/2016/12/games-authentication-adopting-google.html for more details.