Skip to main content

Packages Publisher Content

Publisher Content est un type de package qui vous permet d’héberger du contenu de jeu supplémentaire sur votre propre réseau de distribution de contenu (CDN), tandis que la plateforme continue de gérer l’installation, le téléchargement en arrière-plan, la validation de l’intégrité et l’expérience utilisateur. Les packages Publisher Content sont pris en charge sur les consoles de la famille XBOX One et sur les consoles XBOX Series X|S à partir du GDK d’octobre 2026 (GDK 2610). Les packages Publisher Content se comportent comme du contenu téléchargeable (DLC) au moment de l’exécution : ils s’installent à côté d’un jeu de base, se montent dans votre processus et se démontent lorsque le jeu se ferme. Contrairement au DLC, ils ne sont pas ingérés via Partner Center, n’ont pas d’ID Store et ne sont ni vendus ni concédés sous licence via le Microsoft Store. Votre service est la source de référence pour le contenu distribué, le moment de ses mises à jour et les personnes qui le reçoivent.

Quand utiliser Publisher Content

Envisagez Publisher Content lorsque vous souhaitez effectuer l’une des opérations suivantes :
  • Distribuer de petites mises à jour de service en direct (données de configuration, tables de réglage, petits packs de ressources) sans passer par l’ingestion du Store.
  • Fournir du contenu de module complémentaire à la marque de l’éditeur que tous les joueurs du jeu de base reçoivent automatiquement.
  • Réutiliser un CDN et un pipeline de contenu existants que vous exploitez déjà pour vos jeux sur d’autres plateformes.
  • Garder le contrôle du calendrier de déploiement, du ciblage régional ou des tests A/B au niveau de la couche CDN.
Publisher Content ne remplace pas le DLC. Continuez à utiliser les packages DLC standard lorsque vous avez besoin de droits d’utilisation par utilisateur, de flux d’achat ou de licences Microsoft Store.

Exigences et contraintes

  • Un seul package Publisher Content par jeu de base.
  • Disponible pour tout joueur qui possède le jeu de base. Il n’y a aucune vérification de licence par utilisateur.
  • Pris en charge sur les consoles de la famille XBOX One et sur les consoles XBOX Series X|S.
  • Le jeu de base et le package Publisher Content doivent utiliser le même format de package. Par exemple, si le jeu de base est empaqueté au format MSIXVC2, le package Publisher Content doit également être au format MSIXVC2.
  • Le package Publisher Content doit être petit, c’est-à-dire d’une taille inférieure à 1 Go.
  • Le package Publisher Content est signé avec du matériel de signature fourni par l’éditeur, et le jeu de base incorpore le matériel public correspondant afin que la plateforme puisse valider le Publisher Content qui prétend lui appartenir. Le jeu de base lui-même est signé de la même manière que n’importe quel autre titre. Le matériel de signature diffère selon le format de package :
    • XVC et MSIXVC — Une clé de signature CNG brute. RSA-4096 est requis.
    • MSIXVC2 — Un certificat X.509 avec une clé RSA-4096. Le certificat doit être actuellement valide, disposer d’une clé privée RSA accessible et autoriser les signatures numériques.
La plateforme n’assure pas la confidentialité du contenu des packages Publisher Content. Contrairement au DLC du Microsoft Store, Publisher Content n’est pas chiffré pour la distribution : toute personne qui télécharge le fichier depuis votre CDN peut en inspecter le contenu. Si vous avez besoin de confidentialité pour certaines parties de votre charge utile, chiffrez ces parties dans le contenu lui-même avant l’empaquetage.

Comment les éléments s’articulent

Dans les grandes lignes :
  1. Vous déclarez une URL de manifeste pour votre jeu de base dans MicrosoftGame.config. Cette URL pointe vers un petit fichier JSON que vous hébergez sur votre CDN et que vous pouvez mettre à jour à tout moment.
  2. Vous créez un package Publisher Content qui référence le jeu de base par son ID Store.
  3. Vous signez le package Publisher Content avec votre matériel de signature d’éditeur. Le jeu de base incorpore le matériel public correspondant afin que la plateforme puisse valider tout Publisher Content qui prétend lui appartenir.
  4. Lorsqu’un joueur installe le jeu de base, la plateforme récupère votre manifeste, lit l’URL CDN du package Publisher Content actuel et met son installation en file d’attente.
  5. Au moment de l’exécution, votre jeu énumère les packages installés et monte le package Publisher Content de la même manière qu’il monterait un DLC.
Pour distribuer une nouvelle révision du contenu, chargez un nouveau package sur votre CDN et mettez à jour votre manifeste pour qu’il pointe vers celui-ci. La plateforme prend en compte la modification lors de la prochaine vérification des mises à jour.

Configurer votre jeu de base

Dans le fichier MicrosoftGame.config de votre jeu de base, ajoutez un élément PublisherContent avec un enfant ManifestUrl. L’URL doit être accessible par chaque appareil qui exécute votre jeu.
Pour plus d’informations sur ces éléments, consultez Élément PublisherContent (MicrosoftGame.config) et Élément ManifestUrl (MicrosoftGame.config).

Créer le package Publisher Content

