Erfolge für Android-Spiele

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:

Client für Erfolge abrufen

Damit Sie die Achievements API verwenden können, muss Ihr Spiel zuerst eine AchievementsClient -Objekt enthält. Rufen Sie dazu die Methode Games.getAchievementClient() und übergeben die Aktivität.

Erfolge freischalten

Rufe zum Freischalten eines Erfolgs den AchievementsClient.unlock() 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));

Ist der Erfolg vom Typ inkrementell (d. h. mehrere Schritte sind erforderlich, um sie zu entsperren), rufen Sie stattdessen AchievementsClient.increment() an.

Das folgende Code-Snippet zeigt, wie Ihre App die Conversion-Rate Erfolg:

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 Der Erfolg wird automatisch entsperrt, sobald die erforderliche Anzahl von Schritte.

Es empfiehlt sich, die Erfolgs-IDs in der Datei strings.xml zu definieren, kann Ihr Spiel anhand der Ressourcen-ID auf die Erfolge verweisen. Wenn Sie Anrufe bei zum Aktualisieren und Laden von Erfolgen, beachten Sie auch diese Best Practices, um eine Überschreitung Ihrer API zu vermeiden Kontingent.

Erfolge anzeigen

Rufen Sie AchievementsClient.getAchievementsIntent() auf, um sich die Erfolge eines Spielers anzusehen. um eine Intent um die Standardoberfläche für Erfolge zu erstellen. Ihr Spiel zeigt dann der Benutzeroberfläche hinzu, indem Sie startActivityForResult

Das folgende Code-Snippet zeigt, wie in Ihrer App die Standard- Benutzeroberfläche des Erfolgs. Im Snippet steht RC_ACHIEVEMENT_UI für eine beliebige Stelle. Ganzzahl, die das Spiel als Anforderungscode 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 der Standard-Benutzeroberfläche für Erfolge.