Ce guide explique comment utiliser les API de classement dans une application Android
pour créer des classements visuels, enregistrer le score d'un joueur et le comparer
par rapport au score du joueur
lors des sessions de jeu précédentes. Les API sont disponibles dans les packages com.google.android.gms.games
et com.google.android.gms.games.leaderboards
.
Avant de commencer
Si vous ne l'avez pas déjà fait, consultez les concepts de classements dans les jeux.
Avant de commencer à coder à l'aide des API de classement :
- Suivez les instructions pour installer et configurer votre application les services de jeux Google Play guide Configurer le SDK des services Google Play.
- Définissez les classements que votre jeu doit afficher ou mettre à jour en suivant les instructions du guide de la Google Play Console.
- Téléchargez et examinez les exemples de code pour les classements dans le Page d'exemples Android
- Familiarisez-vous avec les recommandations décrites dans la checklist de contrôle qualité.
Obtenir le client de classement
Pour utiliser l'API de classement, votre jeu doit d'abord obtenir un objet LeaderboardsClient
.
Pour ce faire, appelez la méthode Games.getLeadeboardsClient()
et transmettez l'activité.
Mettre à jour le score du joueur
Lorsque le score du joueur change (par exemple, en fin de partie), votre jeu peut modifier son score dans le classement en appelant LeaderboardsClient.submitScore()
et en indiquant l'identifiant du classement général et la valeur du score brut.
L'extrait de code suivant montre comment votre application peut mettre à jour le score du joueur :
PlayGames.getLeaderboardsClient(this) .submitScore(getString(R.string.leaderboard_id), 1337);
Une bonne pratique consiste à définir l'identifiant du classement dans votre fichier strings.xml
afin que votre jeu puisse référencer les classements par identifiant de ressource. Lorsque vous passez des appels vers
mettre à jour et charger les scores des joueurs, assurez-vous également de suivre ces
bonnes pratiques pour éviter de dépasser votre quota d'API.
Afficher un classement
Pour afficher un classement, appelez LeaderboardsClient.getLeaderboardIntent()
afin d'obtenir un Intent
pour créer l'interface utilisateur du classement par défaut. Votre jeu peut alors afficher l'interface utilisateur en appelant startActivityForResult
.
L'extrait de code suivant montre comment votre application peut actualiser le score du joueur. Dans l'extrait de code, RC_LEADERBOARD_UI
est un nombre entier arbitraire associé au code de requête.
private static final int RC_LEADERBOARD_UI = 9004; private void showLeaderboard() { PlayGames.getLeaderboardsClient(this) .getLeaderboardIntent(getString(R.string.leaderboard_id)) .addOnSuccessListener(new OnSuccessListener<Intent>() { @Override public void onSuccess(Intent intent) { startActivityForResult(intent, RC_LEADERBOARD_UI); } }); }
Notez que même si aucun résultat n'est renvoyé, nous devons utiliser
startActivityForResult
afin que l'API puisse obtenir l'identité du package appelant. Voici un exemple d'interface utilisateur par défaut pour les classements :