Créez un fichier MicrosoftGame.config à côté de votre charge utile Publisher Content. Référencez le jeu de base par son ID Store à l’aide de l’élément PublisherContentBaseProduct.
Pour plus d’informations, consultez Élément PublisherContentBaseProduct (MicrosoftGame.config).
N’incluez pas d’élément AllowedProducts dans un package Publisher Content. Cet élément identifie un package comme un DLC standard et s’exclut mutuellement avec PublisherContentBaseProduct.

Créer le manifeste

Hébergez un petit manifeste JSON à l’adresse ManifestUrl que vous avez déclarée dans le jeu de base. Le manifeste contient un seul champ url qui pointe vers le package Publisher Content actuel sur votre CDN. Veillez à ne pas modifier le Publisher Content situé à cette URL une fois publié ; publiez plutôt chaque nouvelle version du package Publisher Content à une nouvelle URL et mettez à jour le manifeste en conséquence.

Générer le matériel de signature d’éditeur

Le matériel de signature d’éditeur se trouve sur votre ordinateur de build et est référencé par son nom (ou son empreinte numérique) lorsque makepkg empaquette le jeu de base et le package Publisher Content. Sa forme exacte dépend du format de package que vous ciblez.
Traitez la clé de signature d’éditeur ou la clé privée du certificat comme un secret de production. Toute personne ayant accès au matériel privé peut produire des packages Publisher Content que la plateforme acceptera comme provenant de vous.

Pour les packages XVC et MSIXVC

Créez une clé de signature RSA-4096 dans un fournisseur de stockage de clés CNG Windows sur l’ordinateur de build. L’exemple PowerShell suivant crée une clé de signature RSA-4096 exportable nommée MyTestPubXvcSigningKey dans le fournisseur de stockage de clés logiciel Microsoft (Microsoft Software Key Storage Provider).
Transmettez le nom de clé obtenu à makepkg pack via /usepublisherkey. Si vous utilisez un fournisseur de stockage de clés CNG autre que celui par défaut, transmettez également son nom via /publisherkeyprovider.

Pour les packages MSIXVC2

Créez un certificat X.509 dont la clé de sujet est une clé RSA-4096, puis installez le certificat et sa clé privée dans le magasin de certificats CurrentUser\My. L’exemple PowerShell suivant crée un certificat RSA-4096 auto-signé dans CurrentUser\My et exporte son fichier .cer.
Transmettez soit le chemin du fichier .cer exporté, soit l’empreinte numérique du certificat à makepkg pack via /usepublishercert. Si le certificat est installé dans un magasin autre que My, transmettez également son nom via /publishercertstore.

Empaqueter le jeu de base et le Publisher Content

Les deux appels pack doivent référencer la même clé ou le même certificat.

Pour les packages XVC et MSIXVC

Empaquetez le jeu de base :
Empaquetez le Publisher Content :
Si vous utilisez un fournisseur de stockage de clés CNG autre que Microsoft Software Key Storage Provider, ajoutez /publisherkeyprovider <providername> aux deux commandes.

Pour les packages MSIXVC2

Empaquetez le jeu de base :
Empaquetez le Publisher Content :
Si le certificat est installé dans un magasin autre que CurrentUser\My, ajoutez /publishercertstore <store> aux deux commandes. Pour plus de détails, consultez Créer un package (makepkg.exe).

Publier et mettre à jour

Les packages Publisher Content sont hébergés sur votre CDN et ne peuvent pas être chargés dans Partner Center. makepkg upload rejette les packages Publisher Content, qu’ils soient sous forme libre ou empaquetée. Le package du jeu de base se charge normalement via le flux Partner Center standard.
  1. Chargez le fichier XVC Publisher Content empaqueté sur votre CDN, à l’URL que vous avez référencée dans votre manifeste.
  2. Chargez votre manifeste JSON à l’URL que vous avez déclarée dans l’élément ManifestUrl du jeu de base.
  3. Soumettez et distribuez le jeu de base via Partner Center comme d’habitude.
Pour déployer une mise à jour :
  1. Chargez le nouveau package Publisher Content sur votre CDN à une nouvelle URL. Ne remplacez pas l’ancien package Publisher Content.
  2. Mettez à jour la valeur url du manifeste pour qu’elle pointe vers le nouveau package.
  3. Chargez le fichier JSON mis à jour à l’URL que vous avez déclarée dans l’élément ManifestUrl du jeu de base.
Les appareils sur lesquels le jeu est installé détectent la modification lors de la prochaine vérification des mises à jour et téléchargent le nouveau package Publisher Content en arrière-plan.

Accéder au Publisher Content au moment de l’exécution

Au moment de l’exécution, découvrez le Publisher Content installé de la même manière que vous découvrez un DLC, en utilisant XPackageEnumeratePackages, puis en montant le package renvoyé avec XPackageMountWithUiAsync. Transmettez XPackageKind::PublisherContent pour limiter l’énumération au Publisher Content uniquement :
Si vous disposez déjà d’un identificateur de package provenant d’une autre source, utilisez XPackageGetPackageKind pour déterminer s’il fait référence à un package Publisher Content :
Comme Publisher Content n’est pas concédé sous licence via le Microsoft Store, vous n’avez pas besoin d’appeler XStoreQueryPackageIdByKind ni d’effectuer une vérification de licence Store avant le montage.

Comportement de désinstallation

Lorsqu’un joueur désinstalle le jeu de base, la plateforme désinstalle automatiquement le package Publisher Content associé. Vous n’avez pas besoin de le supprimer explicitement depuis le code de votre jeu.

Voir aussi

Last modified on October 6, 2026