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. Mit dieser API können Sie beispielsweise proaktive Maßnahmen ergreifen, um weniger aktive Spieler dazu anzuregen, Ihr Spiel wieder zu spielen. So können Sie beispielsweise neue In-Game-Artikel präsentieren und bewerben, wenn sich der Spieler anmeldet.

In diesem Leitfaden erfahren Sie, wie Sie die Player Stats API in Spielen mit 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 du die Player Stats API verwenden kannst, musst du Folgendes tun:

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 zu den Aktivitäten eines Spielers im Spiel 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.

  • Prozentil der Ausgaben: Das ungefähre Ausgaben-Perzentil des Nutzers, angegeben als Dezimalwert zwischen 0 und 1. Dieser Wert gibt an, wie viel der aktuelle Spieler im Vergleich zum Rest der Spielerbasis dieses Spiels ausgegeben hat. Je höher die Zahl, desto mehr hat dieser Spieler ausgegeben.

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 der Spieler in diesem Spiel etwas kauft. Sie wird als Dezimalzahl zwischen 0 (geringe Ausgabenwahrscheinlichkeit) und 1 (hohe Ausgabenwahrscheinlichkeit) angegeben.
  • 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.

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 findest du einige Beispiele für Spielersegmente und empfohlene Strategien für die Interaktion:

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: Bieten Sie die Möglichkeit, sich ein Werbevideo anzusehen. Zeigen Sie Artikel zu einem niedrigeren Preis an.
  • Kaufbereitschaft: Leiten Sie sie frühzeitig zum In-Game-Shop und bieten Sie spezielle Angebote an, um sie zum Kauf anzuregen.