La API de Player Stats te permite personalizar experiencias del juego para segmentos específicos de jugadores y diferentes etapas del ciclo de vida del jugador. Puedes crear experiencias personalizadas para cada segmento de jugadores según su avance, gasto y participación. Por ejemplo, puedes usar esta API para realizar acciones proactivas a fin de incentivar a un jugador menos activo para que vuelva a interesarse en tu juego; por ejemplo, mostrando y promocionando nuevos elementos del juego cuando acceda el jugador.
Esta guía te muestra cómo usar la API de Player Stats en juegos que utilizan los servicios de juego de Google Play. Las API se pueden encontrar en los paquetes com.google.android.gms.games.stats
y com.google.android.gms.games
.
Antes de comenzar
Antes de comenzar a usar la API de Player Stats, haz lo siguiente:
- Descarga y revisa el código de muestra.
- Familiarízate con las recomendaciones que se describen en la lista de tareas de calidad.
Cómo obtener el cliente de Player Stats
Para comenzar a usar la API de Player Stats, el juego primero debe obtener un objeto PlayerStatsClient
. Para lograrlo, puedes llamar al método Games.getPlayerStatsClient()
y pasar la actividad y GoogleSignInAccount
para el jugador actual. Si quieres saber cómo recuperar la información de la cuenta del jugador, consulta Información sobre el acceso a juegos para Android.
Aspectos básicos de Player Stats
Puedes usar la API de Player Stats para obtener datos sobre la actividad de un jugador en el juego. Entre los tipos de datos sobre los jugadores que puedes obtener, se incluyen los siguientes:
Duración promedio de la sesión: Indica la duración promedio de la sesión del jugador en minutos; la extensión de la sesión se determina por el tiempo que permanece conectado el jugador a los servicios de juego de Google Play.
Días desde la última vez que jugó: Indica la cantidad aproximada de días desde la última vez que jugó el usuario.
Número de compras: Indica la cantidad aproximada de compras del jugador en la aplicación.
Número de sesiones: Indica la cantidad aproximada de sesiones del jugador; las sesiones se determinan por la cantidad de veces que accede el jugador a los servicios de juego de Google Play.
Percentil de sesiones: Indica la aproximación del percentil de sesiones del jugador, dada como un valor decimal entre 0 y 1 inclusive. Este valor indica el número de sesiones en las que participó el jugador actual en comparación con el resto de la base de jugadores del juego. Los números más altos indican que ese jugador participó en más sesiones.
Percentil de gasto: Indica el percentil de gasto aproximado del jugador, dado como un valor decimal entre 0 y 1 inclusive. Este valor indica los gastos del jugador actual en comparación con el resto de la base de jugadores del juego. Los números más altos indican que los gastos de este jugador fueron mayores.
Los siguientes tipos de datos del jugador están en desuso y siempre muestran una constante de valor no establecido:
- Probabilidad de deserción: Indica la predicción de si un jugador abandonará el próximo día, dado como un valor decimal entre 0 (baja probabilidad de abandono) a 1 (alta probabilidad de abandono) inclusive. Por definición, la deserción equivale a 7 días de inactividad.
- Probabilidad de consumo: Indica la probabilidad aproximada de que el jugador elija gastar en este juego, dado como un valor decimal entre 0 (baja probabilidad de gasto) a 1 (alta probabilidad de gasto) inclusive.
- Consumo total para los próximos 28 días: Indica el gasto total aproximado del jugador durante los próximos 28 días en este juego.
- Probabilidad de consumo elevado: Indica la probabilidad aproximada de que durante los próximos 28 días un jugador gaste una cantidad que se encuentra en el percentil 95 o superior de la base de jugadores de este juego. Esto se da como un valor decimal entre 0 (baja probabilidad de convertirse en un usuario con gastos elevados) a 1 (alta probabilidad de convertirse en un usuario con gastos elevados).
Cómo recuperar datos de Player Stats
Si deseas recuperar datos de estadísticas del jugador que está conectado actualmente, sigue estos pasos:
- Llama al método
PlayerStatsClient.loadPlayerStats()
. - Si la llamada se realiza correctamente, los servicios de juego de Google Play muestran un objeto
Task
que carga un objetoPlayerStats
de forma asíncrona. Usa los métodos de este objeto para recuperar datos sobre las actividades en tu app del jugador que accedió.
Por ejemplo:
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()); } } }); }
Sugerencias para usar los datos de Player Stats
La API de Player Stats te permite identificar fácilmente varios tipos de jugadores según su participación y comportamiento de consumo, y aplicar estrategias adecuadas para mejorar la experiencia de juego.
En la siguiente tabla se muestran algunos ejemplos de segmentos de jugadores y estrategias de participación recomendadas:
Segmento de jugadores | Estrategia de participación |
---|---|
Jugadores frecuentes con una gran cantidad de sesiones y un buen percentil de consumo, pero que no hayan usado el juego durante la última semana o por más tiempo |
|
Jugadores muy activos en un percentil de consumo bajo |
|
Jugadores con consumo elevado que muestren signos de haber alcanzado un pico y comiencen a jugar con menos frecuencia |
|
Jugadores con probabilidad de consumo muy alta o muy baja |
|