Droits d’utilisation
Lorsque les droits d’utilisation ne correspondent pas à l’activité d’achat d’un joueur, vérifiez les cas suivants :- Si vous effectuez des tests dans une sandbox de développement sur PC, les comptes de test XBOX doivent se connecter à l’application XBOX avant de se connecter au Microsoft Store. Si un compte de test se connecte d’abord au Microsoft Store, celui-ci utilise par défaut l’environnement RETAIL.
- Les droits d’utilisation des précommandes sont inactifs jusqu’à leur date de sortie et ne sont pas renvoyés par les requêtes de droits d’utilisation côté client.
- Veillez à ce que les comptes de test soient limités aux achats dans une seule sandbox. Le service Collections peut renvoyer des résultats non valides si le compte possède des droits d’utilisation dans plusieurs sandboxes.
- Si vous effectuez des tests dans une sandbox de développement sur console, un droit d’utilisation est immédiatement accordé pour un produit gratuit après la sélection du bouton Get sur la page des détails du produit dans le Microsoft Store ou lorsque le jeu appelle XStoreShowPurchaseUIAsync. Le droit d’utilisation est accordé même si l’achat est abandonné. Pour éviter l’octroi automatique d’un droit d’utilisation, publiez le contenu d’extension avec un prix non nul dans la sandbox.
Licences
Lorsqu’une licence est acquise pour un contenu que le joueur ne possède pas, vérifiez qu’aucun partage ni mise en cache de licence ne se produit sur l’appareil.- Le partage et la mise en cache de licences peuvent laisser les machines de test dans un état non propre.
- La suppression de comptes d’un appareil ne supprime pas leur désignation « hors connexion ». Les licences compatibles hors connexion continuent d’être partagées avec d’autres comptes jusqu’à ce que la désignation soit modifiée ou que les licences expirent.
- Lorsqu’un nouveau compte est ajouté à un PC, le paramètre « Autorisations hors connexion » peut être activé automatiquement pour ce compte, ce qui peut entraîner un partage de licences inattendu.
- Pour garantir un environnement PC propre, effectuez toujours vos tests dans une nouvelle machine virtuelle.
- Pour ramener la console à un état propre, essayez les étapes suivantes :
- Désactivez « XBOX principale » (Paramètres > Général > Personnalisation > Ma XBOX principale) pour chaque compte de test avant de les supprimer de l’appareil.
- Exécutez « Réinitialiser la XBOX principale » (Paramètres > Développeur > Paramètres du développeur) plusieurs fois (15+) pour supprimer la désignation de l’appareil pour les anciens comptes, puis redémarrez la console.
- Si les licences continuent d’être partagées, une réinitialisation aux paramètres d’usine peut être nécessaire.
Le rappel affecté dans XPackageRegisterPackageInstalled n’est pas déclenché lorsqu’un DLC (durable avec package) est installé
Si l’état d’installation du DLC n’est pas évident, vérifiez d’abord xbapp listdlc ou wdapp listdlc pour confirmer que le DLC attendu est répertorié.
Vérifiez ensuite que l’élément AllowedProduct du fichier microsoftgame.config du DLC correspond à celui du nœud StoreId du fichier microsoftgame.config du jeu de base.
Si ce DLC est un produit Smart Delivery, que le jeu de base XBOX Series X/S utilise un package DLC ERA et que l’élément AllowedProduct du fichier appxmanifest du DLC ERA n’est pas identique à l’ID de produit attribué au jeu de base XBOX Series X/S (xbapp list /d), vous devrez peut-être substituer l’ID de produit. Cette substitution n’est possible que pour une build empaquetée :
XStoreShowPurchaseUIAsync sur PC affiche brièvement la boîte de dialogue d’achat puis renvoie E_ABORT
Ce problème peut se produire lorsque :
- XStoreShowPurchaseUIAsync est appelée à partir d’un processus élevé (administrateur).
- Vous déboguez dans Visual Studio avec des privilèges d’administrateur, ou à partir de tout processus configuré pour s’exécuter en tant qu’administrateur. La solution consiste à éviter d’appeler cette API lors d’une exécution en tant qu’administrateur.
- Le contrôle de compte d’utilisateur (UAC) est configuré pour ne pas afficher l’invite de confirmation sur le bureau de l’utilisateur interactif.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUA HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\PromptOnSecureDesktop
EnableLUA doit être 1. Dans certains cas, définir PromptOnSecureDesktop sur 0 peut également être efficace.
Cette page fournit plus d’informations sur ce paramètre et sur d’autres contrôles associés.
