Trouble with connect in GPGS V2

I have an app that successfully connects to GPGS and leaderboards, and another that does not, essentially sharing the same code and setup. I have been trying everything I know for 2 days and cannot discover why.

The app that works runs on the same device, and I have rebuilt that app with the same build of Corona, 2019.3460. The app that works is portrait, the one that doesn’t is landscape, but I can’t imagine that is relevant.

The rest is about the app that does not work. Each item I have checked over a dozen times.

  • I have verified the app ID in build.settings and on the Google Console
  • I have set, reset, checked that the linked project has these APIs: Google Drive, Game Play Game Management, Google Play Game Services, Google Play Android Developer API
  • I have set and ensured that the correct sha1 is used to sign the app and to set credentials of the linked app
  • I have captured the device log with the simple adb logcat (trace attached)

The leaderboards are published, and the app does not do license check. Loading directly with adb or from internal test does not make any difference.

License checking is turned off (bypassed) at this time.

The app does the Google Play login, and I get success back. After getting the ‘login’ event, I try isConnected() and get false, and I also try leaderboards.show() and get not connected. If I manually (from a leaderboard button) try leaderboards.show() (with or without leaderboardID), I get not connected. 

On the Google console, there are many Google Drive events – also 100% errors on those.

There were also a few Google Play Games Services requests, no errors there.

I also tried adding my older app to these leaderboards, and got as far as connected to them and trying to show the leaderboards, with a ‘broken’ message, but at least I get the screen for the leaderboard.

I don’t know what else to try. If I could figure out how to delete all that I have in Google Play Console, I would, but there does not seem to be a way to do that. Even unpublishing the ‘game’ and the leaderboards does not seem to help.

Let me know what I should try. There must be something I have overlooked.

David

Just curious, are you building the new app with the Android Debug Keystore or your release keystore?

Rob

No, I generally do not use the debug keystore, I build my Android apps with the same keystore and alias used to upload to Google. I do let Google counter-sign. Also, I have tested with both adb-loaded and uploads to Google Play and then install from internal test. And I look at the keystore and copy/paste the sha1 from the dump.

I recreated a completely new ‘game’ in the Google Play Game Center, carefully, being sure to get everything exactly right, but the same result. Again, the error on Google Drive API.

I have given up and recreated the whole leaderboards and interaction using the REST API instead of the plugin. Much much much easier to work with.

That created a new problem. The simulator worked fine, but on the device, Google has disabled OAuth access from webViews. Supposedly to make it simpler, but GPGS is just gothic in its over-complexity. Not sure which direction to turn now.

I tried several different leaderboards, and most of them are complex to program (and my game is too simple to justify) or require working in Android native (swarm very simple if I did that). I found one at globalstats.io that is the simplest REST API I have worked with, took just an hour to get working and tested, dead simple, and free.

If they stay in business (and stay free), it is a good option for those wanting the simplest and fastest working leaderboards.

Downsides are 1) have to do all the playername de-duplication on my server (they allow anonymous score posting), 2) no cross-device synchronization (they do provide it, requires a player account and a popup for the player to choose their account, no protection against scamming that I can see and I can’t require that for a kids’ game), and 3) the functionality is basic.

Works very well for me.

Just curious, are you building the new app with the Android Debug Keystore or your release keystore?

Rob

No, I generally do not use the debug keystore, I build my Android apps with the same keystore and alias used to upload to Google. I do let Google counter-sign. Also, I have tested with both adb-loaded and uploads to Google Play and then install from internal test. And I look at the keystore and copy/paste the sha1 from the dump.

I recreated a completely new ‘game’ in the Google Play Game Center, carefully, being sure to get everything exactly right, but the same result. Again, the error on Google Drive API.

I have given up and recreated the whole leaderboards and interaction using the REST API instead of the plugin. Much much much easier to work with.

That created a new problem. The simulator worked fine, but on the device, Google has disabled OAuth access from webViews. Supposedly to make it simpler, but GPGS is just gothic in its over-complexity. Not sure which direction to turn now.

I tried several different leaderboards, and most of them are complex to program (and my game is too simple to justify) or require working in Android native (swarm very simple if I did that). I found one at globalstats.io that is the simplest REST API I have worked with, took just an hour to get working and tested, dead simple, and free.

If they stay in business (and stay free), it is a good option for those wanting the simplest and fastest working leaderboards.

Downsides are 1) have to do all the playername de-duplication on my server (they allow anonymous score posting), 2) no cross-device synchronization (they do provide it, requires a player account and a popup for the player to choose their account, no protection against scamming that I can see and I can’t require that for a kids’ game), and 3) the functionality is basic.

Works very well for me.