Enregistrement dans le cloud

Les joueurs jouent sur plusieurs appareils et installent un jeu plusieurs fois sur le même appareil. Par conséquent, ils doivent toujours commencer leur partie à partir de leur dernier état de progression. Pour ce faire, vous devez implémenter une solution de sauvegarde dans le cloud dans votre jeu.

Pour respecter les Directives concernant l'expérience utilisateur du programme pour les développeurs de jeux, votre jeu doit avoir implémenté une solution de sauvegarde dans le cloud en deux parties :

  1. Enregistrement dans le cloud

    Enregistrez l'état du jeu de votre joueur dans le cloud. Récupérez-le lorsqu'ils lancent le jeu. Les jeux enregistrés des services de jeux Play proposent un service à cet effet, mais vous pouvez utiliser la solution d'enregistrement dans le cloud de votre choix.

  2. Résolution des conflits pour plusieurs états de jeu

    Si un utilisateur possède plusieurs comptes ou s'il existe un conflit entre les données de jeu enregistrées sur son appareil et dans le cloud, vous avez besoin d'une règle de résolution des conflits. En général, l'utilisateur décide comment résoudre ces conflits. Votre règle de résolution des conflits doit aborder les principaux scénarios suivants :

    • Plusieurs comptes par utilisateur : gérez les cas où un même utilisateur interagit avec l'application à l'aide de différents comptes.
    • Conflits d'état : résolvez les écarts qui surviennent entre l'état du jeu local et celui enregistré dans le cloud.

Jeux enregistrés

Le service Jeux enregistrés offre un moyen pratique d'enregistrer la progression des joueurs dans les jeux de Google. Votre jeu peut récupérer les données de jeu enregistrées pour permettre aux joueurs de reprendre une partie au dernier point d'enregistrement depuis n'importe quel appareil.

Ce service offre plusieurs avantages clés aux joueurs et aux développeurs :

  • Synchronisez les données de jeu sur plusieurs appareils. Par exemple, un joueur peut commencer une partie sur un téléphone Android et la poursuivre facilement sur une tablette sans perdre sa progression.
  • Assurez-vous que les données sont persistantes. Les joueurs peuvent reprendre leur partie même en cas de perte, de destruction ou d'échange d'un appareil pour un modèle plus récent.

Pour découvrir comment implémenter ce service dans votre plate-forme, consultez la page Implémentations client.

Principes de base des jeux enregistrés

Un jeu enregistré se compose de deux parties :

  • Blob binaire non structuré : ces données peuvent représenter les informations de votre choix et votre jeu effectue l'analyse et de l'écriture de données.
  • Métadonnées structurées : propriétés supplémentaires associées aux données binaires qui permettent aux services de jeux Google Play de présenter visuellement des jeux enregistrés dans la liste par défaut de l'interface utilisateur, ainsi que de présenter des informations utiles dans l'application Google Play Jeux (par exemple, le dernier code temporel actualisé).

Chaque jeu peut enregistrer un nombre variable de jeux pour chaque joueur, sous réserve de respecter le quota de l'utilisateur. Il n'est donc pas nécessaire de limiter les joueurs à un seul fichier de sauvegarde.

Images de couverture

Le service Jeux enregistrés offre une expérience utilisateur visuelle en plus de ces fonctionnalités de persistance. Nous vous conseillons vivement d'associer des images représentatives aux différents fichiers d'enregistrement. Si vous utilisez l'interface utilisateur de la liste de jeux enregistrés par défaut fournie par le SDK Play Jeux dans votre jeu, cette interface affichera ces images de couverture. Les images de couverture peuvent également s'afficher dans l'application Google Play Jeux.

Descriptions

Vous pouvez fournir une brève description du contenu d'un jeu enregistré spécifique. Cette description est visible par les joueurs et doit résumer l'état du jeu enregistré. Par exemple : "Attaque des gobelins dans la forêt obscure".

Quota

Les développeurs ne sont pas facturés pour les données de jeu enregistrées stockées dans le cloud. Au lieu de cela, ces données sont comptabilisées dans le quota Google Drive du joueur. Vous n'avez donc pas à vous en soucier. Le seul quota que les développeurs de jeux doivent prendre en compte est leur quota d'API Google Drive.

Isolation en lecture/écriture

Tous les jeux enregistrés sont stockés dans le dossier de données de l'application Google Drive de vos joueurs. Seul votre jeu peut lire et écrire dans ce dossier, qui ne peut pas être affiché ni modifié par les jeux d'autres développeurs, ce qui offre une protection supplémentaire contre la corruption des données. De plus, les joueurs ne peuvent pas accéder directement aux jeux enregistrés et ne sont donc pas en mesure de les modifier de façon individuelle.

Fonctionnement hors connexion

Votre jeu peut lire et écrire dans un jeu enregistré lorsque l'appareil du joueur est hors connexion, mais la synchronisation avec les services de jeux Google Play nécessite une connectivité réseau. Une fois reconnectés, les services de jeux Google Play mettent à jour de manière asynchrone les données de jeu enregistrées sur les serveurs de Google.

Résolution de conflit

Lorsque vous utilisez le service Jeux enregistrés, votre jeu peut rencontrer des conflits au moment d'enregistrer des données. Cela peut arriver quand un utilisateur exécute plusieurs instances de votre application sur différents appareils ou ordinateurs. Votre application doit être en mesure de résoudre ces conflits de manière à offrir la meilleure expérience utilisateur possible.

La plupart des conflits de données ont lieu lorsqu'une instance de votre application ne parvient pas à accéder au service de jeux enregistrés lors de la tentative de chargement ou d'enregistrement des données. En général, le meilleur moyen d'éviter les conflits de données consiste à charger les dernières données du service au démarrage ou à la reprise de votre application. Il est également conseillé d'enregistrer les données dans le service à une fréquence raisonnable. Cependant, il n'est pas toujours possible d'éviter les conflits de données. Votre application doit s'efforcer de les gérer de manière à préserver les données de vos utilisateurs et à assurer la qualité de leur expérience.

Limites

Les services de jeux Google Play appliquent des limites de taille sur les données binaires (3 Mo) et l'image de couverture (800 Ko).

Métadonnées des jeux enregistrés

Les métadonnées structurées d'un jeu enregistré contiennent les propriétés suivantes :

Propriété Description
Identifiant Chaîne unique générée par les services de jeux Google Play pour ce jeu enregistré. Utilisez cet identifiant pour faire référence au jeu enregistré dans vos clients dédiés.
Nom Nom court fourni par le développeur pour le jeu enregistré, par exemple "Sauvegarde 1" ou "Nomdujoueur_sauvegarde1". Les joueurs ne le verront pas.
Description Description du jeu enregistré fournie par le développeur.
Dernière modification Code temporel en millisecondes généré par les services de jeux Google Play pour indiquer la date de la dernière actualisation du jeu enregistré.
Temps de jeu

Durée (en millisecondes) fournie par le développeur pour s'afficher avec le jeu enregistré. Cette valeur doit représenter le temps passé sur le jeu jusqu'à l'instant où l'enregistrement a été créé.

Par exemple, cette durée exprimée par la valeur "3 600 000" sera affichée par les services de jeux Google Play sous la forme "1 h".

Image de couverture Il s'agit d'une propriété facultative à fournir par le développeur contenant des informations sur l'image de couverture.

Implémentations client

Pour découvrir comment implémenter les jeux enregistrés pour votre plate-forme, consultez les ressources suivantes :