New extension: Google Play Game Services (Android)
Description
Allow Devs to use Google Play Games Services API for android
Requirements:
-Access to Google Play Console for app signing and credentials
Important:
must add in <<GdevelopInstallationPATH>>\resources\GDJS\Runtime\Cordova\config.xml file, change the APP_ID into your google play console project id then add these below "" text
<plugin name="cordova-android-play-services-gradle-release" spec="4.0.0">
</plugin>
<plugin name="cordova-plugin-play-games-services" spec="1.1.2">
<variable name="APP_ID" value="999999999999" />
</plugin>
How to use the extension
- Go to google play console https://play.google.com/console
- Create/Use an existing app
- Inside the app, go to Play Game Services
- Set up Play Games Services
- Go to Achievements and create an achievement, take note of the achievement ID
- Get the Project ID of the app from there
- Go to gdevelop installation folder and change config.xml there "mentioned from above description"
- Open the game example in gdevelop
- Change Game package name to a unique name e.g. com.test.example
- Change the achievement IDs inside the game events
- Publish Game using Export to other platforms > Mobile > Android App Bundle
- Make sure to update the version of the game for every publish
- You should have a file with .abb
- Go back to google play console
- Go to internal testing, create new release, upload the abb file
- Include your test email as a tester
- Click view release details, click app bundle details arrow, go to downloads tab and download "signed, universal APK"
- Go to Play Game Services from the console and add android credentials
- Install the game on android phone that uses the same email with the testers
- enjoy
Checklist
- [X] I've followed all of the best practices.
- [X] I confirm that this extension can be integrated to this GitHub repository, distributed and MIT licensed.
- [X] I am aware that the extension may be updated by anyone, and do not need my explicit consent to do so.
What tier of review do you aim for your extension?
Community (Unreviewed)
Example file
GooglePlayGamesServicesAndroid.zip
Extension file
Needing to modify the files of your GDevelop installation in a way that makes it hard to work on multiple mobile projects at once goes too far bad user experience wise imo, even for a community extension. The standards are very lose but there are still some minimal ones. Though I won't reject it without consulting the rest of the extension community team, I am not sure whether we will be able to accept it. Have you considered making it a built-in extension? That would allow you to use cordova variables, and provides a better experience for developing extensions fully in javascript.
The interest of this extension is understandable and valuable, however, since it is necessary to make a modification in the files I can't approve this extension because of the required modification.
This new couple of conditions and actions should almost be added as a new feature directly into the game engine itself.
More feedback from @GDevelopApp/extensions-team is appreciated.
Am I going to build the builtin js extension? I don't have electron installed here's a rough attempt made from the template builtin extension, untested, please fix GooglePlayGameServices.zip
[Update] converted it manually, tested in IDE, working
GooglePlayGameServices(Runtime-Sources).zip
GooglePlayGameServices(Runtime).zip

https://user-images.githubusercontent.com/1837825/194365667-851eace2-8508-40ea-950f-8e4c926ded00.mp4
[Update] converted it manually, tested in IDE, working GooglePlayGameServices(Runtime-Sources).zip GooglePlayGameServices(Runtime).zip
![]()
apk_test.mp4
Hello @planktonfun This looks amazing, you did it in one night :o ? To be reviewed by the core team, could you open a Pull Request on the GDevelop repository? This way the team could review your core extension. (Core and community extension are on two different repository.)
I was hoping not to download GBs worth of repositories, PR sent https://github.com/4ian/GDevelop/pull/4364
I could open a pull request for you, and you follow the discussion with the team?
I could open a pull request for you, and you follow the discussion with the team?
PR already sent
Is there a specific error message for this? its vague
https://gdevelop.semaphoreci.com/workflows/33b2bf74-d88d-4df2-b9f7-ba54552a8792?pipeline_id=13fcc47c-fb06-4d60-bd7d-088d10c54318
