L'API Player Stats vous permet d'adapter les expériences de jeu à des segments de joueurs spécifiques et à différentes étapes de leur cycle de vie. Vous pouvez créer des expériences personnalisées pour chaque segment de joueurs en fonction de leur progression, de leurs dépenses et de leur engagement. Par exemple, vous pouvez utiliser cette API pour prendre des mesures proactives afin d'encourager un joueur moins actif à reprendre son activité sur votre jeu, par exemple en affichant et faisant la promotion de nouveaux articles intégrés lorsqu'il se connecte.
Ce guide explique comment utiliser l'API Player Stats dans les jeux utilisant les services de jeux Google Play. Les API sont disponibles dans les packages com.google.android.gms.games.stats
et com.google.android.gms.games
.
Avant de commencer
Avant d'utiliser l'API Player Stats :
- Téléchargez et consultez l'exemple de code.
- Familiarisez-vous avec les recommandations décrites dans la checklist de contrôle de qualité.
Obtenir le client de statistiques des joueurs
Pour commencer à utiliser l'API Player Stats, votre jeu doit d'abord obtenir un objet PlayerStatsClient
. Pour ce faire, appelez la méthode Games.getPlayerStatsClient()
et transmettez l'activité et le GoogleSignInAccount
pour le lecteur actuel. Pour savoir comment récupérer les informations du compte du joueur, consultez Se connecter dans les jeux Android.
Principes de base des statistiques de joueur
Vous pouvez utiliser l'API Player Stats pour récupérer des données sur l'activité d'un joueur pendant son temps de jeu. Voici quelques exemples de types de données de joueurs que vous pouvez obtenir :
Durée moyenne de la session : durée moyenne de la session du joueur, en minutes. La durée de la session est déterminée par le temps pendant lequel le joueur est connecté aux services de jeux Google Play.
Nombre de jours depuis la dernière partie : nombre approximatif de jours écoulés depuis la dernière partie.
Nombre d'achats : nombre approximatif d'achats via l'application pour ce joueur.
Nombre de sessions : nombre approximatif de sessions du joueur. Ce nombre est déterminé par le nombre de fois où un joueur se connecte aux services de jeux Google Play.
Centile de session : approximation du centile de session pour le joueur, exprimée sous la forme d'une valeur décimale comprise entre 0 et 1 inclus. Cette valeur indique le nombre de sessions du joueur actif par rapport au reste de la base de joueurs de ce jeu. Un nombre élevé indique qu'il a joué plus de sessions.
Centile de dépenses : centile approximatif des dépenses du joueur, exprimé sous la forme d'une valeur décimale comprise entre 0 et 1 inclus. Cette valeur indique le montant dépensé par ce joueur actuel par rapport au reste de la base de joueurs de ce jeu. Un nombre élevé indique des dépenses plus importantes.
Les types de données de joueur suivants sont obsolètes et renvoient systématiquement une constante de valeur non définie :
- Probabilité de perte de l'utilisateur : prédiction de perte du joueur à compter du jour suivant, exprimée sous la forme d'une valeur décimale comprise entre 0 (faible probabilité de perte d'utilisateur) et 1 (probabilité élevée de perte d'utilisateur) inclus. On parle de "perte d'utilisateur" en cas d'inactivité pendant 7 jours.
- Probabilité de dépense : probabilité approximative que le joueur choisisse d'effectuer des dépenses dans ce jeu, exprimée sous la forme d'une valeur décimale comprise entre 0 (faible probabilité de dépense) et 1 (probabilité élevée de dépenses) inclus.
- Projection des dépenses sur 28 jours : prédiction du montant total estimé des dépenses du joueur au cours des 28 jours suivants pour ce jeu.
- Probabilité d'un niveau de dépenses élevé : probabilité qu'un joueur dépense, au cours des 28 prochains jours, un montant inférieur ou égal au 95ᵉ centile de la base de joueurs de ce jeu. Il s'agit d'une valeur décimale comprise entre 0 (faible probabilité que le joueur effectue des dépenses élevées) et 1 (probabilité élevée de dépenses élevées).
Récupérer les données statistiques des joueurs
Pour récupérer les données statistiques du joueur connecté, procédez comme suit :
- Appelez la méthode
PlayerStatsClient.loadPlayerStats()
. - Si l'appel aboutit, les services de jeux Google Play renvoient un objet
Task
qui charge un objetPlayerStats
de manière asynchrone. Utilisez les méthodes de cet objet pour récupérer des données sur les activités du joueur connecté dans votre application.
Exemple :
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()); } } }); }
Conseils pour utiliser les données de statistiques des joueurs
L'API Play Stats vous permet d'identifier facilement différents types de joueurs en fonction de leur engagement et de leur comportement d'achat. Vous pouvez ainsi appliquer les stratégies appropriées pour améliorer leur expérience de jeu.
Le tableau suivant présente quelques exemples de segments de joueurs et les stratégies d'engagement correspondantes recommandées :
Segment de joueurs | Stratégie d'engagement |
---|---|
Joueurs fréquents avec un grand nombre de sessions et un niveau de dépenses satisfaisant, mais qui n'ont pas joué depuis au moins une semaine. |
|
Joueurs très engagés dans un centile de dépenses faible. |
|
Joueurs ayant beaucoup dépensé, mais dont l'activité décline. |
|
Joueurs ayant une probabilité de dépense très élevée ou très faible. |
|