GPGS is broken?

Had spent hours some weeks back setting up all the GPGS parameters, credentials etc for a couple of our apps and everything was working great on the legacy plugin and the v3 but cannot seem to even login since the last 2 days.

Have tried absolutely everything and I think I know what I’m doing because I’ve implemented it for enough projects so far. Tried every possible SHA1 fingerprint, everything is live and published but I get an “unknown error” (code 16) when attempting login.

I’ve been testing since the last 7-8 hours and there’s no question that the v3 plugin is broken. It gets nil in errorCode and error message parameters and the login listener’s behaviour is very random where it gets by to the logged in phase sometimes but if I try to catch that phase in an IF statement, the control never enters that IF statement.

This same code works with the legacy plugin where I can at least catch the error code but still cannot get a successful login.

I recall there was a long thread about this with other users facing similar issues. Is GPGS working for anyone at all at this point? I’ve tried everything including deleting all firebase projects, setting up all credentials from scratch on the cloud console etc. but nothing seems to work now.

The documentation for the v3 plugin is not accurate either and has multiple issues (such as referring to the API console as the Play Developer Console etc)

Why not just make your own and save yourself from this nightmare. My solution, using my own backend, is cross-platform as well.

No plugin hell, works on all platforms - that’s a win for me.

I use a LAMP stack running on my own dedicated server. It wasn’t too tricky to setup and it works a treat.

I do something similar for the actual leaderboards, cloud saves etc (app42’s REST API) but we do see a lot of requests for being able to login with Google on Android and Apple ID on iOS. Compared to GPGS, apple’s service is a breeze tbh. We’re only using this for user name and ID so it is indeed a nightmare but we do feel compelled to offer this.

I will eventually have to move away from GPGS but I do hope this can be fixed at once. Being able to login via GPGS without much fuss is surely something Solar2D should be able to offer. At this stage, I’m almost sure the plugins are not functioning correctly.

@Scott_Harrison Can you please post the bit of code that goes into the build settings to force an earlier version of the plugin. My team and I have tried absolutely everything and can’t even get to login with the legacy or v3 plugin. Would also appreciate if you could check once on one of your apps too.

thanks

EDIT:

Error code, message etc are nil in v3 as per ADB log:

04-04 16:52:47.850 11048 11133 W System.err: com.naef.jnlua.LuaRuntimeException: ?:0: attempt to concatenate field 'errorCode' (a nil value)
04-04 16:52:47.852 11048 11133 W System.err: 	at com.naef.jnlua.LuaState.lua_pcall(Native Method)
04-04 16:52:47.852 11048 11133 W System.err: 	at com.naef.jnlua.LuaState.call(LuaState.java:564)
04-04 16:52:47.852 11048 11133 W System.err: 	at com.ansca.corona.CoronaLua.dispatchEvent(CoronaLua.java:140)
04-04 16:52:47.852 11048 11133 W System.err: 	at plugin.gpgs.v3.LuaUtils$1.executeUsing(LuaUtils.java:87)
04-04 16:52:47.852 11048 11133 W System.err: 	at com.ansca.corona.CoronaRuntimeTaskDispatcher$TaskEvent.Send(CoronaRuntimeTaskDispatcher.java:179)
04-04 16:52:47.852 11048 11133 W System.err: 	at com.ansca.corona.events.EventManager.sendEvents(EventManager.java:100)
04-04 16:52:47.852 11048 11133 W System.err: 	at com.ansca.corona.Controller.updateRuntimeState(Controller.java:325)
04-04 16:52:47.852 11048 11133 W System.err: 	at com.ansca.corona.graphics.opengl.CoronaGLSurfaceView$CoronaRenderer.onDrawFrame(CoronaGLSurfaceView.java:434)
04-04 16:52:47.852 11048 11133 W System.err: 	at com.ansca.corona.graphics.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1625)
04-04 16:52:47.852 11048 11133 W System.err: 	at com.ansca.corona.graphics.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1380)

On legacy plugin, the result is:
ConnectionResult{statusCode=API_UNAVAILABLE, resolution=null, message=null}
I have checked this across multiple devices-- all APIs are enabled on API console (Drive, Firebase installations, G+, Play Games etc) and scopes for games, games_lite, driveData are also added in. Things were working fine until some days back but this is now broken for all our apps

Are you talking about this?

["plugin.gpgs.v3"] =
	{
	publisherId = "com.solar2d",
	version = "v4",
	},

If you only want Google SSO then maybe try Scott’s Google SSO plugin?

Anyway, Isn’t GPGS slowly on it’s way out?

Thanks, Colin. Could you also perhaps point me to where I might find details on available versions?

Yes, I just briefly went through his plugin’s documentation last night and might go ahead and implement it for the current project at least.

We had a couple of games that we had achievements and leaderboards for on Steam and it helped us in the mobile port when we could grant xp (?) for those achievements on the Play Store but it’s utterly stressful now to deal with this bs so I hope it does in fact get phased out.

You can check the Plugin Directory for any plugin. Click on the one you are interested in, then, in the window that pops up, click on the word UPDATED. This will take you to the GitHub page. Click RELEASES in the right rail, and you will see all the releases and what was changed. (The Plugin Directory is an invaluable resource- huge thanks to whoever put it together.)

