Description
We're currently having an issue affecting a significant number of Android users on various devices.
Some devices simply fail to execute the callback for the SignIn function, which causes the app to be waiting indefinitely for a response from the login process. We don't have this issue on iOS and a good percentage of our Android logins succeed just fine, including my test device.
I managed to reproduce the issue using Bluestacks emulator (version 3N) on a production release of our app. It seems that the login actually succeeds, and googlesignin-native logs some details about the user, but the C# wrapper never receives any data. Here is a logfile from the failed login attempt:
06-12 15:11:26.501 3396 3396 D TokenPendingResult: Calling onResult for callback. result: Status: Status{statusCode=SUCCESS, resolution=null} com.google.android.gms.auth.api.signin.GoogleSignInAccount@b5b33152
06-12 15:11:26.501 3396 3396 I native-googlesignin: StringFromJava Luke Zbihlyj == Luke Zbihlyj
06-12 15:11:26.501 3396 3396 I native-googlesignin: StringFromJava [valid email redacted]
06-12 15:11:26.501 3396 3396 I native-googlesignin: StringFromJava Zbihlyj == Zbihlyj
06-12 15:11:26.501 3396 3396 I native-googlesignin: StringFromJava Luke == Luke
06-12 15:11:26.501 3396 3396 I native-googlesignin: StringFromJava [valid user id redacted]
06-12 15:11:26.501 3396 3396 I native-googlesignin: StringFromJava [valid avatar redacted]
06-12 15:11:26.501 3396 3396 I native-googlesignin: StringFromJava [valid auth code redacted]
06-12 15:11:26.501 3396 3396 I native-googlesignin: User Display Name is Luke Zbihlyj
06-12 15:11:26.555 2178 2178 D GuidanceScreen..AppLaunchReceiver: same as previous package, returning to app
...
06-12 15:11:26.589 3396 3625 W FlurryAgent: Flurry session paused for context:com.google.android.gms.auth.api.signin.internal.SignInHubActivity@786920b
06-12 15:11:26.646 3396 4075 D AudioTrack: Client defaulted notificationFrames to 756 for frameCount 2270
06-12 15:11:26.651 1658 1668 I audio_hw_primary: choose pcmC0D0p for 0
06-12 15:11:26.673 1658 1668 D AudioFlinger: mixer(0xb16171c0) throttle end: throttle time(40)
06-12 15:11:26.681 1733 2348 D ActivityManager: cleanUpApplicationRecord -- 3555
06-12 15:11:26.732 1658 1668 D AudioFlinger: mixer(0xb16171c0) throttle end: throttle time(40)
06-12 15:11:26.743 1521 1521 W SurfaceFlinger: couldn't log to binary event log: overflow.
When I execute it on my working Android device I get the following:
06-12 01:02:02.266 23097 23097 D TokenPendingResult: Calling onResult for callback. result: Status: Status{statusCode=SUCCESS, resolution=null} com.google.android.gms.auth.api.signin.GoogleSignInAccount@f5bad294
06-12 01:02:02.266 23097 23097 I native-googlesignin: StringFromJava Luke Zbihlyj == Luke Zbihlyj
06-12 01:02:02.266 23097 23097 I native-googlesignin: StringFromJava [valid email redacted]
06-12 01:02:02.266 23097 23097 I native-googlesignin: StringFromJava Zbihlyj == Zbihlyj
06-12 01:02:02.266 23097 23097 I native-googlesignin: StringFromJava Luke == Luke
06-12 01:02:02.266 23097 23097 I native-googlesignin: StringFromJava [valid user id redacted]
06-12 01:02:02.266 23097 23097 I native-googlesignin: StringFromJava [valid avatar redacted]
06-12 01:02:02.266 23097 23097 I native-googlesignin: StringFromJava [valid auth code redacted]
06-12 01:02:02.266 23097 23097 I native-googlesignin: User Display Name is Luke Zbihlyj
06-12 01:02:02.266 23097 23097 D Typeface: fontPath:
06-12 01:02:02.276 2680 2697 D BatteryStatsImpl: Power Add Start sensor: sensor id 1 uid is 10189
06-12 01:02:02.306 2680 2605 D PhoneHolsterManager: int setscreenLock
06-12 01:02:02.316 23097 23186 W FlurryAgent: Flurry session paused for context:com.google.android.gms.auth.api.signin.internal.SignInHubActivity@2f2bb63
...
06-12 01:02:02.346 23097 23126 I native-googlesignin: In Wrapper display name is Luke Zbihlyj
06-12 01:02:02.346 2680 14414 I SurfaceControl: destroy Surface com.google.android.gms/com.google.android.gms.auth.api.signin.ui.SignInActivity
06-12 01:02:02.346 2680 14414 D PhoneHolsterManager: int setscreenLock
Note the line: native-googlesignin: In Wrapper display name is Luke Zbihlyj
- this doesn't get called on the emulator and I believe this is the same problem many of our users are experiencing where they never see any kind of message from us because we never receive a callback.
If anyone else is having the same issue, or any devs on this project from Google can assist in this issue it would be much appreciated.