• Hey Guest! Ever feel like entering a Game Jam, but the time limit is always too much pressure? We get it... You lead a hectic life and dedicating 3 whole days to make a game just doesn't work for you! So, why not enter the GMC SLOW JAM? Take your time! Kick back and make your game over 4 months! Interested? Then just click here!
  • Hello [name]! Thanks for joining the GMC. Before making any posts in the Tech Support forum, can we suggest you read the forum rules? These are simple guidelines that we ask you to follow so that you can get the best help possible for your issue.

Android Google Play Development Workflow

C

cadika_orade

Guest
Since achievement_login() only works when the app has been installed from Google Play, what is the recommended workflow for developing and debugging with the async social functions? It isn't really practical to upload an AAB to a Google Play testing track every time I compile and wait 48 hours for Google's approval.

Given the scarce documentation and total lack of support (don't tell me to create a support ticket, they don't get answered) I'm suspicious that nobody at YYG actually tests these things before publishing and I paid a bunch of money for vaporware.

Next time I develop an app, I'll be doing it in C++. Raw OpenGL is easier to use and better documented than this. It's been 8 months, the majority of which has been spent wrestling with these horrible social API functions. The game itself was completed in 2 weeks. If someone at YYG spent 5 minutes checking their own code, they're realize it doesn't work and maybe realize this basic functionality is a bit more important than adding a bunch more tools to the sprite editor.
 

FrostyCat

Redemption Seeker
I would recommend first building a fake object that mimicks expected responses, then integrate your game with that first. This should get you un-stuck for now, while you wait for a response.

Then when you're ready to integrate, build a real version of that object and test only that against the real Google Play API. Then at the last minute, simply swap the fake object for the real one. Then you can quickly test one final time.

Even if you develop in C++ or Java next time, you should take this tactic with you. It is much easier to test adverse runtime conditions (e.g. failed logins or submissions) when your architecture makes the fake and the real interfaces easily swappable. And if fate has it for you to dump one vendor for another (example), this kind of architecture turns the problem into a minor inconvenience.
 

Nocturne

Friendly Tyrant
Forum Staff
Admin
Since achievement_login() only works when the app has been installed from Google Play, what is the recommended workflow for developing and debugging with the async social functions? It isn't really practical to upload an AAB to a Google Play testing track every time I compile and wait 48 hours for Google's approval.
You should only have to upload ONCE to get the game registered and then running on a device from the IDE should work.

Given the scarce documentation and total lack of support (don't tell me to create a support ticket, they don't get answered) I'm suspicious that nobody at YYG actually tests these things before publishing and I paid a bunch of money for vaporware.
Ummm.. there IS documentation for all this on the YoYo Games helpdesk. Also note that Android development is not quite as simple as Windows dev, due to the fragmented markets, constantly updating APIs and extra complication of having to go through a third party (Google Play). I can assure you that it does work, as there are loads of people making games for Android using GameMaker... Also, YYG does test them, but there are a bazillion devices out there and the Stores and APIs can change at a moments notice, so it is impossible for them to be 100% up to date all the time. They do their best to test as much as possible and ensure that, at the time of publishing, all extensions work.
 

chirpy

Member
I modify the app signature on the play service backend so I can test achievements with local apks; when implementation is ready I changed it back. (This is all after fake object implementation phase).
2019: https://forum.yoyogames.com/index.php?threads/solved-achievementlogin-no-longer-working.68490/
2017: https://forum.yoyogames.com/index.php?threads/upload-android-apk-problems-with-signing.29197/

Warning:
(1) This is not applicable if the app is already published and has users to the Play services API. Only either Google-signed apks or locally signed apks can access your Game Service.
(2) I haven't tested this method for about 2-3 months already so I am not 100% sure it works.
(3) Since the API console is quite brief with limited controls: there is possible risk of signature mess-up (unable to change signature back to normal).
You'll have to contact Google and wait for technical support if shxt happens.

I think the right way to do this is probably to opt out of App Signing when creating an app, and opt in only after your Game Service API stuff's ready.
https://stackoverflow.com/questions/45885066/is-opting-out-of-google-play-app-signing-permanent

However:
(A) app signing is turned on by default so I'm sure a ton of users simply miss that chance.
(B) app signing is permanent and cannot be opt out once turned on; one can only unpublish and create a new app
https://stackoverflow.com/questions...ndroid-app-bundle-after-accepting-by-accident

Note:
I wrote this post by memory (last touched Play APIs in ~2 months ago), and
I retrieved most if not all the info by dumb try-and-errors + Googling.
As a result, please feel free to take my words with a grain of salt, and correct me if anything's wrong.
 
Top