Lista de tareas de calidad para los Servicios de juego de Google Play

La calidad de tu juego determina su éxito a largo plazo (en cuanto a instalaciones, calificaciones, reseñas, participación y retención de usuarios). Antes de publicar un juego, es importante que te asegures de que cumpla con las expectativas básicas de los jugadores mediante funciones atractivas y una IU intuitiva y bien diseñada.

Este documento te ayudará a concentrarte en los aspectos clave de calidad, IU y conjuntos de funciones que pueden tener un efecto significativo en el éxito de tu juego. Cada una de las áreas de enfoque se presenta como una lista de tareas con requisitos mínimos, recomendaciones y mejoras aconsejables. Para ofrecer el mejor producto posible a los usuarios, sigue la lista de tareas con recomendaciones en la mayor medida posible.

1. Acceso

La siguiente lista de tareas se aplica a la implementación de funcionalidades de acceso de jugadores en el juego. Descubre cómo funciona el acceso y cómo deberías implementarlo en Conceptos de acceso. Para ver ejemplos de códigos de implementación de funciones de acceso en juegos para dispositivos móviles, consulta Cómo implementar funciones de acceso en Android.

ID Importancia Descripción
1.1 Obligatorio Haz que los jugadores accedan con los Servicios de juego de Google Play.
1.1.1. Haz que los jugadores accedan automáticamente cuando se inicie el juego. Usa el acceso manual como respaldo.

El acceso automático hará que los jugadores se autentiquen y obtengan la autorización de acceso de forma rápida para usar el conjunto completo de funciones que proporcionan los Servicios de juego de Google Play.

Si el usuario lo rechaza, la app debería ofrecerle la oportunidad de acceder más tarde (p. ej., con un botón en el menú del juego, entre otras opciones). El botón de acceso debería ser fácil de encontrar para los jugadores (por ejemplo, debe ser accesible desde la pantalla principal o encontrarse en la pantalla de Configuración). Este botón no debería estar oculto detrás de varios niveles en el menú del juego.

1.2 Aconsejable Sigue los lineamientos de desarrollo de la marca de Google.

Para proporcionar a los jugadores una experiencia atractiva y coherente en todos los aspectos, implementa los lineamientos para el desarrollo de la marca de los Servicios de juego de Google Play.

1.3 Aconsejable Recuérdales a los jugadores que ya accedieron.

Incluye un indicador o recordatorio apropiado para los jugadores que accedieron cuando el juego realice acciones en su nombre. Por ejemplo, cuando un jugador conectado termine un nivel, puedes enviarle un mensaje como este para indicarle que sus logros y puntuación se cargarán de forma automática: "Accediste con Google. Tus logros y puntuaciones se guardarán automáticamente".

1.4 Obligatorio Crea una copia de seguridad del progreso del jugador con el ID de los Servicios de juego de Play.

A fin de asegurarte de que los jugadores no pierdan su progreso cuando cambien o restablezcan dispositivos, o si juegan en varios dispositivos, asegúrate de que se cree una copia de seguridad de su progreso en una solución de almacenamiento en la nube y usa el ID de los Servicios de juego de Play como clave de forma segura si usas tu propio servidor de juegos de backend. Cuando los jugadores accedan con su ID de los Servicios de juego de Play, verifica si existe algún progreso en esa cuenta y, si es así, permite que el jugador retome desde donde se quedó. Puedes usar tu propia solución de almacenamiento en la nube o los Juegos guardados de los Servicios de juego de Play.

Si el jugador no accedió, intenta mantener su progreso de forma local y, luego, sincronízalo cuando acceda a su cuenta. De este modo, evitarás perder el progreso si el jugador pospone el acceso.

2. Logros

La siguiente lista de tareas se aplica a la implementación de la función Logros en el juego.

ID Importancia Descripción
2.1 Obligatorio Asegúrate de que todos los logros sean alcanzables.

Los jugadores deben poder desbloquear todos los logros que hayas creado.

2.2 Recomendación Diferencia los logros.

Todas las imágenes, descripciones y textos deben ser únicos para cada uno de los logros.

2.3 Recomendación Califica los logros de manera proporcional.

