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
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:
- Follow the instructions for installing and setting up your app to use Play Game services in the Set Up Google Play Services SDK guide.
- Define the leaderboards that you want your game to display or update, by following the instructions in the Google Play Developer Console guide.
- Download and review the leaderboards code samples in the Downloads page.
- You should also familiarize yourself with the recommendations described in Quality Checklist.
Once the player is signed in and the
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
REQUEST_LEADERBOARD is an arbitrary integer for the request code.
startActivityForResult(Games.Leaderboards.getLeaderboardIntent(mGoogleApiClient, LEADERBOARD_ID), REQUEST_LEADERBOARD);
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.