In diesem Leitfaden erfahren Sie, wie Sie die Success APIs in einer Android-App verwenden.
um Erfolge in deinem Spiel freizuschalten und anzuzeigen. Die APIs finden Sie
in der com.google.android.gms.games
und com.google.android.gms.games.achievements
Pakete.
Hinweis
Falls Sie dies noch nicht getan haben, kann es hilfreich sein, sich die Konzepte für Erfolge.
Bevor Sie mit dem Programmieren mit der Achievements API beginnen:
- Folgen Sie der Anleitung zum Installieren und Einrichten der App, Google Play-Spieldienste in der Google Play Services SDK einrichten
- Legen Sie die Erfolge fest, die Ihr Spiel freischalten oder anzeigen soll, indem Sie folgen Sie der Anleitung im Leitfaden zur Google Play Console.
- Laden Sie die Codebeispiele für Erfolge in der Android-Beispielseite
- Machen Sie sich mit den im Artikel Checkliste für die Qualität
Client für Erfolge abrufen
Damit Sie die Achievements API verwenden können, muss Ihr Spiel zuerst eine
AchievementsClient
-Objekt. Rufen Sie dazu die Methode
Games.getAchievementClient()
und übergeben die Aktivität.
Erfolge freischalten
Rufen Sie zum Freischalten eines Erfolgs die Methode AchievementsClient.unlock()
auf und
die Erfolgs-ID übergeben.
Das folgende Code-Snippet zeigt, wie Sie mit Ihrer App Erfolge freischalten können:
PlayGames.getAchievementsClient(this).unlock(getString(R.string.my_achievement_id));
Bei einem Erfolg vom Typ inkrementell, d. h., es sind mehrere Schritte erforderlich, um
entsperren Sie es), rufen Sie stattdessen AchievementsClient.increment()
an.
Das folgende Code-Snippet zeigt, wie Ihre 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 freizuschalten. Google Play-Spieldienste schaltet 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,
kann Ihr Spiel anhand der Ressourcen-ID auf die Erfolge verweisen. Bei Aufrufen zum Aktualisieren und Laden
erhalten, sollten Sie auch diese Best Practices befolgen,
damit Ihr API-Kontingent nicht überschritten wird.
Erfolge anzeigen
Rufen Sie AchievementsClient.getAchievementsIntent()
auf, um sich die Erfolge eines Spielers anzusehen.
um eine Intent
zum Erstellen
die Standardbenutzeroberfläche für Erfolge. Ihr Spiel kann dann die Benutzeroberfläche aufrufen, indem Sie
startActivityForResult
Das folgende Code-Snippet zeigt, wie die Standardbenutzeroberfläche für Erfolge in Ihrer App dargestellt werden kann.
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 Standardbenutzeroberfläche für Erfolge.