Los puntos que se obtienen cuando se desbloquea un logro deben ser proporcionales a la cantidad de tiempo o habilidad que se necesita para alcanzarlo.

2.4 Recomendación Diseña logros para varios niveles de dificultad.

Incluye algunos logros fáciles que los jugadores puedan desbloquear en un juego casual, cierta cantidad de logros de dificultad intermedia que requieran más habilidad o dedicación para desbloquearlos, y uno o dos muy difíciles de obtener para los jugadores más dedicados.

Por ejemplo, la siguiente captura de pantalla muestra un logro difícil de obtener que ayuda a motivar y retener a los fanáticos del juego.

logro difícil de obtener para el que se deben ganar 5,000 gemas
2.5 Aconsejable No priorices los logros.

Evita otorgar más de un logro durante los primeros 5 minutos del juego, ya que los nuevos jugadores no estarán suficientemente comprometidos como para darles importancia.

No definas los logros para que se otorguen de forma no intencional en las etapas más tempranas del juego. Por ejemplo, evita los logros que serían triviales si se entregaran al principio del juego, como "Completar un nivel sin recibir ningún daño".

2.6 Aconsejable Define los logros en torno a actividades atractivas dentro del juego.

Selecciona métricas para crear logros que hagan que tu juego sea más atractivo y llamativo. Por ejemplo, "cantidad de zombis que mataste" es una métrica más interesante que "cantidad de kilómetros que caminó tu personaje".

2.7 Aconsejable Usa íconos de colores de logros.

Los Servicios de juego de Google Play usan versiones de los íconos de logros en escala de grises para mostrar si están bloqueados o desbloqueados. Si solo puedes usar íconos de logros completamente blancos o negros, muéstralos sobre un fondo de color.

2.8 Aconsejable Minimiza el uso de logros ocultos.

El uso de logros ocultos se aconseja solo para evitar revelar demasiada información sobre las siguientes etapas del juego, pero no deben ser la norma.

2.9 Aconsejable Evita los logros que dependan demasiado del azar.

"Encontrar 100 cofres del tesoro" es un mejor logro que "Encontrar un artículo que tiene un 1% de probabilidad de aparecer en un cofre del tesoro".

2.10 Aconsejable Piensa como un "cazador de logros".

Algunos jugadores intentarán desbloquear todos los logros que crees. Trata de ofrecer logros diseñados especialmente para esta categoría de usuarios. Evita crear logros que dependan demasiado de elementos que estén fuera del control del jugador o que no se puedan desbloquear si el usuario toma una decisión específica dentro del juego.

2.11 Aconsejable Asegúrate de que el ícono de logros se muestre correctamente.

Cuando los íconos de logros se muestran en las notificaciones de Android, se superponen con un círculo y se ocultan las esquinas exteriores. Asegúrate de que tu ícono se vea bien, incluso en estas circunstancias.

3. Tablas de clasificación

La siguiente lista de tareas se aplica a la implementación de la función Tablas de clasificación en el juego.

ID Importancia Descripción
3.1 Recomendación Muestra las tablas de clasificación en el menú principal y luego de las transiciones importantes.

Las tablas de clasificación deben estar disponibles mientras se carga el juego. Luego de las transiciones críticas de un juego, como al final de un nivel o cuando muere el personaje, los jugadores deben ver inmediatamente los vínculos a las tablas de clasificación relevantes.

3.2 Recomendación Define los límites superiores de las puntuaciones que se pueden enviar.

Si es posible, agrega límites al momento de definir las tablas de clasificación para que se descarten las puntuaciones claramente falsas.

3.3 Recomendación Usa íconos personalizados.

Crea un ícono personalizado para cada tabla de clasificación que definas; no uses simplemente el ícono del juego, ya que no se verá bien en la app de Google Play Juegos.

3.4 Recomendación Mantén una frecuencia de envío de puntuaciones apropiada.

Envía las puntuaciones luego de las transiciones críticas del juego, como al final de un nivel o cuando muera el personaje del jugador. Para los juegos sin transiciones críticas, como los de carreras interminables, usa el sentido común para determinar la frecuencia de envío de las puntuaciones. Estas no se deben enviar de forma continua ni a cada segundo.

