Google Play Games Services offers social leaderboards, achievements, and much more (realtime multiplayer, cloud saves, anti-piracy…)
Cross-platform features are deprecated, for new projects it is recommended to use on Android only.
Using open-source libGDX Extension
Google Play Games support for libGDX games on Android and Desktop is provided by gdx-gamesvcs libGDX extension. The extension also provides implementations for other game services (Apple Game Center, GameJolt and others).
Follow the readme and the project’s wiki to integrate GPGS and other game services in your project.
Manual integration in your project
The following article describes the manual integration in your project without using the library.
A Super Jumper based example that makes use of Leaderboards and Achievements.
The project is freely available on GitHub, and a companion tutorial is available here.
Another in-depth LibGDX-based tutorial for adding Google Play Game Services can be found here.
Latest tutorial using Android Studio can be found here
IntelliJ IDEA and Android Studio Setup
- Install Google Play Service and Google Play Repository using and Android SDK
To do that on Android Studio, Open up SDK Manager, ( Click the button next to the AVD manager in the top toolbar ) click Launch Standalone SDK Manager
Scroll down to the Extras section and make sure these 2 packages are installed and updated to the latest :
- Google Play services
- Google Repository
- Download the BaseGameUtils sample project here, copy folder
BaseGameUtils
, located in folderBasicSamples
into your project root folder. - Edit
settings.gradle
include 'desktop', 'android', 'ios', 'html', 'core', "BaseGameUtils"
- Edit root
build.gradle
and add the below as android dependency:compile project(":BaseGameUtils")
- in your
AndroidManifest.xml
file- add two permissions:
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
- add to your application tag
<meta-data android:name="com.google.android.gms.games.APP_ID" android:value="@string/app_id" />
- add two permissions:
- In your Android project, under ‘res’->’values’, in file
strings.xml
add app_id as follows, where 123456789 is your app ID as declared in the Google Play Developer Console:<?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">sample_ios_google_signin</string> <string name="app_id">123456789</string> </resources>
-
build.gradle
in Android projectSynchronize with Gradle. you will get the following message:
Error:Execution failed for task ':android:processDebugManifest'. > Manifest merger failed : uses-sdk:minSdkVersion 9 cannot be smaller than version 15 declared in library [libgdx-GPGS:BaseGameUtils:1.0]
edit and set
minSdkVersion
to the version number in the message above (in this case ‘15’)
iOS integration
Google Play Game Services is no longer supported on iOS. You should use something like gdx-gamesvcs or Firebase instead.