Vue d’ensemble
Cet article explique comment fournir des mises à jour de contenu, quels outils utiliser pour générer et mesurer les mises à jour, et comment tester les principaux scénarios de mise à jour pour garantir un comportement attendu et optimal.Fonctionnement des mises à jour de contenu
Les services de jeu réduisent toujours au minimum le nombre d’octets à transférer lorsque vous fournissez une mise à jour de packages de jeu. Cette optimisation s’applique à la fois aux clients sur les appareils de jeu et aux développeurs lors du chargement des packages. Le système calcule cette différence (delta) à l’aide d’algorithmes qui, dans les grandes lignes, tentent de maximiser les correspondances de segments de 4 Kio entre deux packages. Le système encode ce delta dans des fichiers.xsp (plan de streaming de mise à jour). Grâce à ces fichiers, le système sait exactement quels octets télécharger depuis le réseau et comment les appliquer à n’importe quelle version existante possible du package.
Pour simuler et tester avec précision le comportement des mises à jour delta pendant le développement, utilisez les options makepkg appropriées pour créer les packages. Utilisez également les commandes appropriées pour installer et mettre à jour les packages.
Créer une mise à jour basée sur une version précédente du package
Utilisezmakepkg pack pour créer des packages. Pour créer un package qui utilise un package précédent, utilisez le paramètre /priorpackage :
[new package name]_update-[old version number].[guid].xsp. Par exemple, 41336MicrosoftATG.ATGGameHubRequiredGame_200.0.0.0_neutral__dspnxghe87tn0_xs_update-100.0.0.0.5890f4a0-b449-4c5d-80ff-b78b19ed3439.xsp
Ce fichier est le plan de streaming qui encode ce qui doit changer lors de la mise à jour de l’ancien package vers le nouveau. La section sur le test des mises à jour montre comment utiliser ce plan.
Examiner la taille de la mise à jour
Lorsque vous exécutez la commande précédente, elle génère deux fichiers supplémentaires portant le même nom : un fichier .html et un fichier .json. Les deux fichiers contiennent les informations suivantes :- Un récapitulatif des octets téléchargés par la mise à jour
- Un tableau qui récapitule la quantité de données installées par la mise à jour pour une balise, une langue ou un type d’appareil spécifique
- Un tableau triable des fichiers qui indique le nombre d’octets modifiés par la mise à jour et le pourcentage de la taille totale du fichier que représente cette modification
- Pour chaque fichier qui n’est pas mis à jour à 100 %, des liens vers des tableaux individuels qui indiquent les plages de données modifiées par la mise à jour dans chaque fichier
packageutil compare appliqué aux deux fichiers .xvc génère également ces mêmes fichiers et fournit un récapitulatif des différences entre les packages. Cette commande génère également le fichier .xsp.
Chargements delta
Les chargements dans Partner Center tirent automatiquement parti des algorithmes de calcul delta. Le delta entre votre dernier package chargé (pour cette branche) et le package en cours de chargement est calculé au début, de sorte que seules les données modifiées sont transférées de l’ordinateur de chargement vers le service d’ingestion.Test des mises à jour
Pour valider la taille de la mise à jour telle qu’elle apparaît dans l’interface utilisateur du système, procédez comme suit :xbapp install[old version.xvc]xbapp update[new version.xvc] (/plan=[.xsp file])
wdapp qui est utilisée à la place. Les fichiers de package ont l’extension .msixvc, et la progression de l’installation et de la mise à jour est visible dans la section de la file d’attente de téléchargement de l’application XBOX et de l’application Microsoft Store. wdapp update ne prend pas en charge le paramètre /plan. Elle utilise le fichier .xsp généré pour la version cible, s’il en existe un.
Annonce des mises à jour
L’annonce des mises à jour diffère légèrement des autres méthodes de mise à jour. Lorsque vous annoncez une mise à jour, vous rendez la mise à jour disponible pour le jeu, ce qui entraîne un comportement spécifique du système. Pour annoncer une mise à jour disponible, appliquez l’indicateur/m ou /a à la commande update de xbapp ou wdapp. Avec cette action, la mise à jour n’est appliquée qu’au lancement du jeu. Lorsque cette condition se produit :
- Console : une boîte de dialogue système s’affiche pour indiquer qu’une mise à jour est requise.
- PC : pour les builds de développement, aucune invite système ne s’affiche et la build peut être lancée librement, sauf si elle a été installée à l’aide de
wdapp installou du programme d’amorçage. Dans ce cas, le lancement du jeu appelle le programme d’amorçage PC, qui recherche les mises à jour et vous invite à les installer.
XStore, ce qui permet au jeu de détecter les mises à jour disponibles. Ce comportement concerne surtout les packages de DLC. Pour plus d’informations, consultez Recherche de mises à jour.
Mises à jour de packages du Store
Les exemples précédents portent sur l’installation et la mise à jour à l’aide de packages locaux. Dans certains scénarios, vous pouvez souhaiter tester des mises à jour à l’aide de packages que vous avez chargés dans Partner Center et téléchargés à partir du CDN du Store. Ce processus valide deux éléments : les performances lors de la mise à jour à partir du Store, et l’utilisation du plan de streaming généré dans le cadre du processus d’ingestion. Malheureusement, vous ne pouvez pas effectuer de mise à jour d’un package local vers un package du Store en raison de différences de signature. Ce que vous pouvez faire, sans aide supplémentaire, c’est charger une seule version dans Partner Center, puis installer cette version à partir de l’application Store sur un ou plusieurs kits de développement. Ensuite, chargez la nouvelle version. Lorsque la nouvelle version est publiée, vérifiez, sur les kits de développement sur lesquels l’ancienne version est installée, que la nouvelle version est détectée et qu’elle peut être mise à jour avec la taille de delta attendue. Pour répéter ce test, avant la mise à jour, copiez l’installation de l’ancienne version sur un lecteur externe afin de pouvoir la recopier ultérieurement par-dessus une nouvelle version. Si vous n’avez pas enregistré cette version, vous pouvez demander l’URL du CDN à partir de laquelle une ancienne version peut être installée à l’aide dexbapp install ou wdapp install. Après avoir installé une ancienne version, vous pouvez répéter le test de mise à jour.