3.5 Aconsejable Usa etiquetas de puntuación.

Las etiquetas de puntuación son pequeñas cantidades de datos adicionales que se pueden enviar junto con las puntuaciones. Por ejemplo, puedes implementar una etiqueta de puntuación como una marca para confirmar que la puntuación que envió el jugador sea válida.

Las tablas de clasificación personalizadas también pueden leer los datos de estas etiquetas. Por ejemplo, si la etiqueta de puntuación consta de un ID de un video de YouTube que contiene la grabación de una partida del jugador, tu juego podría crear un vínculo a ese video en la tabla de clasificación.

3.6 Aconsejable Diseña tu propia IU para la tabla de clasificación de manera creativa.

Si tienes los recursos necesarios, crea tu propia vista personalizada de la tabla de clasificación en función de los datos de las tablas de clasificación sociales. Las tablas de clasificación sociales suelen generar una experiencia más atractiva que las públicas. Determina primero si hay publicaciones en la tabla social y, si no las hay, usa la pública.

3.7 Aconsejable Muéstrales a los jugadores cómo se comparan con sus competidores.

La API de tablas de clasificación admite ventanas de puntuaciones (por ejemplo, el ranking de un jugador dentro de un rango de 10 posiciones aproximadamente). Si creas una vista personalizada, esta puede ser una manera muy eficaz de promover la participación. Puedes mostrarla justo después de una transición crítica en el juego, como al final de un nivel o cuando muere el personaje del jugador. Evita obligar al jugador a hacer clic demasiadas veces para acceder a la información de su ranking.

4. Amigos

La siguiente lista de tareas se aplica a la implementación del Servicio de amigos en tu juego.

ID Importancia Descripción
4.1 Obligatorio Cuando los jugadores aparezcan en una lista, muestra el ícono de los Servicios de juego de Play junto a los usuarios que tienen un perfil de Play Juegos.

Puede ser una lista de amigos existentes, una lista de amigos con los que se jugó recientemente u otra lista de amigos.

4.1.1. Se debe poder hacer clic en el ícono de los Servicios de juego de Play.
Si el usuario presiona el ícono, el juego debe llamar a getCompareProfileIntent() o getCompareProfileIntentWithAlternativeNameHints() para mostrar la IU que permite que el usuario se compare con el perfil de otro jugador.
4.1.2. Incluye compatibilidad con los perfiles de jugadores y las invitaciones de amigos para poder personalizar los nombres de los jugadores en los juegos.
Si un jugador establece un nombre diferente en el juego (y no usa el nombre de su perfil de Play Juegos), usa getCompareProfileIntentWithAlternativeNameHints() a fin de proporcionar ese nombre alternativo en el juego, tanto para el jugador actual como para el que él está viendo, como contexto de la vista del perfil y de cualquier invitación de amistad que se envíe. Pasa solo los nombres de jugador globales y persistentes para los valores, y no el contenido arbitrario del usuario. Este requisito implica que las invitaciones de amigos que se envíen desde el juego proporcionarán contexto a ambos jugadores:
  • El destinatario verá el nombre del remitente en el juego, junto con el nombre del juego.
  • Al ver la amistad, el remitente seguirá viendo el nombre del destinatario en el juego, así como el juego desde el que se inició el envío.
