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.

El servicio de Juegos guardados permite sincronizar los datos del juego de un jugador en varios dispositivos. Por ejemplo, si tienes un juego que se ejecuta en Android, puedes usar el servicio de Juegos guardados a fin de permitir que un jugador inicie un juego en su teléfono Android y, luego, siga jugando en una tablet sin perder nada de su progreso. Este servicio también se puede usar a los efectos de garantizar que el juego continúe desde donde el jugador lo dejó, incluso si el dispositivo se pierde, se destruye o se cambia 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 propiedades adicionales asociadas con los datos binarios que permiten que los Servicios de juego de Google Play presenten visualmente los Juegos guardados en la interfaz de usuario (IU) predeterminada de la lista de juegos guardados y presenten información útil en la app de Google Play Juegos (por ejemplo, la última marca de tiempo actualizada).

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 proporciona 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/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 vuelven a conectar, 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

Actualmente, los Servicios de juego de Google Play aplican límites de tamaño a los datos binarios y a los tamaños de imagen 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 string ú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, los Servicios de juego de Google Play mostrarán un valor de tiempo de juego de 36,000,00 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 cliente

Para obtener información sobre cómo implementar juegos guardados en tu plataforma, consulta los siguientes recursos: