Spielerstatistiken in Android-Spielen

Mit der API für Spielerstatistiken können Sie das Spielerlebnis auf bestimmte Spielersegmente und verschiedene Phasen des Spielerlebenszyklus zuschneiden. Sie können für jedes Spielersegment personalisierte Inhalte erstellen, die auf dem Fortschritt, den Ausgaben und der Interaktion der Spieler basieren. Sie können diese API beispielsweise verwenden, um einen weniger aktiven Spieler zu einer erneuten Interaktion mit Ihrem Spiel zu bewegen, z. B. indem Sie bei der Anmeldung des Spielers neue In-Game-Artikel anzeigen und bewerben.

In diesem Leitfaden erfahren Sie, wie Sie die Player Stats API in Spielen mithilfe der Google Play-Spieldienste verwenden. Die APIs befinden sich in den Paketen com.google.android.gms.games.stats und com.google.android.gms.games.

Hinweis

Vor der Verwendung der Player Stats API:

Client für Spielerstatistiken abrufen

Damit du die Player Stats API verwenden kannst, muss dein Spiel zuerst ein PlayerStatsClient-Objekt abrufen. Rufe dazu die Methode Games.getPlayerStatsClient() auf und übergebe die Aktivität und die GoogleSignInAccount für den aktuellen Spieler. Informationen zum Abrufen der Informationen zum Spielerkonto findest du unter Anmeldung in Android-Spielen.

Spielerstatistiken – Grundlagen

Mit der Player Stats API können Sie Daten zur In-Game-Aktivität eines Spielers abrufen. Du kannst unter anderem folgende Spielerdaten abrufen:

  • Durchschnittliche Sitzungsdauer: Die durchschnittliche Sitzungsdauer des Nutzers in Minuten. Die Sitzungsdauer wird durch die Zeit bestimmt, während der ein Spieler in den Google Play-Spieldiensten angemeldet ist.

  • Tage seit der letzten Aktivität: Die ungefähre Anzahl der Tage, seit der Spieler zuletzt aktiv war.

  • Anzahl der Käufe: Die ungefähre Anzahl der In-App-Käufe des Spielers.

  • 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-Spieldiensten anmeldet.

  • Sitzungsprozentil: Die Schätzung des Sitzungsprozentils für den Spieler, angegeben als Dezimalwert zwischen 0 und 1. Dieser Wert gibt an, wie viele Sitzungen der aktuelle Spieler im Vergleich zum Rest der Spielerbasis dieses Spiels gespielt hat. Je höher die Zahl, desto mehr Sitzungen hat dieser Spieler absolviert.

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

Die folgenden Arten von Player-Daten sind eingestellt und geben immer die Konstante „unset“ zurück:

  • Abwanderungswahrscheinlichkeit: Die Vorhersage, ob ein Spieler am nächsten Tag abwandern wird. Sie wird als Dezimalzahl zwischen 0 (niedrige Abwanderungswahrscheinlichkeit) und 1 (hohe Abwanderungswahrscheinlichkeit) angegeben. Als Abwanderung wird eine Inaktivität von 7 Tagen definiert.
  • Ausgabenwahrscheinlichkeit: Die ungefähre Wahrscheinlichkeit, dass sich der Spieler für dieses Spiel entschieden hat, angegeben als Dezimalwert zwischen 0 (niedrige Wahrscheinlichkeit von Ausgaben) und einschließlich 1 (hohe Ausgabenwahrscheinlichkeit).
  • Gesamtausgaben in den nächsten 28 Tagen: Die geschätzten Gesamtausgaben der Spieler in diesem Spiel in den nächsten 28 Tagen.
  • Wahrscheinlichkeit für hohe Ausgaben: Die ungefähre Wahrscheinlichkeit, dass ein Spieler in den nächsten 28 Tagen einen Betrag ausgibt, der dem 95. Perzentil oder höher der Spielerbasis dieses Spiels entspricht. Dieser Wert wird als Dezimalzahl zwischen 0 (geringe Wahrscheinlichkeit, dass der Nutzer ein Vielbeschäftigter wird) und 1 (hohe Wahrscheinlichkeit, dass der Nutzer ein Vielbeschäftigter wird) angegeben.

Daten zu Spielerstatistiken abrufen

So rufst du Spielerstatistiken für den aktuell angemeldeten Spieler ab:

  1. Rufen Sie die Methode PlayerStatsClient.loadPlayerStats() auf.
  2. Wenn der Aufruf erfolgreich ist, gibt Google Play Spiele ein Task-Objekt zurück, das asynchron ein PlayerStats-Objekt lädt. Mit den Methoden dieses Objekts kannst du Daten zu den Aktivitäten des angemeldeten Spielers in deiner App abrufen.

Beispiel:

public void checkPlayerStats() {
  Games.getPlayerStatsClient(this, GoogleSignIn.getLastSignedInAccount(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 können Sie verschiedene Arten von Spielern anhand ihres Interaktions- und Ausgabeverhaltens ganz einfach identifizieren und entsprechende Strategien zur Verbesserung des Spiels anwenden.

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

Spielersegment Strategie für die Interaktion
Häufige Spieler mit einer hohen Anzahl von Sitzungen und einem guten Prozentsatz der Ausgaben, die seit mindestens einer Woche nicht mehr gespielt haben.
  • Senden Sie eine Benachrichtigung über einen Rabatt oder einen speziellen Bonus, der verfügbar ist, wenn der Nutzer wieder spielt.
  • Zeigen Sie eine Willkommensnachricht mit einer Anerkennung für beeindruckende Leistungen und verleihen Sie ein Abzeichen, das zum Wiedereinstieg animieren soll.
Spieler mit hoher Interaktionsrate, die zu den niedrigsten Ausgabenprozentilen gehören.
  • Passen Sie Boni an, um Nutzer dazu anzuregen, ihre Freunde dazu einzuladen, Ihr Spiel zu installieren und zu spielen. Bei diesem Ansatz wird die Freude der Spieler am Spiel genutzt, um neue Spieler zu gewinnen.
Spieler mit hohen Ausgaben, die Anzeichen dafür zeigen, dass sie ihren Höhepunkt erreicht haben und seltener spielen.
  • Passen Sie Boni an, um das Interesse der Spieler zu wecken, z. B. indem Sie hochwertige, kurzlebige Tools, Waffen oder Rabatte anbieten.
  • Wenn sich der Spieler das nächste Mal anmeldet, wird ein Video eingeblendet, in dem er zu Community-Funktionen wie Clanangriffen weitergeleitet wird, die zu häufigeren und längeren Interaktionen führen.
Spieler mit sehr hoher oder sehr niedriger Ausgabenwahrscheinlichkeit
  • Unwahrscheinliche Ausgaben: Es ist unwahrscheinlich, dass sie ein Werbevideo ansehen. Zeigen Sie Artikel zu einem niedrigeren Preis an.
  • Wahrscheinlichkeit eines Kaufs: Verweise ihn frühzeitig in den In-Game-Shop und biete Sonderaktionen an, um ihn zum Kauf zu motivieren.