With Google Play games services, you can add engaging social and multiplayer features to your games.
Select a feature below to learn the basics and find documentation on implementing Google Play games services.
Get started
Integrate the Google Play games services SDKTo learn how to integrate the Google Play games services SDK, visit the Google Developers site to find instructions and samples on how to get started.
To use Google Play games services, you need to create a game listing in Play Console. Your game listing is separate from your app’s Store listing page.
Here’s how you can add a new game listing:
- Open Google Play Console.
- Go to Setup
> Game projects.
- Near the top right, click Add new game.
Features
AchievementsWith achievements, you can help retain players by adding rewards for accomplishing set goals in your game. Players can earn experience points (XP) for accomplishing achievements in your game.
Visit the Google Developers site to learn more about Achievements.
Note: Once you publish an achievement, it can’t be deleted.
Add achievements
There are two ways to create achievements for the first time using the Google Play Console:
- Create an achievement: Add definitions and metadata for each achievement one at a time.
- Import achievementsImport definitions and other metadata for multiple achievements together in a single step.
Note:Use APIs to unlock achievements for the signed in player. This will reveal any hidden achievements to the player.
Create an achievement
To create an achievement for a new and unpublished game, complete these steps using Google Play Console:
- In the Google Play Console, select a game.
- In the Play Games Services - Achievements page (Grow > Play Games Services > Setup and management > Achievements), select Create achievement.
- In the Add achievements page, complete the form.
- Click Save as draft.
After you have created an achievement, you need to publish your game.
Add more achievements
If you already have existing achievements and want to add more:
-
In the Google Play Console, select a game.
-
In the Play Games Services - Achievements page (Grow > Play Games Services > Setup and management > Achievements), select Add achievements.
Import achievements
To add multiple achievements to your game at once, use the following steps:
1. Create a zip file containing your achievements.
1. 1 Upload the file.
For more information about the zip file, see Zip file guidelines.
To import achievements:
- In the Google Play Console, select a game.
- In the Play Games Services - Achievements page (Grow > Play Games Services > Setup and management > Achievements), select Import achievements.
- In the Import achievements page, click Upload.
- Select the zip file to upload.
- Click Save as draft.
- After you have imported achievements, you need to publish your game.
Publish your game
Edit an achievement
To edit an achievement that you've already created, select the achievement in the Achievements tab of Google Play Console. At this point, you will see the same form you used when first creating the achievement, and you can edit any of the fields as you need.
When you're done editing an achievement, click the Save as draft button. The newly edited achievement will be in a "ready to test" stage, and you'll be able to test it out. If it is working correctly, select Republish from the drop-down list. This republishes your game, along with all your updated achievements, to the public.
Note: Once an achievement is published, its initial state (hidden or revealed) and its type (incremental or standard) is fixed and can't be changed.
Undo an edit
Delete an achievement
Once your achievement has been published, it cannot be deleted.
You can only delete an achievement in a pre-published state by clicking the button labeled Delete at the bottom of the form for that achievement.
Reset an achievement
You can only reset player progress data for your draft achievements.
- To reset achievements in Google Play Console, click the button labeled Reset achievement progress at the bottom of the form for that event.
- To reset achievement data programmatically, call the Management API Achievements methods.
Icon guidelines
Icons should be created as 512 x 512 PNG, JPEG, or JPG files. You only need to provide us with the icon for the unlocked achievement. We will generate a grayscale version for the revealed icon automatically. For that reason, we recommend your achievement icons include colorful elements, so your users can distinguish between revealed and unlocked achievements.
When an achievement icon is displayed in an Android toast, the icon is overlaid with a circle and its outer corners are hidden. Make sure that your icon still looks good under these circumstances.
A sample achievement icon.
The same icon is used in all locales, so we recommend against including any text or localized content in an icon.
Zip file guidelines
You can import multiple achievements at once using a zip file. Refer to the table for the precise filenames to use in your zip file:
Filename |
Required or Optional |
Accepted values |
|
Required |
Metadata for each achievement. See Attributes. |
|
Optional |
Provides translations for achievement names and descriptions. |
|
Optional |
Maps achievements to their icon files. |
Optional |
Icons in PNG, JPEG, or JPG format. |
Zip file requirements:
- No subdirectories.
- Unique file names.
- Only CSV, PNG, JPEG, or JPG files.
- The CSV file must not have a header row.
- Each file must be under 1 MB.
- Total files must be under 203.
- Total zip file size must be under 200MB.
AchievementsMetadata.csv format
The AchievementsMetadata.csv
file contains the metadata for each achievement. It should include the information as comma-separated values in the following order:
These fields are described in the following table:
CSV column headers |
Required or Optional |
Accepted values |
Name |
Required |
Maximum of 100 characters |
Description |
Optional |
Maximum of 500 characters |
Incremental Value |
Optional |
True or False |
Steps Needed |
Required if Incremental Value is True. |
Number (no fractions or decimals) |
Initial State |
Required |
Hidden or Revealed |
Points |
Required |
Number that is a multiple of 5, and the value must be between 5 and 200 |
List Order |
Optional |
Number (no fractions or decimals, and greater than zero) |
AchievementsMetadata.csv
file requirements:
- Each row must have seven values. If you want to omit a value, leave it blank.
- The Name and Description fields are used as the default locale.
- The Name field should be unique across all achievements.
- The following fields shouldn't contain commas: Name and Description.
A sample AchievementsMetadata.csv
file:
Achievement1,,True,100,Hidden,5,20
Achievement2,,False,,Revealed,10,30
AchievementsLocalizations.csv format
The AchievementsLocalizations.csv
file is an optional file that sets up all the data that is needed to describe each achievement to users in different locales. Achievements are translated in alignment with the locales specified for the game.
It should include the information as comma-separated values in the following order:
These fields are described in the following table:
CSV column headers |
Required or Optional |
Description |
Accepted values |
Name |
Required |
Must match the Name column from |
Maximum of 100 characters |
Localized name |
Required |
The localized name for the achievement. |
Maximum of 100 characters |
Localized description |
Optional |
The localized description for the achievement in the specified locale. |
Maximum of 500 characters |
Locale |
Required |
The locale code such as en-US. |
Add translations for your game before specifying a locale. Note that you cannot specify the default locale. Supported locale codes can be found in the list of supported languages. |
AchievementsLocalizations.csv
file requirements:
- Achievement names within a game must be unique per locale. For example, if a game supports both en-US and fr-FR locales, an achievement named "Achievement1" for en-US can also be named "Achievement1" for fr-FR.
- Each row should have four values. If you want to omit the Localized description value, leave it blank.
A sample AchievementsLocalizations.csv
file:
Achievement1,Achievement One,This is the description of achievement one in English.,en-US
Achievement1,Achievement Un,Voici la description de l'achievement un en français.,fr-FR
Achievement2,Achievement Two,Description of achievement two.,en-US
Achievement2,Logro Dos,Descripción del logro dos.,es-ES
Achievement3,Achievement Three,,en-US
Achievement3,Erfolg Drei,,de-DE
AchievementsIconMappings.csv format
The AchievementsIconMappings.csv
file is an optional file that is used to map your achievements with the given icon. It should include the information as comma-separated values in the following order:
These fields are described in the following table:
CSV column headers |
Required or Optional |
Description |
Name |
Required |
Must match the Name column from |
Icon filename |
Required |
The name of your icon file. |
AchievementsIconMappings.csv
file requirements:
- Each row should have two values.
- Icons files can only be in PNG or JPEG formats.
A sample AchievementsIconMappings.csv
file:
Valid Achievement,valid-achievement-icon.png
Incremental Achievement,incremental-achievement-icon.jpeg
No Description,no-description-icon.png
Hidden Initial State,hidden-initial-state-icon.png
Large Point Value,large-point-value-icon.jpeg
Icon Files
AchievementsIconMappings.csv
file must exist in the current zip archive you import. For more information, see Icon guidelines.Add translations for achievements
You can specify your own translations for achievements that are associated with your game. Before you do so, first make sure to complete the steps described in Adding translations for your game.
There are two ways in which you can add translations for your game:
- You can use the Import achievements option to upload translations for many new achievements at once. You cannot use this option to upload translations for already existing achievements.
- You can add translations for each achievement in your game. To add your own translation for each achievement:
- In the Google Play Console open the Achievements tab for your game, then select an existing achievement.
- In the achievements details page, select the tab for a language that you previously added in the Game details tab.
- In the achievement details page for that language, edit the form with your translations for that achievement.
- Click Save to store your translated achievement details.
With leaderboards, you can give your game’s players a place to compare their scores with friends and compete with top players.
Note: Leaderboard scores can’t be reset, but you can delete or hide a leaderboard at any time.
To hide suspicious scores on existing leaderboards, you can turn on leaderboard tamper protection on your game’s Leaderboards page in Play Console.
Create a leaderboard
To create a leaderboard for a new and unpublished game, complete these steps:
- In the Google Play Console, select a game.
- Go to Grow > Play Games Services > Setup and management > Leaderboards, then click the Create leaderboard button.
- Fill out the information required for this leaderboard.
- Click Save as draft, and your leaderboard will be available in the "Draft" state.
- Once you publish your game, all of your game's leaderboards are published with it.
Create a leaderboard for a published game
To create an additional leaderboard for a game that has already been published, follow the same steps as above. For more information on testing an updated version of a game, see Publishing Your Game Changes.
Once you've tested your leaderboard and are happy with it, you can republish your game with the new leaderboards, and they will be pushed out to the world.
Edit a leaderboard
To edit a leaderboard that you've already created, click the leaderboard in the Leaderboards tab of Google Play Console. At this point, you will see the same form you used when first creating the leaderboard, and you will be able to edit any of the fields as you need.
When you're done editing a leaderboard, click the Save as draft button. The newly edited leaderboard will be in the "Draft" state, which lets you test it out.
If it's working correctly, select Publish the changes from the box at the top of the leaderboard form, and you'll be able to republish your game, along with all your updated leaderboards, to the public.
Undo an edit
Delete a leaderboard
You can delete leaderboards that are in the "Draft" state or that have been published. To delete a leaderboard in Google Play Console, go to the form for the leaderboard, and click Delete leaderboard at the top of the form.
Alternatively, you can call Players.hide to hide a player's leaderboard in the app.
Reset a leaderboard
You can only reset player progress data for your draft leaderboards.
- To reset leaderboards in Google Play Console, click Reset progress at the top of the form for that event.
- To reset leaderboard data programmatically, call the Management API Scoresmethods.
Add translations for leaderboards
You can specify your own translations for leaderboards that are associated with your game. Before you do so, first make sure to complete the steps described in Adding translations for your game. You must also have created one or more leaderboards for your game.
To add your own translations for leaderboards, open the Leaderboards tab for your game in Google Play Console, then select an existing leaderboard. On the leaderboard details page, click the tab for a language that you previously added in the Game details tab. In the leaderboard details page for that language, edit the form with your translations for that leaderboard. Click Save to store your translated leaderboard details.
Hide leaderboard scores
Google Play Games Services provides a leaderboard tamper protection feature that checks for suspected tampered scores and hides them automatically. This feature is available for Android games only.
Tamper protection is enabled by default for new leaderboards that you create for your Android game, but is disabled for existing leaderboards. To enable tamper protection for your existing leaderboards that are already published, follow these steps:
- In Google Play Console, open the Games services tab, then select your game from the list.
- Open the Leaderboards tab, then select the leaderboard instance for which you want to enable tamper protection.
- Turn the Enable leaderboard tamper protection option to ON.
- Click Save and continue.
- Publish your game.
Once tamper protection is enabled for a leaderboard in Google Play Console, it may take up to 24 hours before this feature takes effect. Scores submitted before you enabled tamper protection are not retroactively hidden.
In some situations, you may want to disable tamper protection (for example, if your game also runs on the web in addition to Android, and shares leaderboards across these platforms).
Visit the Google Developers site to learn how to implement saved games.
Enable Saved Games
To enable the Saved Games service, complete these steps in Play Console:
- In the Google Play Console, select a game.
- In the Play Games Services - Configuration page (Grow > Play Games Services > Setup and management > Configuration), select Edit properties.
- Turn the Saved Games option to ON.
- Click Save.
After performing the steps, it may take up to 24 hours for Google Play Games Services to activate the Saved Games service for your game. If you want to test the Saved Games service immediately, manually clear the data in the Google Play Services app on your test device.
To clear the cached data on Android, open Settings > Apps > Google Play services, click on Manage Space, then click Clear All Data.
For more information about the Saved Games service, see the Saved Games game guide.
Add translations
You can set your own translations for game details, including the display name, game description, and graphic assets. You can also specify your own translations for achievements and leaderboards that are associated with your game.
To add your own translations for game details:
- In the Google Play Console, select a game.
- Navigate to the Play Games Services - Configuration page (Grow > Play Games Services > Setup and management > Configuration).
- Select Edit properties.
- Select Manage translations > Manage your own translations.
- Select the languages that you will provide translations for, then click Apply to confirm your selection. On the Properties page, the languages that you selected become available in the language selector.
- Select the language that you want to edit from the language selector, then edit the form with your translations for the display name, the description, and the graphic assets.
- Click Save changes to store your translated game details.
For more information on adding translations for achievements and leaderboards, see the achievements and leaderboards guides.
When displaying game detail, leaderboard, and achievement strings, Play Games Services uses the game-supported language that is closest to the user-requested language. For example, if the user's device language preference is set to French (Canada) (fr-CA), but the game supports only English (United States) (en-US) and French (France) (fr-FR), Play Games Services selects the fr-FR strings to display since this is the closest matching language.
Grant edit permissions to users
To automate app configuration and integrate releases into existing automated tools and processes, you can use the Google Play Games Services Publishing API. Here's how to turn on access to the Google Play Games Services Publishing API using Play Console.
- Open Google Play Console.
- Go to Setup
API access.
- If you haven't already, create a linked project.
- Next to "Games configuration API", click the On button.
Manage multiple users
If you have multiple users managing games on your developer account, you need to manage permissions from the Play Console Users and permissions page.