Skip to main content

Packages de contenu d’éditeur (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 par l’intermédiaire de Partner Center, n’ont pas d’ID de Store et ne sont ni vendus ni concédés sous licence par l’intermédiaire du Microsoft Store. Votre service est la source de référence pour le contenu livré, 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 :
  • Livrer de petites mises à jour de service en continu (données de configuration, tables d’ajustement, petits packs de ressources) sans passer par l’ingestion du Store.
  • Distribuer du contenu complémentaire à l’image 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 sur le calendrier de déploiement, le ciblage régional ou les tests A/B au niveau du 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 du 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 intègre 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 façon 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 obligatoire.
    • 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, le Publisher Content n’est pas chiffré pour la distribution : toute personne qui télécharge le fichier à partir de votre CDN peut en inspecter le contenu. Si vous avez besoin de confidentialité pour certaines parties de votre charge utile, chiffrez ces parties à l’intérieur du contenu lui-même avant l’empaquetage.

Comment les éléments s’articulent

De façon générale :
  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 en tout temps.
  2. Vous créez un package Publisher Content qui fait référence au jeu de base par son ID de Store.
  3. Vous signez le package Publisher Content avec votre matériel de signature d’éditeur. Le jeu de base intègre 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 façon qu’il monterait un DLC.
Pour livrer une nouvelle révision du contenu, téléversez un nouveau package sur votre CDN et mettez à jour votre manifeste pour qu’il pointe vers celui-ci. La plateforme détecte le changement 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. Faites référence au jeu de base par son ID de 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 à cette URL une fois qu’il est 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 réside 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 ciblé.
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 de Windows sur l’ordinateur de build. L’exemple PowerShell suivant crée une clé de signature RSA-4096 exportable nommée MyTestPubXvcSigningKey dans le Microsoft Software Key Storage Provider.
Transmettez le nom de la clé obtenue à makepkg pack au moyen de /usepublisherkey. Si vous utilisez un fournisseur de stockage de clés CNG autre que celui par défaut, transmettez également son nom au moyen de /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 le chemin du fichier .cer exporté ou l’empreinte numérique du certificat à makepkg pack au moyen de /usepublishercert. Si le certificat est installé dans un magasin autre que My, transmettez également son nom au moyen de /publishercertstore.

Empaqueter le jeu de base et le Publisher Content

Les deux appels à pack doivent faire référence à la même clé ou au 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 le 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 téléversé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 est téléversé normalement au moyen du flux standard de Partner Center.
  1. Téléversez le XVC Publisher Content empaqueté sur votre CDN à l’URL que vous avez référencée dans votre manifeste.
  2. Téléversez votre manifeste JSON à l’URL que vous avez déclarée dans l’élément ManifestUrl du jeu de base.
  3. Soumettez et livrez le jeu de base par l’intermédiaire de Partner Center comme d’habitude.
Pour déployer une mise à jour :
  1. Téléversez 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 dans le manifeste pour qu’elle pointe vers le nouveau package.
  3. Téléversez 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 le changement 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 façon que vous découvrez le DLC, en utilisant XPackageEnumeratePackages, puis en montant le package retourné 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 le Publisher Content n’est pas concédé sous licence par l’intermédiaire du Microsoft Store, vous n’avez pas besoin d’appeler XStoreQueryPackageIdByKind ni d’effectuer une vérification de licence du 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 dans le code de votre jeu.

Voir aussi

Last modified on October 6, 2026