Ce guide explique comment utiliser les API Achievements dans une application Android pour débloquer et afficher des succès dans un jeu. Les API sont disponibles dans les packages com.google.android.gms.games
et com.google.android.gms.games.achievements
.
Avant de commencer
Si ce n'est pas déjà fait, n'hésitez pas à revoir les concepts de succès dans les jeux.
Avant de commencer à coder à l'aide de l'API Achievements :
- 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 succès que vous souhaitez que votre jeu débloque ou affiche, en suivant les instructions du guide de la Google Play Console.
- Téléchargez et examinez les exemples de code de succès disponibles sur la page des exemples Android.
- Familiarisez-vous avec les recommandations décrites dans la checklist de contrôle qualité.
Obtenir un client de succès
Pour commencer à utiliser l'API Achievements, votre jeu doit d'abord obtenir un
objet AchievementsClient
. Pour ce faire, appelez la méthode
Games.getAchievementClient()
, puis en transmettant l'activité et la
GoogleSignInAccount
pour le joueur actif. Pour savoir comment récupérer
informations de votre compte de joueur, consultez la page Se connecter aux jeux Android.
Déverrouillage des réussites
Pour déverrouiller un succès, appelez la méthode AchievementsClient.unlock()
et
transmettez l'identifiant de la réussite.
L'extrait de code suivant montre comment votre application peut débloquer des succès :
Games.getAchievementsClient(this, GoogleSignIn.getLastSignedInAccount(this)) .unlock(getString(R.string.my_achievement_id));
Si la réussite est de type incrémentiel (c'est-à-dire que plusieurs étapes sont nécessaires pour
la déverrouiller), appelez AchievementsClient.increment()
à la place.
L'extrait de code suivant montre comment votre application peut incrémenter la réussite du joueur:
Games.getAchievementsClient(this, GoogleSignIn.getLastSignedInAccount(this)) .increment(getString(R.string.my_achievement_id), 1);
Vous n'avez pas besoin d'ajouter de code pour déverrouiller la réussite. Services de jeux Google Play débloque automatiquement la réussite lorsqu'elle atteint le nombre d'étapes requis.
Une bonne pratique consiste à définir les ID de succès dans le fichier strings.xml
pour permettre à votre jeu de référencer les succès par ID de ressource. Lorsque vous effectuez des appels pour mettre à jour et charger
réussites, veillez également à suivre ces bonnes pratiques pour
sans dépasser votre quota d'API.
Afficher les réussites
Pour afficher les succès d'un joueur, appelez AchievementsClient.getAchievementsIntent()
.
pour obtenir un Intent
afin de créer
l'interface utilisateur des réussites par défaut. Votre jeu peut alors afficher l'interface utilisateur en appelant startActivityForResult
.
L'extrait de code suivant montre comment votre application peut afficher l'interface utilisateur par défaut des succès.
Dans l'extrait de code, RC_ACHIEVEMENT_UI
est un entier arbitraire que le jeu utilise comme code de requête.
private static final int RC_ACHIEVEMENT_UI = 9003; private void showAchievements() { Games.getAchievementsClient(this, GoogleSignIn.getLastSignedInAccount(this)) .getAchievementsIntent() .addOnSuccessListener(new OnSuccessListener<Intent>() { @Override public void onSuccess(Intent intent) { startActivityForResult(intent, RC_ACHIEVEMENT_UI); } }); }
Voici un exemple d'interface utilisateur de succès par défaut :
![](https://developers-dot-devsite-v2-prod.appspot.com/static/games/services/android/images/Achievements_Android.png?authuser=0000&hl=fr)