Nach der Einstellung der Google Sign-In API wird 2026 das games v1 SDK entfernt. Ab Februar 2025 können Sie bei Google Play keine Titel mehr veröffentlichen, die neu in games v1 SDK integriert wurden. Wir empfehlen, stattdessen das games v2 SDK zu verwenden.
Bestehende Titel mit den vorherigen games v1-Integrationen funktionieren zwar noch einige Jahre, aber wir empfehlen Ihnen, ab Juni 2025 zu v2 zu migrieren.
Dieser Leitfaden bezieht sich auf die Verwendung des Play Games-Dienste v1 SDK. Informationen zur neuesten SDK-Version finden Sie in der Dokumentation zu Version 2.
In diesem Leitfaden erfahren Sie, wie Sie die Achievements APIs in einer Android-Anwendung verwenden, um Erfolge in Ihrem Spiel freizuschalten und anzuzeigen. Die APIs befinden sich in den Paketen com.google.android.gms.games und com.google.android.gms.games.achievements.
Hinweis
Wir empfehlen Ihnen, sich mit den Konzepten für Erfolge vertraut zu machen, sofern Sie dies nicht schon getan haben.
Bevor Sie mit dem Programmieren mit der Achievements API beginnen, sollten Sie Folgendes tun:
- Folgen Sie der Anleitung zum Installieren und Einrichten Ihrer App für die Verwendung der Google Play Games-Dienste im Leitfaden Google Play-Dienste einrichten.
- Definieren Sie die Erfolge, die in Ihrem Spiel freigeschaltet oder angezeigt werden sollen, indem Sie dem Leitfaden für die Google Play Console folgen.
- Laden Sie die Codebeispiele für Erfolge auf der Android-Beispielseite herunter und sehen Sie sie sich an.
- Machen Sie sich mit den Empfehlungen der Qualitätscheckliste vertraut.
Achievements-Client abrufen
Bevor 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 und die GoogleSignInAccount für den aktuellen Spieler. Informationen zum Abrufen der Spieler-Kontoinformationen finden Sie unter Anmeldung in Android-Spielen.
Erfolge freischalten
Rufen Sie die Methode AchievementsClient.unlock() auf und übergeben Sie die Erfolgs-ID, um einen Erfolg freizuschalten.
Das folgende Code-Snippet zeigt, wie Ihre App Erfolge freischalten kann:
Games.getAchievementsClient(this, GoogleSignIn.getLastSignedInAccount(this))
.unlock(getString(R.string.my_achievement_id));Wenn der Erfolg vom Typ inkrementell ist (d. h. mehrere Schritte sind erforderlich, um ihn freizuschalten), rufen Sie stattdessen AchievementsClient.increment() auf.
Das folgende Code-Snippet zeigt, wie Ihre App die Leistung des Spielers erhöhen kann:
Games.getAchievementsClient(this, GoogleSignIn.getLastSignedInAccount(this))
.increment(getString(R.string.my_achievement_id), 1);Sie müssen keinen zusätzlichen Code schreiben, um den Erfolg freizuschalten. Google Play-Spieldienste schalten den Erfolg automatisch frei, sobald die erforderliche Anzahl von Schritten erreicht ist.
Es empfiehlt sich, die Erfolgs-IDs in der Datei strings.xml zu definieren, damit in Ihrem Spiel anhand der Ressourcen-ID auf die Erfolge verwiesen werden kann. Wenn Sie Aufrufe zum Aktualisieren und Laden von Erfolgen ausführen, sollten Sie sich auch an diese Best Practices halten, um ein Überschreiten Ihres API-Kontingents zu vermeiden.
Erfolge anzeigen
Rufen Sie AchievementsClient.getAchievementsIntent() auf, um die Erfolge eines Spielers aufzurufen und einen Intent zu erhalten, mit dem Sie die Standardbenutzeroberfläche für Erfolge erstellen können. Ihr Spiel kann die Benutzeroberfläche dann durch Aufrufen von startActivityForResult anzeigen.
Das folgende Code-Snippet zeigt, wie Ihre App die Standard-Benutzeroberfläche für Erfolge anzeigen kann.
Im Snippet ist RC_ACHIEVEMENT_UI eine beliebige Ganzzahl, die vom Spiel als Anfragecode verwendet wird.
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); } }); }
Unten sehen Sie ein Beispiel der Standard-Benutzeroberfläche für Erfolge.