Almacenamiento en la nube

Los jugadores juegan en varios dispositivos y, además, instalan un juego en el mismo dispositivo varias veces. Por lo tanto, siempre deben comenzar el juego desde el último estado de progreso. Para lograrlo, debes implementar una solución de guardado en la nube en tu juego.

Para cumplir con los lineamientos de experiencia del usuario del Programa para desarrolladores de juegos, tu juego debe haber implementado una solución de almacenamiento en la nube que tenga dos partes:

  1. Cloud Save

    Guarda el estado del juego del jugador en la nube. Recupéralo cuando comience el juego. Los Juegos guardados de los Servicios de juego de Play proporcionan un servicio para esto, pero puedes usar cualquier solución de almacenamiento en la nube que elijas.

  2. Resolución de conflictos para varios estados de juego

    Si un usuario tiene varias cuentas o si hay un conflicto entre los datos de juegos guardados en su dispositivo y en la nube, necesitas una política de resolución de conflictos. Por lo general, el usuario decide cómo resolver estos conflictos. Tu política de resolución de conflictos debe abordar las siguientes situaciones clave:

    • Varias cuentas por usuario: Controla las instancias en las que un solo usuario interactúa con la aplicación usando diferentes cuentas.
    • Conflictos de estado: Resuelve las discrepancias que surgen entre el estado del juego local y el estado del juego guardado en la nube.

Juegos guardados

El servicio de Juegos guardados te permite guardar la progresión del juego en los servidores de Google de manera conveniente. Tu juego puede recuperar los datos de juegos guardados para permitir que los jugadores recurrentes continúen el juego en su último punto de guardado desde cualquier dispositivo.

Este servicio ofrece varias ventajas clave tanto para los jugadores como para los desarrolladores:

  • Sincronizar los datos del juego en varios dispositivos Por ejemplo, un jugador puede iniciar un juego en un teléfono Android y seguir jugando sin problemas en una tablet sin perder el progreso.
  • Garantizar la persistencia de los datos Los jugadores pueden reanudar el juego incluso si el dispositivo se pierde, se destruye o se intercambia por un modelo más reciente.

Si quieres aprender a implementar Juegos guardados para tu plataforma, consulta Implementaciones de clientes.

Aspectos básicos de los Juegos guardados

Un juego guardado consta de dos partes:

  • Un BLOB binario no estructurado: Estos datos pueden representar lo que elijas, y tu juego estará a cargo de analizarlos y escribir en ellos.
  • Metadatos estructurados: Son las propiedades adicionales asociadas a los datos binarios que permiten que los Servicios de juego de Google Play muestren visualmente los Juegos guardados en la interfaz de usuario (IU) de la lista predeterminada de Juegos guardados y presenten información útil en la app de Google Play Juegos (por ejemplo, la marca de tiempo de la última actualización).

Un juego puede escribir una cantidad arbitraria de Juegos guardados para un solo jugador en función de la cuota de usuario, por lo que no hay un requisito obligatorio de restricción de los jugadores a un solo archivo de guardado.

Imágenes de portada

El servicio de Juegos guardados proporciona una experiencia visual del usuario, además de las funciones de persistencia. Te recomendamos que asocies las imágenes representativas con los archivos guardados correspondientes. Si usas la interfaz de usuario (IU) de la lista de Juegos guardados predeterminada que brinda el SDK de Play Juegos en tu juego, la IU mostrará estas imágenes de portada. Las imágenes de portada también pueden aparecer en la app de Google Play Juegos.

Descripciones

Puedes proporcionar una descripción textual breve del contenido de un juego guardado en particular. Esta descripción se muestra directamente a los jugadores y debe resumir el estado que representa el juego guardado. Por ejemplo, "Lucha contra los duendes en el bosque oscuro".

Cuota

No se les cobra a los desarrolladores por los datos de juegos guardados que se almacenan en la nube. En cambio, estos datos se cuentan en la cuota de Google Drive del jugador, por lo que nunca tendrás que preocuparte por ello. La única cuota que les interesa a los desarrolladores de juegos es su cuota de la API de Google Drive.

Aislamiento de lectura y escritura

Todos los Juegos guardados se almacenan en la carpeta de datos de aplicaciones de Google Drive de los jugadores. Solo tu juego puede leer y escribir esta carpeta. Los juegos de otros desarrolladores no pueden visualizarla ni modificarla, por lo que existe una protección adicional contra la corrupción de datos. Además, los Juegos guardados están aislados de la manipulación directa por parte de los jugadores, de modo que estos no pueden modificarlos.

Soporte sin conexión

El juego podrá leer un juego guardado y escribir en él cuando el dispositivo del jugador esté sin conexión, pero no podrá sincronizarse con los Servicios de juego de Google Play hasta que se establezca la conectividad de red. Una vez que se recupere la conexión, los Servicios de juego de Google Play actualizan de forma asíncrona los datos del juego guardado en los servidores de Google.

Resolución de conflictos

Cuando se usa el servicio de Juegos guardados, es posible que el juego entre en conflicto cuando se intente guardar datos. Estos conflictos pueden ocurrir cuando un usuario ejecuta más de una instancia de tu aplicación en diferentes dispositivos o computadoras. Tu aplicación debe poder resolver estos conflictos de una manera que brinde la mejor experiencia del usuario.

Por lo general, se producen conflictos de datos cuando una instancia de tu aplicación no puede acceder al servicio de Juegos guardados mientras intenta cargar o guardar datos. En general, para evitar conflictos de datos, la mejor manera es cargar siempre los datos más recientes del servicio cuando se inicia o reanuda tu aplicación, y guardarlos con una frecuencia razonable. Sin embargo, no siempre es posible evitar conflictos de datos. Tu aplicación debe hacer todo lo posible para resolver los conflictos de modo que se conserven los datos de los usuarios y que estos tengan una buena experiencia.

Límites

Los Servicios de juego de Google Play aplican límites de tamaño en los datos binarios y en las imágenes de portada de 3 MB y 800 KB, respectivamente.

Metadatos de Juegos guardados

Los metadatos estructurados de un juego guardado contienen las siguientes propiedades:

Propiedad Descripción
ID Una cadena única generada por los Servicios de juego de Google Play para este juego guardado. Usa este ID para hacer referencia al juego guardado en tus clientes de juegos.
Nombre Un nombre corto proporcionado por el desarrollador para el juego guardado, por ejemplo, "Espacio de guardado 1" o "Nombredeljugador_Guardado1". Este no se muestra a los jugadores.
Descripción Es una descripción del juego guardado proporcionada por el desarrollador.
Modificado por última vez Marca de tiempo en milisegundos que generan los Servicios de juego de Google Play para la última actualización del juego guardado.
Tiempo de juego

Una cantidad de tiempo proporcionada por el desarrollador (en milisegundos) que se muestra en el juego guardado. Este valor debe representar el tiempo que el usuario jugó al juego guardado correspondiente.

Por ejemplo, en los Servicios de juego de Google Play, se mostrará un valor de tiempo de juego de 3600000 como "1 h".

Imagen de portada Es una propiedad opcional proporcionada por el desarrollador que contiene información sobre la imagen de portada.

Implementaciones de clientes

Si quieres aprender a implementar Juegos guardados para tu plataforma, consulta los siguientes recursos: