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:
- Laden Sie das Codebeispiel herunter und prüfen Sie es.
- Mache dich mit den in der Qualitäts-Checkliste beschriebenen Empfehlungen vertraut.
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 und den GoogleSignInAccount
für den aktuellen Spieler. Informationen zum Abrufen der Spielerkontoinformationen findest du unter In Android Games anmelden.
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:
- Rufen Sie die Methode
PlayerStatsClient.loadPlayerStats()
auf. - Wenn der Aufruf erfolgreich ist, geben die Google Play-Spieldienste ein
Task
-Objekt zurück, das asynchron einPlayerStats
-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() { 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 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 |
|
Sehr aktive Spieler in einem Perzentil mit niedrigen Ausgaben. |
|
Spieler mit hohen Ausgaben, die Anzeichen dafür zeigen, dass sie Höchstwerte erreicht haben und seltener spielen. |
|
Spieler mit sehr hoher oder sehr geringer Ausgabenwahrscheinlichkeit. |
|