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 un bac à sable 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, le Microsoft Store 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 effectuées côté client.
- Assurez-vous que les comptes de test sont limités aux achats dans un seul bac à sable. Le service Collections peut renvoyer des résultats non valides si le compte possède des droits d’utilisation dans plusieurs bacs à sable.
- Si vous effectuez des tests dans un bac à sable de développement sur console, un droit d’utilisation est immédiatement accordé pour un produit gratuit après avoir sélectionné le bouton Get sur la page de 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 annulé. Pour éviter l’octroi automatique d’un droit d’utilisation, publiez le contenu d’extension avec un prix non nul dans le bac à sable.
Licences
Lorsqu’une licence est acquise pour du contenu qu’un 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 des 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 le 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 remettre la console dans un état propre, essayez les étapes suivantes :
- Désactivez « Ma 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 pourrait être nécessaire.
Le rappel attribué dans XPackageRegisterPackageInstalled n’est pas déclenché lorsque le 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 figure dans la liste.
Vérifiez ensuite que la valeur AllowedProduct du fichier microsoftgame.config du DLC correspond à celle du nœud StoreId du jeu de base dans son fichier microsoftgame.config
Si ce DLC est un produit Smart Delivery et que le jeu de base XBOX Series X/S utilise un package de DLC ERA, et que la valeur AllowedProduct dans le fichier appxmanifest du DLC ERA n’est pas la même que l’ID de produit attribué au jeu de base XBOX Series X/S (xbapp list /d), vous pourriez devoir 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 dans les cas suivants :
- XStoreShowPurchaseUIAsync est appelé à 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, le fait de basculer PromptOnSecureDesktop à 0 peut également être efficace.
Cette page contient plus d’informations sur ce contrôle et d’autres contrôles connexes.
