In diesem Leitfaden erfahren Sie, wie Sie die Erfolgs-APIs in einer Android-App nutzen können, um Erfolge in Ihrem Spiel zu entsperren und anzuzeigen. Die APIs finden Sie in den Paketen com.google.android.gms.games
und com.google.android.gms.games.achievements
.
Hinweis
Falls Sie es noch nicht getan haben, kann es hilfreich sein, sich die Konzepte des Erfolgs von Spielen durchzulesen.
Bevor Sie mit der Achievements API programmieren, sollten Sie Folgendes tun:
- Folgen Sie der Anleitung zur Installation und Einrichtung Ihrer App für die Verwendung der Google Play-Spieldienste in der Anleitung Google Play Services SDK einrichten.
- Definieren Sie die Erfolge, die Ihr Spiel entsperren oder anzeigen soll, indem Sie der Anleitung im Google Play Console-Leitfaden folgen.
- Die Codebeispiele für Erfolge können Sie auf der Seite mit Android-Beispielen herunterladen und prüfen.
- Mache dich mit den in der Qualitäts-Checkliste beschriebenen Empfehlungen vertraut.
Erfolgsclient abrufen
Damit Sie die Erfolge API verwenden können, muss Ihr Spiel zuerst ein AchievementsClient
-Objekt abrufen. Rufen Sie dazu die Methode Games.getAchievementClient()
auf und übergeben Sie die Aktivität.
Erfolge freischalten
Rufen Sie zum Entsperren eines Erfolgs die Methode AchievementsClient.unlock()
auf und übergeben Sie die Erfolgs-ID.
Das folgende Code-Snippet zeigt, wie Sie mit Ihrer App Erfolge freischalten können:
PlayGames.getAchievementsClient(this).unlock(getString(R.string.my_achievement_id));
Wenn der Erfolg vom Typ inkrementell ist (es sind also mehrere Schritte erforderlich, um ihn zu entsperren), rufen Sie stattdessen AchievementsClient.increment()
auf.
Das folgende Code-Snippet zeigt, wie deine App den Erfolg des Spielers steigern kann:
PlayGames.getAchievementsClient(this).increment(getString(R.string.my_achievement_id), 1);
Sie müssen keinen zusätzlichen Code schreiben, um den Erfolg zu entsperren. Die Google Play-Spieldienste entsperren den Erfolg automatisch, sobald die erforderliche Anzahl von Schritten erreicht ist.
Es ist sinnvoll, die Erfolgs-IDs in der Datei strings.xml
zu definieren, damit Ihr Spiel die Erfolge anhand der Ressourcen-ID referenzieren kann. Beachten Sie beim Aufrufen und Aktualisieren von Erfolgen unbedingt die folgenden Best Practices, damit Ihr API-Kontingent nicht überschritten wird.
Erfolge anzeigen
Um die Erfolge eines Spielers anzuzeigen, rufen Sie AchievementsClient.getAchievementsIntent()
auf. Sie erhalten dann einen Intent
zum Erstellen der Standardoberfläche für Erfolge. Ihr Spiel kann dann durch Aufrufen von startActivityForResult
die Benutzeroberfläche aufrufen.
Das folgende Code-Snippet zeigt, wie die App die Standardoberfläche für Erfolge anzeigt.
Im Snippet ist RC_ACHIEVEMENT_UI
eine beliebige Ganzzahl, die das Spiel als Anfragecode verwendet.
private static final int RC_ACHIEVEMENT_UI = 9003; private void showAchievements() { PlayGames.getAchievementsClient(this) .getAchievementsIntent() .addOnSuccessListener(new OnSuccessListener<Intent>() { @Override public void onSuccess(Intent intent) { startActivityForResult(intent, RC_ACHIEVEMENT_UI); } }); }
Unten sehen Sie ein Beispiel für die Standardoberfläche für Erfolge.
