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 Bestenlisten-APIs in einer Android-Anwendung verwenden, um visuelle Bestenlisten zu erstellen, die Punktzahl eines Spielers aufzuzeichnen und die Punktzahl mit der Punktzahl des Spielers aus früheren Spielsitzungen zu vergleichen. Die APIs befinden sich in den Paketen com.google.android.gms.games und com.google.android.gms.games.leaderboards.
Hinweis
Wir empfehlen Ihnen, sich mit den Konzepten für Bestenlisten vertraut zu machen, sofern Sie dies nicht schon getan haben.
Bevor Sie damit beginnen, die Bestenlisten-APIs fürs Coden einzusetzen, 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 Bestenlisten, die in Ihrem Spiel angezeigt oder aktualisiert werden sollen, indem Sie dem Leitfaden für die Google Play Console folgen.
- Laden Sie die Codebeispiele für Bestenlisten auf der Android-Beispielseite herunter und sehen Sie sie sich an.
- Machen Sie sich mit den Empfehlungen der Qualitätscheckliste vertraut.
Bestenlisten-Client abrufen
Bevor Sie die Bestenlisten-API verwenden können, muss Ihr Spiel zuerst ein LeaderboardsClient-Objekt abrufen.
Rufen Sie dazu die Methode Games.getLeadeboardsClient() 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.
Punktzahl des Spielers aktualisieren
Wenn sich die Punktzahl des Spielers ändert (z. B. wenn der Spieler das Spiel beendet), kann das Spiel die Punktzahl in der Bestenliste aktualisieren, indem es LeaderboardsClient.submitScore() aufruft und die Bestenlisten-ID und den neuen Punktestand übergibt.
Das folgende Code-Snippet zeigt, wie Ihre App die Punktzahl des Spielers aktualisieren kann:
Games.getLeaderboardsClient(this, GoogleSignIn.getLastSignedInAccount(this))
.submitScore(getString(R.string.leaderboard_id), 1337);Es empfiehlt sich, die Bestenlisten-ID in der Datei strings.xml zu definieren, damit Ihr Spiel anhand der Ressourcen-ID auf die Bestenlisten verweisen kann. Wenn Sie Aufrufe zum Aktualisieren und Laden von Spielergebnissen ausführen, sollten Sie auch diese Best Practices befolgen, um ein Überschreiten Ihres API-Kontingents zu vermeiden.
Bestenliste anzeigen
Rufen Sie LeaderboardsClient.getLeaderboardIntent() auf, um die Bestenliste aufzurufen und einen Intent zu erhalten, mit dem Sie die Standardbenutzeroberfläche für die Bestenliste erstellen können. Ihr Spiel kann die Benutzeroberfläche dann durch Aufrufen von startActivityForResult anzeigen.
Das folgende Code-Snippet zeigt, wie Ihre App die Punktzahl des Spielers aktualisieren kann. Im Code-Snippet ist RC_LEADERBOARD_UI eine beliebige Ganzzahl für den Anforderungscode.
private static final int RC_LEADERBOARD_UI = 9004; private void showLeaderboard() { Games.getLeaderboardsClient(this, GoogleSignIn.getLastSignedInAccount(this)) .getLeaderboardIntent(getString(R.string.leaderboard_id)) .addOnSuccessListener(new OnSuccessListener<Intent>() { @Override public void onSuccess(Intent intent) { startActivityForResult(intent, RC_LEADERBOARD_UI); } }); }
Auch wenn kein Ergebnis zurückgegeben wird, müssen wir startActivityForResult verwenden, damit die API das aufrufende Paket erkennen kann. Ein Beispiel der standardmäßigen Bestenlisten-UI wird unten angezeigt.