4.2 Recomendación Usa íconos diferentes a fin de mostrar cuáles usuarios de Play Juegos ya son amigos y cuáles aún no lo son, pero accedieron a Play Juegos. Usa dos íconos para los usuarios de Play Juegos: uno para "Amigos" y otro para "No amigos" (o cuando se desconoce el estado de la amistad).
Ícono de amigos
Ícono de No amigos
4.3 Recomendación Llama a loadFriends() cada vez que accedas y muestra la lista de amigos a los efectos de asegurarte de que esté actualizada. Asegúrate de que los jugadores vean la lista actualizada.
4.4 Recomendación Si tu juego ya incluye un sistema de amigos, usa el Servicio de amigos para agregar a los amigos de Play Juegos y así aumentar la cantidad de amigos de la lista. Si un jugador se encuentra en la lista de amigos del juego y también es un amigo de Play Juegos, muestra el ícono de "Amigos".
4.5 Recomendación Si un jugador rechazó la solicitud de acceso a su lista de amigos, no muestres el diálogo que lo solicita nuevamente, a menos que el usuario haya realizado una acción que indica que desea otorgar ese acceso (por ejemplo, presionar un botón de **Importar amigos de Play Juegos**).
4.6 Recomendación Si un jugador rechazó el acceso a la lista de amigos, bríndale una forma de otorgar ese acceso en el futuro (por ejemplo, después de presionar un botón de **Importar amigos de Play Juegos**).
4.7 Recomendación Si usas el ID de jugador o la lista de amigos con un servidor de backend, debes acceder al ID o a la lista de forma segura. Además, en el caso de algunos juegos y jugadores más antiguos, es posible que el ID que muestra el SDK de Android para un jugador no sea el mismo que ven otros jugadores cuando observan a ese jugador en el mismo juego. En particular, esto resulta relevante cuando se usa la lista de amigos. Sin embargo, el player_id que se muestra dentro de la API de REST siempre es coherente y siempre es el ID visible para otros jugadores.

5. Cuota y límite de frecuencia

Las siguientes listas de tareas se aplican a la administración de la cuota y el límite de frecuencia en el juego. Para obtener más información sobre cómo administrar la cuota de tu juego y detectar cuando se supere el límite de frecuencia, consulta Cómo administrar la cuota y el límite de frecuencia.

ID Importancia Descripción
5.1 Recomendación Usa las bibliotecas cliente.

Las bibliotecas cliente para dispositivos móviles emplean una serie de estrategias para reducir la cantidad de llamadas que se realizan al servicio. Por ejemplo, los datos de logros y tablas de clasificación se almacenan en caché. De ese modo, los jugadores pueden verlos cuando quieran sin que el servicio deba realizar varias llamadas.

La biblioteca cliente de Android no enviará la puntuación del jugador al servidor a menos que sea tan buena como la más reciente. Además, la biblioteca de Android combina automáticamente las llamadas frecuentes a logros incrementales cuando detecta que se está limitando la frecuencia.

5.2 Aconsejable Combina las llamadas frecuentes a logros incrementales.

Si creas un juego de peleas y uno de los logros es "Lanzar 5,000 golpes", no envíes una llamada de logro incremental cada vez que alguien lance un golpe. Espera hasta que termine el asalto y, luego, envía una llamada a increment(xxx) (donde xxx es la cantidad total de golpes que se lanzaron en el asalto) o espera hasta que se lancen 50 golpes antes de enviar una única llamada a increment(50).

5.3 Aconsejable Mantente al tanto de tu uso.

Sé consciente de la cantidad de llamadas que hagas a los Servicios de juego de Google Play. Incluso si evitas alcanzar los límites de frecuencia, las llamadas frecuentes pueden generar un tráfico de red alto y ocasionar que la batería del dispositivo se agote más rápido. Para evitar esto, puedes usar las siguientes técnicas:

  • Cuando implementes Juegos guardados, mantén la frecuencia a una vez cada algunos minutos, no cada vez que se haga clic en un botón.
  • Espera hasta que la partida del jugador termine antes de enviar una puntuación alta.
  • Para revisar la cuota diaria de tu app, ve al panel del proyecto en Google Cloud Platform.

6. Juegos guardados

La siguiente lista de tareas se aplica a la implementación de la función Juegos guardados en el juego.

ID Importancia Descripción
6.1 Obligatorio Agrega metadatos a fin de proporcionar contexto adicional para los juegos guardados.

Como mínimo, debes incluir los siguientes metadatos para confirmar un juego guardado:

  • Imagen de portada: Una captura de pantalla que muestre el progreso del juego y le recuerde al jugador dónde se quedó
  • Descripción: Una descripción corta que proporcione contexto adicional a la imagen de portada
  • Marca de tiempo: Indica el tiempo que el jugador lleva jugando este juego guardado
6.2 Obligatorio Permite que los jugadores carguen los juegos guardados.

Carga el juego guardado correcto cuando el jugador lo seleccione, ya sea desde la app de Play Juegos o en la IU de selección de Juegos guardados predeterminada.