Spielerstatistiken für Android-Spiele

In dieser Anleitung erfährst du, wie du die Player Stats API für die Google Play-Spieldienste verwendest. Mit der Player Stats API können Sie Daten zur In-Game-Aktivität eines Spielers abrufen.

Mit der Player Stats API können Sie das Spielerlebnis an bestimmte Spielersegmente und verschiedene Phasen des Spielerlebenszyklus anpassen. Je nach Fortschritt, Ausgaben und Interaktion der Spieler können Sie maßgeschneiderte Erlebnisse für jedes Spielersegment erstellen. Sie können diese API beispielsweise verwenden, um proaktive Maßnahmen zu ergreifen, um einen weniger aktiven Spieler zu ermutigen, sich noch einmal mit Ihrem Spiel zu beschäftigen. Dazu können Sie z. B. neue In-Game-Artikel anzeigen und bewerben, wenn sich der Spieler anmeldet.

Sie finden die APIs in den Paketen com.google.android.gms.games.stats und com.google.android.gms.games.

Zu den Spielerdaten, die Sie abrufen können, gehören:

  • Durchschnittliche Sitzungslänge: Die durchschnittliche Sitzungslänge des Spielers in Minuten. Die Länge der Sitzung wird durch die Zeit bestimmt, zu der ein Spieler in den Google Play-Spieldiensten angemeldet ist.

  • Tage seit der letzten Wiedergabe: Die ungefähre Anzahl von Tagen, die der Spieler zuletzt gespielt hat.

  • Anzahl der Käufe: Die ungefähre Anzahl der In-App-Käufe für den Spieler.

  • Anzahl der Sitzungen: Die ungefähre Anzahl der Sitzungen des Players. Sitzungen werden durch die Häufigkeit bestimmt, mit der sich ein Spieler in den Google Play-Spieldiensten anmeldet.

  • Sitzungsperzentil: Die ungefähre Schätzung des Sitzungsperzentils für den Spieler als Dezimalwert zwischen 0 und 1 (jeweils einschließlich). Dieser Wert gibt an, wie viele Sitzungen der aktuelle Spieler im Vergleich zur restlichen Spielerbasis dieses Spiels gespielt hat. Höhere Zahlen zeigen an, dass dieser Spieler mehr Sitzungen gespielt hat.

  • Ausgabenperzentil: Das ungefähre Ausgabenperzentil des Spielers als Dezimalwert zwischen 0 und 1 (jeweils einschließlich). Dieser Wert gibt an, wie viel der aktuelle Spieler im Vergleich zur restlichen Spielerbasis dieses Spiels ausgegeben hat. Höhere Zahlen zeigen an, dass dieser Spieler mehr ausgegeben hat.

Die folgenden Arten von Spielerdaten werden nicht mehr unterstützt und geben immer einen nicht festgelegten Wert als Konstante zurück:

  • Abwanderungswahrscheinlichkeit: Die Vorhersage, ob ein Spieler am nächsten Tag abwandern wird. Sie wird als Dezimalwert zwischen 0 (geringe Abwanderungswahrscheinlichkeit) und 1 (hohe Abwanderungswahrscheinlichkeit) angegeben. Eine Abwanderungsrate wird als 7 Tage Inaktivität definiert.
  • Ausgabenwahrscheinlichkeit: Die ungefähre Wahrscheinlichkeit, dass der Spieler in diesem Spiel etwas kauft. Sie wird als Dezimalwert zwischen 0 (niedrige Ausgabewahrscheinlichkeit) und einschließlich 1 (hohe Wahrscheinlichkeit der Ausgaben) angegeben.
  • Gesamtausgaben in den nächsten 28 Tagen: Die geschätzten Gesamtausgaben der Spieler in den nächsten 28 Tagen in diesem Spiel.
  • Wahrscheinlichkeit eines Spielers mit hohen Ausgaben: Die ungefähre Wahrscheinlichkeit, dass ein Spieler in den nächsten 28 Tagen einen Betrag ausgibt, der im 95. Perzentil oder höher der Spielerbasis dieses Spiels liegt. Sie wird als Dezimalwert zwischen 0 (geringe Wahrscheinlichkeit, ein zahlender Kunde zu werden) und 1 (hohe Wahrscheinlichkeit, ein zahlender Kunde zu werden) angegeben.

Vorbereitung

Bevor du die Player Stats API verwendest, solltest du Folgendes tun:

Client abrufen

Damit du die Player Stats API verwenden kannst, muss dein Spiel zuerst ein PlayerStatsClient-Objekt abrufen. Rufen Sie dazu die Methode Games.getPlayerStatsClient() auf und übergeben Sie die Aktivität.

