Scénarios et API pertinents
Pour tester les API suivantes, vous devez configurer votre environnement de développement comme décrit dans cet article :Contexte
Dans les scénarios commerciaux, un jeu doit disposer d’une licence pour pouvoir être joué. Une demande de licence vérifie la présence d’un disque inséré ou envoie une requête aux services Microsoft. Une licence est accordée si le compte a droit au produit grâce à un achat direct ou satisfaisant (par exemple, via un abonnement ou une offre groupée). Des licences peuvent également être accordées dans des scénarios de partage. Pour plus d’informations sur le partage, consultez Modèle de partage de produits pour les jeux. Les scénarios de développement ne suivent pas ce comportement par défaut. Ces scénarios incluent :- Les builds libres (déploiement F5 de Visual Studio, xbapp/wdapp register/deploy)
- Les builds de packages locales (makepkg, xbapp/wdapp install)
XStore fonctionnent toujours, mais des résultats inattendus peuvent se produire lors de l’octroi de licences pour des jeux ou des biens durables.
Pour configurer une build afin qu’elle se comporte comme pouvant faire l’objet d’une licence, appliquez les valeurs d’identité correctes au fichier MicrosoftGameConfig (comme décrit dans Activation du développement et des tests XStore).
Les étapes suivantes doivent ensuite être effectuées :
- Noter l’ID de contenu propre au jeu ou au DLC
- Appliquer l’ID de contenu à la build, selon le type de build
- Console uniquement : noter et appliquer l’EKBID à la build
Obtenir le ContentID
Vous trouverez le ContentID sur la page Packages après avoir sélectionné Show details :
L’ID de contenu des versions sandbox et commerciale peut être différent. Si vous installez une version commerciale du jeu, le produit est associé à un ID de contenu différent de celui dont vous avez besoin pour le sandbox. L’ID de contenu diffère également si des packages régionaux sont impliqués.
Console
Pour trouver l’ID de contenu d’un package installé, exécutezxbapp list /d (ou xbapp listdlc /d pour un DLC) dans l’invite de commandes Gaming Command Prompt.
PC
Pour trouver l’ID de contenu d’un package installé, exécutezwdapp list /d (ou wdapp listdlc /d pour un DLC) dans l’invite de commandes Gaming Command Prompt. Pour les packages que vous installez depuis le Store, utilisez l’indicateur /includeStore.
Appliquer l’ID de contenu à la build
Pour les builds libres, ajoutez la section suivante dans MicrosoftGameConfig :makepkg. Par exemple :
/contentid, le processus d’installation applique tout ContentIdOverride disponible dans MicrosoftGameConfig lorsque vous installez à partir d’une source locale.
Les builds installées depuis le Store (sandbox ou commerciale) disposent toujours de l’ID de contenu approprié (tel qu’il apparaît dans Partner Center).
Appliquer l’EKBID à la build (console uniquement)
Définissez l’EKBID (Escrow Key Blob ID) pour que la build puisse faire l’objet d’une licence sur console. Dans la plupart des scénarios, il suffit de le remplacer par rapport à la valeur de test par défaut, composée uniquement de zéros, ou 33EC8436-5A0E-4F0D-B1CE-3F29C3955039. Remplacez l’EKBID à l’aide de la commande suivante :wdapp setekbid).
Versions d’évaluation et EKBID
Pour les versions d’évaluation, l’EKBID réel doit être appliqué. Pour trouver l’EKBID utilisé par le jeu, exécutezxbapp list /d pour une build installée depuis le Store. Pour plus d’informations, consultez Implémentation de versions d’évaluation pour votre jeu.
S’assurer que le compte de test a droit au produit dans le sandbox
Pour les produits publiés à la fois dans le sandbox et en version commerciale, vous pouvez utiliser DevEntitlementTool pour interroger et acquérir des droits d’utilisation pour un compte de test. Le meilleur moyen d’obtenir un droit d’utilisation consiste à accéder directement à la page Store du produit par activation de protocole, car les produits publiés uniquement dans le sandbox peuvent ne pas être trouvables par recherche. La console ou le PC de développement doit être défini sur le sandbox dans lequel le jeu est publié. Pour plus d’informations, consultez la documentation de vue d’ensemble des sandbox des XBOX services et, pour PC, consultez Changer correctement de sandbox pour les opérations du Store. Une fois correctement connecté, utilisez le lien de protocole du Store pour accéder à la page Store : Sur console : Utilisez Gaming Command Prompt :xbapp launch ms-windows-store://pdp/?productid=<storeID>
Sur PC :
Dans la boîte de dialogue Exécuter (⊞Win +R) ou dans un navigateur web
msxbox://game/?productId=<storeID> (pour afficher le produit dans l’application XBOX)
Ou
ms-windows-store://pdp/?productid=<storeID> (pour afficher le produit dans le Microsoft Store)
Une fois sur la page Store, sélectionnez Acheter ou Obtenir pour acquérir une licence du produit pour votre compte de test. Le téléchargement et l’installation des jeux et des DLC devraient démarrer automatiquement. Si vous prévoyez d’itérer avec des builds locales, vous pouvez annuler l’opération.
Vous devez acquérir un droit d’utilisation pour chaque compte qui exécute la build et qui s’attend à ce que les API XStore liées aux licences fonctionnent.
DLC
Pour qu’un DLC local puisse faire l’objet d’une licence, l’ID de contenu doit être appliqué àmakepkg et xbapp setekbid doit être défini sur une valeur autre que les valeurs par défaut. Seul le DLC doit être configuré pour les licences, pas le jeu de base.
Les remplacements de licence sont pertinents pour les API suivantes lorsqu’elles sont appelées avec un bien durable avec package :
- XStoreAcquireLicenseForDurablesAsync
- XStoreAcquireLicenseForPackageAsync
- XStoreCanAcquireLicenseForPackageAsync
- XStoreCanAcquireLicenseForStoreIdAsync
- XStoreRegisterPackageLicenseLost
Documentation de référence de l’API
- XStore (contenu de l’API)
- Fonctions
- XStoreQueryGameLicenseAsync
- XStoreQueryLicenseTokenAsync
- XStoreQueryAddOnLicensesAsync
- XStoreRegisterGameLicenseChanged
- XStoreAcquireLicenseForDurablesAsync
- XStoreAcquireLicenseForPackageAsync
- XStoreCanAcquireLicenseForPackageAsync
- XStoreCanAcquireLicenseForStoreIdAsync
- XStoreRegisterPackageLicenseLost
- Fonctions
Voir aussi
Vue d’ensemble du commerceActivation du développement et des tests XStore
Changer correctement de sandbox pour les opérations du Store
Référence de l’API XStore