Thanks. It seems most updates made to the plugin were just to the docs but I’ll try out the older versions in any case. Appreciate your help.

Just an update on the GPGS plugin situation:

I went ahead with Scott’s Google Sign in plugin and it worked right away. Documentation is succinct on his website and most things were already set up with regards the OAuth credentials, Firebase integration etc from when I had implemented GPGS so I just slapped the code into my project and it works. Thanks are in order to @Scott_Harrison for making many of his plugins freely available to the community.

As expected, if I use the upload key’s fingerprint in the OAuth credential, I am able to login on my test builds and after I published the build to open testing, I changed this to the fingerprint for Google’s key and that works for builds which are downloaded from the Play Store.

I’m still at a loss as to why GPGS is not working because it would seem like my set up was properly in place if the sign in plugin is working.

Sorry for the very late reply, but I just published and old game I had with Google Play game services v3

Happy to share code, but from an integration perspective, I added plugin and googlePlayGamesAppId to build.settings and called .init()

--
	-- Android section
	--
	android =
	{
		googlePlayGamesAppId = "3831549xxxxxx",
		usesPermissions =
		{
			"android.permission.INTERNET",
		},
	},

	--

	--
	-- Plugins section
	--
	plugins =
	{
			["CoronaProvider.gameNetwork.apple"] =
			{
					publisherId = "com.coronalabs",
					supportedPlatforms = { iphone=true, android=false },
			},
			["plugin.gpgs.v3"] =
			 {
					 publisherId = "com.solar2d",
			 },
	},

Yesterday I was getting no leaderboards or log-in with my build keystore md5 key and had to swap with my App Integrity MD5 on my client id and now work great :slight_smile:


Hi Scott
My setup seems correct based on what I’ve read in google’s documentation and what you’ve posted. It used to work until some weeks back and then suddenly didn’t work and hasn’t since.

For most of my projects I only needed it for signing in and was able to successfully move to your Google sign in plugin which also requires similar steps to set up the authentication procedure but that works just fine so it could be some idiosyncratic issue with GPGS. I’ll try again once shortly to see if it works now.

Dear famousdoggstudios,
I’ve been waiting for google to remove my erroneous cloud projects for the last month so I could attempt to implement the steps you kindly listed in my thread regarding this.
I was going to give it a go this week then saw this thread…could you please confirm if resolved?
Would really like to ascertain how to get this implemented as I’ve had it in mind for my latest title since day dot.
Many thanks,
Nick

Using Scott’s Google Sign in plugin as an alternative for GPGS has worked without much problem. I only needed to access the user’s name and ID so for now this serves my purpose but honestly, I haven’t properly worked out yet why the same steps didn’t work for GPGS.

Most of the set up on the Google Console is same for both and they both recommend integrating the project with Firebase but I did notice that the documentation on Scott’s website suggested adding SHA1 fingerprints for the upload and signing keys on Firebase BEFORE downloading the GoogleServices JSON file-- something that I hadn’t previously done while implementing GPGS into my project. I suspect that this might have been the reason why I wasn’t able to sometimes log in with GPGS but I’m yet to go back and try this again.

1 Like

Thank you for replying and supplying further info.
I’m attempting saves, acheivements and leaderboards so seems the plugin will not suffice.
I’ll spend some time on it this week and feed back.
Good luck!!

Right, so I’ve been doing other things for a couple weeks.
I’ve now attempted once more to get this set up.
I’ve followed all the steps you provided on the other thread so now include firebase, etc, added the json, etc, etc, etc.
It’s still not working.
Actually doing all this again and taking dozens of hours over the course of several months and not acheiving anything is quite depressing. Especially as I was displaying a leaderboard without too much hassle a year ago.
I’m going to spend a couple more hours on it this week and if I can’t resolve will strip out all the GPGS menus from my game and just release it.
If anyone else has any suggestions I would greatly appreciate them at this stage, but I think I’m about done here.

I am seriously considering in moving solely to Apple, as am not looking forward to a future dealing with Google, it’s not just Solar2D that’s not working their whole workflow is a tedious mess.
Does anyone have experience publishing to Apple store, using leaderboard and acheivements?

Yeah gamenetwork integration is much smoother with apple. Once you’ve got the provisioning profiles and test account set up, it just works

Their certificate and provisioning profiles used to feel like a chore initially but qt least they’re consistent in handling their products unlike google.

Next they’re going to announce android is just windows so deal with it :joy: lost count of how many products they’ve forced on users only to then discontinue them.

I’ve just spent the whole evening on this once more.
I’ve recreated everything from scratch.
I’ve followed every step I can find.
Still no login.
I’m currently dealing with Google Developer support which isn’t helping either.
@Scott_Harrison It seems to me currently you are the only one who can get this running.
Can you please assist further?

Oh.
My.
God.

I don’t know what I’ve just changed but I’ve re-run the app and it’s only bleddy logged in!!!

[Edit]
Answer: I hadn’t changed anything since last attempt - last thing I changed in Google config was to make the Firebase SHA1 the same as the Cloud Client ID. Guess it just took some time for the settings to become effective.

1 Like