Estadísticas de jugadores en juegos para Android

La API de estadísticas de jugadores 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, consumo y participación. Por ejemplo, puedes usar esta API para realizar acciones proactivas a fin de incentivar a un jugador menos activo de modo que vuelva a interesarse en tu juego; por ejemplo, mostrando y promocionando nuevos elementos del juego cuando el jugador acceda.

En esta guía, se muestra cómo usar la API de Player Stats en juegos que utilizan los Servicios de juego de Google Play. Se pueden encontrar las APIs 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 estadísticas de jugadores, haz lo siguiente:

Cómo obtener el cliente de Player Stats

A fin de comenzar a usar la API de estadísticas de jugadores, el juego primero debe obtener un objeto PlayerStatsClient. Para ello, llama al método Games.getPlayerStatsClient() y pasa la actividad y el GoogleSignInAccount del 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 las estadísticas del jugador

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 el jugador permanece conectado a los Servicios de juego de Google Play.

  • Días desde la última vez que se jugó: Indica la cantidad aproximada de días desde la última vez que el usuario jugó.

  • Cantidad de compras: Indica la cantidad aproximada de compras directas del jugador desde la aplicación.

  • Cantidad de sesiones: Indica la cantidad aproximada de sesiones del jugador. Las sesiones se determinan por la cantidad de veces que el jugador accede a los Servicios de juego de Google Play.

  • Percentil de sesiones: Indica el percentil aproximado de sesiones del jugador, dado como un valor decimal entre 0 y 1 inclusive. Este valor indica la cantidad 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 consumo: Indica el percentil de consumo aproximado del jugador, dado como un valor decimal entre 0 y 1 inclusive. Este valor indica el consumo 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 (probabilidad baja de deserción) a 1 (probabilidad alta de deserción) 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, dada como un valor decimal entre 0 (probabilidad baja de consumo) a 1 (probabilidad alta de consumo) inclusive.
  • Consumo total para los próximos 28 días: Indica el consumo total aproximado que se espera por parte 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 (probabilidad baja de convertirse en un usuario de consumo elevado) a 1 (probabilidad alta de convertirse en un usuario de consumo elevado).

Cómo recuperar datos de estadísticas del jugador

Si deseas recuperar datos de estadísticas del jugador actualmente conectado, sigue estos pasos:

  1. Llama al método PlayerStatsClient.loadPlayerStats().
  2. Si la llamada se realiza correctamente, los Servicios de juego de Google Play mostrarán un objeto Task que cargará de forma asíncrona un objeto PlayerStats. 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 Play Stats te permite identificar con facilidad 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.
  • Envía una notificación sobre un descuento o una bonificación especial disponible cuando vuelvan a jugar.
  • Muestra un mensaje de bienvenida en el que se reconozcan logros notables y otorga una insignia para alentar el regreso al juego.
Jugadores muy activos en un percentil de consumo bajo.
  • Personaliza bonificaciones para alentarlos a que inviten a sus amigos a instalar y usar el juego. Este enfoque se basa en el disfrute del juego demostrado por el jugador con el objetivo de atraer jugadores nuevos.
Jugadores con consumo elevado que muestren signos de haber alcanzado un pico y comiencen a jugar con menos frecuencia.
  • Personaliza bonificaciones para renovar su interés; por ejemplo, puedes ofrecer herramientas de gran valor y corta duración, armas o descuentos.
  • La próxima vez que el usuario acceda al juego, muestra un video que lo dirija a las funciones de la comunidad, como ataques de clanes, que generen una participación más frecuente y prolongada.
Jugadores con probabilidad de consumo muy alta o muy baja.
  • Si no es probable que gasten, ofrece la opción de ver un video publicitario. Muestra artículos de menor precio para la compra.
  • Si es probable que gasten, dirígelos a la tienda del juego desde un principio y ofrece promociones especiales para incentivarlos a comprar.