GDevelop-extensions icon indicating copy to clipboard operation
GDevelop-extensions copied to clipboard

New extension: Google Play Game Services (Android)

Open github-actions[bot] opened this issue 3 years ago โ€ข 9 comments

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

  1. Go to google play console https://play.google.com/console
  2. Create/Use an existing app
  3. Inside the app, go to Play Game Services
  4. Set up Play Games Services
  5. Go to Achievements and create an achievement, take note of the achievement ID
  6. Get the Project ID of the app from there
  7. Go to gdevelop installation folder and change config.xml there "mentioned from above description"
  8. Open the game example in gdevelop
  9. Change Game package name to a unique name e.g. com.test.example
  10. Change the achievement IDs inside the game events
  11. Publish Game using Export to other platforms > Mobile > Android App Bundle
  12. Make sure to update the version of the game for every publish
  13. You should have a file with .abb
  14. Go back to google play console
  15. Go to internal testing, create new release, upload the abb file
  16. Include your test email as a tester
  17. Click view release details, click app bundle details arrow, go to downloads tab and download "signed, universal APK"
  18. Go to Play Game Services from the console and add android credentials
  19. Install the game on android phone that uses the same email with the testers
  20. 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

GooglePlayGamesServicesAndroidExtension.zip

github-actions[bot] avatar Oct 05 '22 12:10 github-actions[bot]

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.

arthuro555 avatar Oct 05 '22 12:10 arthuro555

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.

Bouh avatar Oct 05 '22 13:10 Bouh

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

planktonfun avatar Oct 05 '22 19:10 planktonfun

[Update] converted it manually, tested in IDE, working GooglePlayGameServices(Runtime-Sources).zip GooglePlayGameServices(Runtime).zip image image

https://user-images.githubusercontent.com/1837825/194365667-851eace2-8508-40ea-950f-8e4c926ded00.mp4

planktonfun avatar Oct 06 '22 16:10 planktonfun

[Update] converted it manually, tested in IDE, working GooglePlayGameServices(Runtime-Sources).zip GooglePlayGameServices(Runtime).zip image image

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.)

Bouh avatar Oct 06 '22 16:10 Bouh

I was hoping not to download GBs worth of repositories, PR sent https://github.com/4ian/GDevelop/pull/4364

planktonfun avatar Oct 06 '22 17:10 planktonfun

I could open a pull request for you, and you follow the discussion with the team?

Bouh avatar Oct 06 '22 20:10 Bouh

I could open a pull request for you, and you follow the discussion with the team?

PR already sent

planktonfun avatar Oct 07 '22 11:10 planktonfun

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 image

planktonfun avatar Oct 07 '22 12:10 planktonfun