Introduction: Google Play game services - Android samples
More: Author   ReportBugs   

Copyright (C) 2014 Google Inc.


These are the Android samples for Google Play game services.

  • ButtonClicker. Represents the new generation in modern button-clicking excitement. A simple multiplayer game sample that shows how to set up the Google Play real-time multiplayer API, invite friends, automatch, accept invitations, use the waiting room UI, send and receive messages and other multiplayer topics.

  • CollectAllTheStars2. Demonstrates how to use the Snapshots feature to save game data. The sample signs the user in, synchronizes their data from a named Snapshot, then updates the UI to reflect the game state saved in the Snapshot.

  • TypeANumber. Demonstrates how to use leaderboards, achievements and events. In this exciting game, you type the score you think you deserve. But wait! There is a twist. If you are playing in easy mode, you get the score you requested. However, if you are playing in hard mode, you only get half! (tough game, we know).

  • SkeletonTbmp A trivial turn-based-multiplayer game. In this thrilling game, you can invite many friends, then send a shared gamestate string back and forth until someone finishes, cancels, or the second-to-last player leaves.

How to run a sample

  1. Set up the project in the Developer Console by following these instructions. Note your package name and the application ID of the project!

  2. For the Type a Number sample, you need to create leaderboards/achievements. (You can see the ones that the sample needs in its res/values/ids.xml file.) You can create them two ways:

    1. Add them via the Developer console.
    2. Use this utility, which will automatically create them for you.

Building using Android Studio...

  1. Open Android Studio and launch the Android SDK manager from it (Tools | Android | SDK Manager)
  2. Ensure the following components are installed and updated to the latest version.
    1. Android SDK Platform-Tools
    2. Android Support Repository
    3. Google Repository
  3. Return to Android Studio and select Open an existing Android Studio project
  4. Select the android-basic-samples directory.

Modify IDs, compile and run

To set up a sample:

  1. Change the applicationId in the build.gradle file to your own package name (ie - (the same one you registered in Developer Console!). You will have to update the build.gradle file for each sample you want to run. There is no need to edit the AndroidManifest.xml file.
  2. In the Developer console, select a resource type (Achievements, Events, Leaderboards) and click "Get Resources". Copy the contents from the console and replace the contents of res/values/ids.xml.
    1. If you are running Android Studio, check the TODO window to see if there are any remaining tasks.
  3. Compile and run.

IMPORTANT: make sure to sign your apk with the same certificate as the one whose fingerprint you configured on Developer Console, otherwise you will see errors.

IMPORTANT: if you are testing an unpublished game, make sure that the account you intend to sign in with (the account on the test device) is listed as a tester in the project on your Developer Console setup (check the list in the "Testing" section), otherwise the server will act as though your project did not exist and return errors like 'Failed to sign in. Please check your network connection and try again.'


To build the samples after you have applied the changes above, you can use the build/run option in Android Studio, or build directly from the command line if you prefer.

IMPORTANT Ensure you have set the ANDROID_HOME environment variable.

cd /path/to/android-basic-samples
export ANDROID_HOME = /path/to/android/sdk
./gradlew build


First of all, take a look at our troubleshooting guide. Most setup issues can be solved by following this guide.

If your question is not answered by the troubleshooting guide, we encourage you to post your question to Our team answers questions there regularly.

Samples written by Bruno Oliveira with contributions from Wolff.* Feel free to add us to your circles on Google Plus and pester us to fix stuff that's broken or answer a question on stackoverflow :-)

Special Thanks

  • To ligi for contributing the initial Gradle build files
  • To bechhansen for fixing a bug in GameHelper where the turn-based match was being lost when a non-Games client connected.
Support Me
About Me
Google+: Trinea trinea
GitHub: Trinea