Adding Leaderboards to Your Android Game

This guide shows you how to use leaderboards APIs in an Android application to create visual leaderboards, record a player's score, and compare the score against the player's score from previous game sessions. The APIs can be found in the com.google.android.gms.games.leaderboard package.

Before you begin

If you haven't already done so, you might find it helpful to review the leaderboards game concepts.

Before you start to code using the leaderboards APIs:

Once the player is signed in and the GoogleApiClient is connected, your game can start using the leaderboards APIs.

Updating the player's score

When the player's score changes (for example, when the player finishes the game), your game can update their score on the leaderboard by calling submitScore(), and passing in the leaderboard ID and the raw score value.

Games.Leaderboards.submitScore(mGoogleApiClient, LEADERBOARD_ID, 1337);

A good practice is to define the leaderboard ID in your strings.xml file, so your game can reference the leaderboards by resource ID. When making calls to update and load player scores, make sure to also follow these best practices for to avoid exceeding your API quota.

Displaying a leaderboard

To display a leaderboard, call the startActivityForResult and pass in the intent to create the default leaderboard UI. In the following code snippet, REQUEST_LEADERBOARD is an arbitrary integer for the request code.


Notice that even though no result is returned, we have to use startActivityForResult so that the API can obtain the identity of the calling package. An example of the default leaderboard UI is shown below.

Send feedback about...

Play Games Services for Android
Play Games Services for Android