Die Klasse PlayerStatsClient nutzt die Klasse Task der Google Play-Dienste, um Ergebnisse asynchron zurückzugeben. Weitere Informationen zur Verwendung von Aufgaben zum Verwalten von Aufgaben mit Unterhaltungsthreads finden Sie im Entwicklerleitfaden für die Tasks API.

Daten abrufen

So rufen Sie Spielerstatistikdaten für den derzeit angemeldeten Spieler ab:

  1. Rufen Sie die Methode PlayerStatsClient.loadPlayerStats() auf.

  2. Wenn der Aufruf erfolgreich ist, geben die Google Play-Spieldienste ein Task-Objekt zurück, das asynchron ein PlayerStats-Objekt lädt. Verwenden Sie die Methoden dieses Objekts, um Daten über die Aktivitäten des angemeldeten Spielers in Ihrer App abzurufen.

Beispiel:

public void checkPlayerStats() {
  PlayGames.getPlayerStatsClient(this)
      .loadPlayerStats(true)
      .addOnCompleteListener(new OnCompleteListener<AnnotatedData<PlayerStats>>() {
        @Override
        public void onComplete(@NonNull Task<AnnotatedData<PlayerStats>> task) {
          if (task.isSuccessful()) {
            // Check for cached data.
            if (task.getResult().isStale()) {
              Log.d(TAG, "using cached data");
            }
            PlayerStats stats = task.getResult().get();
            if (stats != null) {
              Log.d(TAG, "Player stats loaded");
              if (stats.getDaysSinceLastPlayed() > 7) {
                Log.d(TAG, "It's been longer than a week");
              }
              if (stats.getNumberOfSessions() > 1000) {
                Log.d(TAG, "Veteran player");
              }
              if (stats.getChurnProbability() == 1) {
                Log.d(TAG, "Player is at high risk of churn");
              }
            }
          } else {
            int status = CommonStatusCodes.DEVELOPER_ERROR;
            if (task.getException() instanceof ApiException) {
              status = ((ApiException) task.getException()).getStatusCode();
            }
            Log.d(TAG, "Failed to fetch Stats Data status: "
                + status + ": " + task.getException());
          }
        }
      });
}

Tipps

Mit der Play Stats API kannst du ganz einfach verschiedene Arten von Spielern basierend auf ihren Interaktionen und ihrem Ausgabeverhalten identifizieren und geeignete Strategien zur Optimierung des Spielerlebnisses anwenden.

Die folgende Tabelle enthält einige Beispiele für Spielersegmente und empfohlene Strategien für die Interaktion:

Spielersegment Interaktionsstrategie
Häufige Spieler mit einer hohen Anzahl von Sitzungen und einem guten Ausgabenperzentil, haben aber in der letzten Woche oder länger nicht gespielt.
  • Sende eine Benachrichtigung über einen Rabatt oder einen Sonderbonus, der nach der Rückkehr verfügbar ist.
  • Zeige eine Willkommensnachricht, in der du für beeindruckende Leistungen würdigst, und verliere ein Abzeichen, das Nutzer dazu ermutigt, wiederzuspielen.
Besonders aktive Spieler in einem Perzentil mit niedrigen Ausgaben
  • Erstelle Boni als Anreiz, um ihre Freunde dazu einzuladen, dein Spiel zu installieren und daran teilzunehmen. Dieser Ansatz baut auf dem nachgewiesenen Spaß am Spiel auf und rekrutiert neue Spieler.
Spieler mit hohen Ausgaben, die Anzeichen für einen Höchstwert haben und seltener spielen.
  • Anpassen von Boni, um ihr Interesse zu wecken, z. B. durch Anbieten hochwertiger Tools für die Kurzzeitnutzung, Waffen oder Rabatte.
  • Wenn sich der Spieler das nächste Mal anmeldet, wird ihm ein Video angezeigt, über das er zu Community-Funktionen wie Clanangriffen weitergeleitet wird, mit denen die Interaktion häufiger und länger dauert.
Spieler mit sehr hoher oder sehr niedriger Ausgabenwahrscheinlichkeit.
  • Ausgaben unwahrscheinlich: Die Option anbieten, sich ein Werbevideo anzusehen. Preisgünstigere Artikel zum Kauf anzeigen.
  • Wahrscheinliche Ausgaben: Verweise ihn frühzeitig auf den In-Game-Store und biete spezielle Werbeaktionen an, um Nutzer zum Kauf zu motivieren.