Spielerstatistiken in Android Games

Mit der Player Stats API kannst du das Spielerlebnis auf bestimmte Spielersegmente und verschiedene Phasen des Spielerlebenszyklus zuschneiden. Sie können für jedes Spielersegment individuelle Angebote erstellen, die auf dem Fortschritt, den Ausgaben und den Interaktionen der Spieler basieren. Mit dieser API kannst du beispielsweise proaktive Aktionen ausführen, um einen weniger aktiven Spieler zur erneuten Interaktion mit deinem Spiel zu motivieren, z. B. indem er neue In-Game-Artikel anzeigt und bewirbt, wenn sich der Spieler anmeldet.

In diesem Leitfaden erfahren Sie, wie Sie die Player Stats API in Spielen mit den Google Play-Spieldiensten verwenden. Die APIs finden Sie in den Paketen com.google.android.gms.games.stats und com.google.android.gms.games.

Hinweis

Bevor Sie mit der Verwendung der Player Stats API beginnen:

Clientstatistiken-Client abrufen

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

Spielerstatistik – Grundlagen

Mit der Player Stats API kannst du Daten über die In-Game-Aktivität eines Spielers abrufen. Du kannst die folgenden Spielerdaten abrufen:

  • Durchschnittliche Sitzungsdauer: Die durchschnittliche Sitzungsdauer des Spielers in Minuten. Die Sitzungsdauer wird durch die Zeit bestimmt, zu der ein Spieler in den Google Play Spiele-Diensten angemeldet ist.

  • Tage seit der letzten Wiedergabe: Die ungefähre Anzahl der Tage seit der letzten Wiedergabe des Players.

  • 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 Spielers. Sitzungen werden anhand der Häufigkeit bestimmt, mit der sich ein Spieler in den Google Play Spiele-Diensten anmeldet.

  • Sitzungsperzentil: Die Annäherung an das Sitzungsperzentil für den Player, angegeben als Dezimalwert von 0 bis einschließlich 1. Dieser Wert gibt an, wie viele Sitzungen der aktuelle Spieler im Vergleich zu den anderen Spielern dieses Spiels gespielt hat. Höhere Zahlen bedeuten, dass dieser Spieler mehr Sitzungen gespielt hat.

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

Die folgenden Arten von Spielerdaten wurden verworfen und geben immer eine nicht festgelegte Wertkonstante zurück:

  • Abwanderungswahrscheinlichkeit: Die Vorhersage, ob ein Spieler am nächsten Tag abwandern wird. Er wird als Dezimalwert zwischen 0 (niedrige Abwanderungswahrscheinlichkeit) und 1 (hohe Abwanderungswahrscheinlichkeit) angegeben. Als Abwanderung gilt 7 Tage Inaktivität.
  • Ausgabenwahrscheinlichkeit: Die ungefähre Wahrscheinlichkeit, dass der Spieler in diesem Spiel Geld ausgeben möchte. Er wird als Dezimalwert zwischen 0 (kleine Ausgabenwahrscheinlichkeit) und 1 (hohe Wahrscheinlichkeit für Ausgaben) angegeben.
  • Gesamtausgaben in den nächsten 28 Tagen: Die geschätzten Gesamtausgaben des Spielers in den nächsten 28 Tagen in diesem Spiel.
  • Hohe Kaufwahrscheinlichkeit: 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 liegt. Der Wert wird als Dezimalwert zwischen 0 (niedrige Wahrscheinlichkeit für einen hohen Kauf) und 1 (hohe Wahrscheinlichkeit für hohe Ausgaben) angegeben.

Spielerstatistikdaten werden abgerufen

So rufen Sie Spielerstatistikdaten für den aktuell 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 zu den 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 zur Verwendung von Spielerstatistiken

Mit der Play Stats API kannst du auf der Grundlage ihres Engagement- und Ausgabeverhaltens ganz einfach verschiedene Spielertypen identifizieren und entsprechende Strategien zur Verbesserung des Spielerlebnisses anwenden.

In der folgenden Tabelle sind einige Beispiele für Spielersegmente und empfohlene Interaktionsstrategien aufgeführt:

Spielersegment Interaktionsstrategie
Häufige Spieler mit einer hohen Anzahl von Sitzungen und einem guten Ausgabenprozentsatz, aber seit mindestens einer Woche nicht mehr gespielt
  • Sende eine Benachrichtigung über einen Rabatt oder einen Bonus, der bei der Rückkehr angeboten wird.
  • Begrüße die Zuschauer mit einer Willkommensnachricht und erhalte ein Abzeichen, das sie zu einer Retoure anregen soll.
Sehr aktive Spieler in einem Perzentil mit niedrigen Ausgaben.
  • Bonusangebote, mit denen sie Freunde dazu einladen können, das Spiel zu installieren und daran teilzunehmen. Dieser Ansatz baut auf dem bewährten Genre des Spielers auf, um neue Spieler anzuwerben.
Spieler mit hohen Ausgaben, die Anzeichen dafür zeigen, dass sie Höchstwerte erreicht haben und seltener spielen.
  • Bonusangebote, um das Interesse zu wecken, z. B. durch hochwertige Tools, Waffen oder Rabatte.
  • Wenn sich der Spieler das nächste Mal anmeldet, zeige ein Video, in dem er zu Community-Funktionen wie Clan-Angriffen weitergeleitet wird, die zu häufigeren und längeren Interaktionen führen.
Spieler mit sehr hoher oder sehr geringer Ausgabenwahrscheinlichkeit.
  • Wahrscheinlich nicht auszugeben: Geben Sie die Option, ein Werbevideo anzusehen. Niedrigere Preiswerte für den Kauf anzeigen.
  • Wahrscheinliche Ausgaben: Leite die Nutzer frühzeitig an den In-Game-Store weiter und biete ihnen Sonderangebote, um sie zum Kauf zu animieren.