In diesem Leitfaden erfahren Sie, wie Sie mit Bestenlisten-APIs in einer Android-App visuelle Bestenlisten erstellen, die Punktzahl von Spielern erfassen und diese mit der Punktzahl von Spielern aus vorherigen Spielsitzungen vergleichen können. Die APIs finden Sie in den Paketen com.google.android.gms.games
und com.google.android.gms.games.leaderboards
.
Hinweis
Falls noch nicht geschehen, solltest du dir die Konzepte der Bestenlisten für Spiele ansehen.
Bevor Sie mit den APIs für Bestenlisten 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.
- Definiere die Bestenlisten, die dein Spiel anzeigen oder aktualisieren soll. Folge dazu der Anleitung im Leitfaden zur Google Play Console.
- Codebeispiele für Bestenlisten herunterladen und auf der Android-Beispielseite ansehen
- Mache dich mit den in der Qualitäts-Checkliste beschriebenen Empfehlungen vertraut.
Client für Bestenlisten abrufen
Damit 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.
Punktzahl von Spielern aktualisieren
Wenn sich die Punktzahl des Spielers ändert (z. B. nach Beendigung des Spiels), kann das Spiel seine Punktzahl in der Bestenliste aktualisieren. Dazu wird LeaderboardsClient.submitScore()
aufgerufen und die ID der Bestenliste sowie der Punktzahl-Rohwert übergeben.
Das folgende Code-Snippet zeigt, wie deine App den Spielstand aktualisieren kann:
PlayGames.getLeaderboardsClient(this) .submitScore(getString(R.string.leaderboard_id), 1337);
Es empfiehlt sich, die Bestenlisten-ID in Ihrer strings.xml
-Datei zu definieren, damit Ihr Spiel auf die Bestenlisten anhand der Ressourcen-ID verweisen kann. Achte beim Aufrufen von Updates und beim Laden der Punktzahlen des Spielers außerdem auf diese Best Practices, damit dein API-Kontingent nicht überschritten wird.
Bestenliste anzeigen
Um die Bestenliste anzuzeigen, rufen Sie LeaderboardsClient.getLeaderboardIntent()
auf, um einen Intent
zu erhalten und die Standardbenutzeroberfläche der Bestenliste zu erstellen. Ihr Spiel kann dann durch Aufrufen von startActivityForResult
die Benutzeroberfläche aufrufen.
Das folgende Code-Snippet zeigt, wie deine App den Spielstand aktualisieren kann. Im Code-Snippet ist RC_LEADERBOARD_UI
eine beliebige Ganzzahl für den Anfragecode.
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); } }); }
Auch wenn kein Ergebnis zurückgegeben wird, müssen wir startActivityForResult
verwenden, damit die API die Identität des aufrufenden Pakets abrufen kann. Unten sehen Sie ein Beispiel für die Standard-UI für die Bestenliste.
