Ce guide explique comment utiliser l'API Player Stats pour les services de jeux Google Play. 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.
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. Cela peut passer par l'affichage et la promotion de nouveaux articles intégrés lorsqu'il se connecte.
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 qualité.
Obtenir le client Player Stats
Pour commencer à utiliser l'API Player Stats, votre jeu doit d'abord obtenir un objet PlayerStatsClient. Pour ce faire, appelez la méthode PlayerStatsClient.getPlayersClient() et transmettez l'activité.
La classe PlayerStatsClient utilise la classe Task des services Google Play pour renvoyer les résultats de manière asynchrone. Pour en savoir plus sur l'utilisation de tâches pour gérer les threads, consultez le guide du développeur pour l'API Tasks.
Principes de base de Player Stats
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 des types de données 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 correspond à la durée de connexion du joueur 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. Cette valeur correspond au nombre de fois qu'un joueur se connecte aux services de jeux Google Play.
Centile de sessions : centile approximatif des sessions du joueur, exprimé sous la forme d'une valeur décimale comprise entre 0 et 1 inclus. Cette valeur indique le nombre de sessions du joueur en cours 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 le joueur en cours 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 suivants sont obsolètes et renvoient systématiquement une constante de valeur non définie :
- Probabilité de perte de l'utilisateur : probabilité de perdre le joueur dans la journée à venir, exprimée sous la forme d'une valeur décimale comprise entre 0 (faible probabilité) et 1 (forte probabilité) 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é) et 1 (forte probabilité) inclus.
- Projection des dépenses sur 28 jours : montant total approximatif des dépenses attendues du joueur au cours des 28 prochains jours dans ce jeu.
- Probabilité d'un niveau de dépenses élevé : probabilité approximative qu'un joueur dépense, au cours des 28 prochains jours, un montant inférieur ou égal au 95e centile de la base de joueurs de ce jeu. Il s'agit d'une valeur décimale comprise entre 0 (faible probabilité) et 1 (forte probabilité).
Récupérer les données Player Stats
Pour récupérer les données Player Stats du joueur connecté :
Appelez la méthode
PlayerStatsClient.loadPlayerStats().Si l'appel aboutit, les services de jeux Google Play renvoient un objet
Taskqui charge un objetPlayerStatsde 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() { 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()); } } }); }
Conseils pour utiliser les données Player Stats
L'API Player Stats vous permet d'identifier différents types de joueurs en fonction de leur engagement et de leur comportement de dépense. 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 bon centile de dépenses, 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é a commencé à décliner après avoir atteint un pic. |
|
| Joueurs ayant une probabilité de dépense très élevée ou très faible. |
|