- Démarrage du titre
- Vérification de la connexion
- Vérification de la propriété des données
- Synchronisation des données avec le nuage
- Boucle de jeu
- Fin de session
Démarrage du titre
Lorsque le titre est lancé, la première étape consiste à déterminer l’utilisateur pour lequel Game Saves est géré. Si l’utilisateur a une session de jeu active sur un autre appareil, une boîte de dialogue système lui demande de changer d’appareil. Si l’utilisateur change d’appareil, l’autre appareil synchronise ses plus récentes données locales de Game Saves avec le nouvel appareil. Si vous voulez que les données soient locales et liées à l’appareil, vous pouvez utiliser un fournisseur machine seulement. Cette option transmet un handle d’utilisateurnull aux API Game Saves.
Une fois que le titre a sélectionné l’utilisateur, il initialise Game Saves avec le handle de cet utilisateur. Pendant l’initialisation, Game Saves se connecte au réseau XBOX pour préparer l’espace de stockage de l’utilisateur.
Boîte de dialogue système pertinente :


Vérification de la connexion
Ensuite, le titre détermine s’il peut se connecter au réseau XBOX afin de confirmer que la synchronisation avec le nuage est possible. Si le titre ne peut pas se connecter, l’utilisateur a la possibilité de réessayer ou de reprendre le titre en mode hors ligne. Game Saves peut fonctionner en mode hors ligne. Boîtes de dialogue système pertinentes :
Comportement hors ligne

Vérification de la propriété des données
Une fois la connexion confirmée, le titre détermine si l’appareil a le droit de modifier les données. Si c’est le cas, il peut acquérir un verrou sur le titre. Pour qu’un titre puisse obtenir et libérer un verrou, il doit avoir accès aux services XBOX. Le titre vérifie si un autre appareil détient un verrou sur les données de l’utilisateur. Cet appareil pourrait encore conserver un verrou pour les raisons suivantes.- Il est déconnecté du réseau XBOX, ce qui l’empêche d’appeler
WebReleaseLock. - L’autre appareil téléverse une Game Save volumineuse et ne peut pas appeler
WebReleaseLock.
- Acquérir de force le verrou de l’autre appareil, ce qui fait perdre les données de session à l’autre appareil.
- Tenter à nouveau d’acquérir le verrou normalement.
- Annuler l’acquisition du verrou.


Synchronisation des données avec le nuage
Une fois que le titre a acquis le verrou sur les données de l’utilisateur, il synchronise ces données avec le nuage. Le titre détermine ensuite s’il effectue l’une des actions suivantes :- Téléverser les données locales de Game Saves.
- Télécharger les données du nuage et mettre à jour les données locales de Game Saves.
- N’effectuer aucune action.
- Résoudre les conflits de données.
- Heure de sauvegarde locale : Le moment où cet appareil a écrit une sauvegarde pour la dernière fois
- Heure de sauvegarde infonuagique : Le moment où la copie dans le nuage a été mise à jour pour la dernière fois
Les quatre résultats de synchronisation
Si le téléchargement à partir du nuage a lieu, une boîte de dialogue de synchronisation s’affiche, Synchronisation des données pour…. Si l’utilisateur annule Game Saves au moyen de cette boîte de dialogue, le titre continue en mode hors ligne.
États de modification et de sauvegarde
Ce scénario suppose que l’utilisateur joue sur deux appareils, l’appareil A et l’appareil B. Local modifié L’utilisateur a progressé hors ligne sur l’appareil A. Par exemple, l’utilisateur a atteint le niveau 126 sur l’appareil A sans connexion Internet. Nuage modifié De la progression a été téléversée à partir de l’appareil B depuis la dernière synchronisation de l’appareil A par l’utilisateur. Par exemple, l’utilisateur a atteint le niveau 99 sur l’appareil B et l’a téléversé dans le nuage. Les deux modifiés L’utilisateur a joué hors ligne sur l’appareil A. Il a également joué sur l’appareil B depuis la dernière synchronisation de l’appareil A. Par exemple, l’appareil A est au niveau 126. Le nuage est au niveau 99. En cas de conflit, le système invite l’utilisateur à le résoudre au moyen d’une boîte de dialogue : Laquelle voulez-vous utiliser?Atomicité
Les Game Saves sont atomiques au niveau du conteneur (dossier). Si le dossier dans le nuage comprend un blob que le dossier local correspondant ne contient pas, le système traite les deux dossiers comme distincts. Cette différence crée un conflit.
Boucle de jeu
La boucle de jeu est la partie active de la session de jeu. Elle commence une fois que le titre a terminé de synchroniser les données de sauvegarde avec le nuage. Pendant la session de jeu active, le titre lit et écrit les données de sauvegarde localement. Toutes les données créées ou mises à jour pendant cette période restent dans le stockage local de Game Saves jusqu’à ce que le système effectue une synchronisation infonuagique. La boucle de jeu se termine lorsque la session de jeu de l’utilisateur prend fin si l’une des conditions suivantes est vraie pour la console ou le PC. Une session prend fin lorsqu’une console ou un PC déclenche un changement d’état comme une suspension, un arrêt, une déconnexion ou un autre événement système.Synchronisation périodique avec le nuage
Toutes les 30 minutes de jeu, le titre tente de se synchroniser automatiquement avec le nuage. Ce comportement est fondé sur les scénarios suivants.
Fin de session
Une fois la session de jeu terminée, le titre téléverse les nouvelles données dans le nuage. L’appareil tente de téléverser les données dans le nuage lorsqu’il dispose d’une connexion. Une fois les données téléversées, le verrou est libéré. Pour voir la libération du verrou sur le réseau XBOX à des fins de débogage, consultez Inspecter le trafic réseau de Game Saves.
Scénarios de perte de connexion et de verrou
Les données écrites pendant une perte de connexion sont stockées dans le stockage local de Game Saves et téléversées une fois la connexion rétablie. Toutefois, si l’utilisateur tente d’utiliser un autre appareil, l’appareil actuel ne peut pas libérer le verrou parce que la connexion a été perdue. L’utilisateur peut forcer le transfert du verrou vers un autre appareil. Selon le moment où ces transferts de verrou ont lieu, un titre peut présenter des comportements différents.Perte de connexion avant le démarrage du titre
Quand : L’utilisateur lance un titre sans connexion.Le titre offre à l’utilisateur la possibilité de lancer en mode hors ligne parce qu’il n’y a pas de connexion. Lorsque l’appareil se reconnecte au réseau XBOX et que le nuage contient des données plus récentes, le titre considère les données locales comme périmées. Dans ce cas, le titre met fin à la session de jeu en arrêtant l’application au moyen d’une opération de suspension. Boîte de dialogue système pertinente : Nous devons fermer ce jeu ou cette application
Perte de connexion pendant la boucle de jeu
Quand : L’utilisateur est dans une session de jeu active et le titre détient toujours le verrou. À un certain moment, la connexion est perdue. Le titre permet alors de continuer à jouer pendant cette perte.
Perte de connexion avant la fin de la session (arrêt ou suspension)
Quand : Le joueur quitte ou suspend le titre alors que l’appareil est déconnecté. L’appareil contient encore des données locales non synchronisées.
