Workflow de développement pour les DLC
Reportez-vous à la documentation des packages de contenu téléchargeable (DLC) pour en savoir plus sur la configuration du contenu DLC, notamment sur la manière d’établir l’association avec le jeu de base via le fichier MicrosoftGame.config. Il existe trois façons d’installer un DLC :- Déploiement de DLC libre
- Installer localement un package DLC
- Installer un package DLC depuis le Store
1. Déploiement de DLC libre
Installez le répertoire qui pointe vers le fichier MicrosoftGame.config et les fichiers de ressources de votre DLC libre : XBOX :2. Installer localement un package DLC
Installez le fichier .xvc/.msixvc créé par makepkg : XBOX :3. Installer un package DLC depuis le Store
Avec un compte de test connecté au sandbox de développement, recherchez la page produit du DLC dans l’application Store ou accédez-y par un lien direct, puis installez-le.Valider l’installation du DLC
XBOX :get-appxpackage dans PowerShell ; notez la section Dependencies :
Achat et installation de DLC
Reportez-vous à l’article Opérations de base du Store pour comprendre comment énumérer le catalogue et proposer l’achat de modules complémentaires. Vous pouvez déterminer si des produits de modules complémentaires sont des DLC en examinant[XStoreProduct](/reference/system/xstore/xstore_members).hasDigitalDownload.
Si un DLC est acheté depuis le Store, son téléchargement est mis en file d’attente.
Si un DLC est acheté à l’aide de XStoreShowPurchaseUiAsync, son téléchargement n’est pas mis en file d’attente. Le jeu doit plutôt demander manuellement un téléchargement en suivant le code. Vous pouvez éventuellement créer un moniteur pour suivre la progression.
L’identificateur de package est une chaîne opaque qui identifie un package spécifique. L’identificateur est unique pour chaque package, mais il diffère à chaque instance lancée du jeu. Par conséquent, ne stockez pas et ne réutilisez pas l’identificateur au-delà de la session en cours.
Vous pouvez utiliser les méthodes suivantes pour obtenir l’identificateur d’un package, selon le scénario :
- Après avoir appelé XStoreDownloadAndInstallPackagesAsync pour télécharger et installer des packages, vous pouvez obtenir les identificateurs de ces packages en appelant XStoreDownloadAndInstallPackagesResult.
- Vous pouvez obtenir les identificateurs des packages déjà téléchargés et installés en appelant XPackageEnumeratePackages, puis en récupérant l’identificateur de package dans la structure XPackageDetails renvoyée à votre fonction de rappel XPackageEnumerationCallback pour chaque package énuméré.
- Vous pouvez obtenir l’identificateur de package du jeu actuel en appelant XPackageGetCurrentProcessPackageIdentifier.
Énumération des packages DLC
Quelle que soit la manière dont les DLC sont installés, le jeu doit énumérer les DLC installés avant de les utiliser. C’est lors de l’énumération des DLC installés que l’identificateur de package est obtenu.Détection de l’installation d’un package DLC
Acquisition de la licence d’un DLC
En développement, consultez les remarques dans Tester les licences de DLC en développement. Le jeu de base doit acquérir la licence du DLC pour déterminer s’il doit donner à l’utilisateur l’accès à son contenu. Les jeux utilisent généralement les licences restrictives : une fois que le jeu a acquis la licence d’un package, l’accès au package est verrouillé sur cet appareil et cette instance du produit. Le jeu doit libérer la licence avant qu’une autre instance ou un autre appareil puisse acquérir les droits d’accès et la licence. Contactez votre représentant de compte Microsoft pour vous assurer que votre jeu est configuré pour utiliser les licences restrictives (ce paramètre ne se configure pas dans Partner Center). Pour plus d’informations, consultez Licences ouvertes et restrictives. Comme le jeu doit libérer la licence, il est chargé de suivre toutes les licences de DLC qu’il acquiert et de les libérer lorsqu’elles ne sont plus nécessaires ou à l’arrêt. Si le jeu ne libère pas une licence, celle-ci est libérée automatiquement après un délai d’expiration.Détermination de la source de licence d’un DLC
À l’aide de XStoreCanAcquireLicenseForPackageAsync ou de XStoreCanAcquireLicenseForStoreIdAsync (selon le type d’identificateur), il est possible de déterminer si le DLC est- Disponible sous licence, afin de pouvoir présenter des options d’achat dans le cas contraire
- Disponible sous licence par disque ou par licence numérique
Montage et démontage d’un DLC
Une fois la licence du DLC acquise, le contenu du DLC peut être monté et consulté.Désinstallation d’un DLC
Utilisez XPackageUninstallPackage pour désinstaller un package DLC. Le package doit d’abord être démonté.Smart Delivery et DLC
Les titres XBOX Series X/S peuvent obtenir la licence et monter des DLC créés pour le titre XBOX One. En général, ce scénario se produit lorsque le package DLC ne contient pas de données utilisées par le jeu. La seule façon de le vérifier est de déterminer si l’IDAllowedProduct du DLC ERA dans son fichier package.appxmanifest, qui est un GUID, correspond à l’ID de produit XBOX hérité attribué au produit dans Partner Center.
Si ce n’est pas le cas, le titre a peut-être été migré depuis l’ancien XBOX Developer Portal (XDP) mis hors service, et il ne fonctionne qu’avec les packages téléchargés depuis le Store, car la version XBOX Series X/S est attribuée à l’ID de produit de la XBOX One. À des fins de développement, consultez la remarque dans la section Résolution des problèmes.
