Skip to main content
Le PC Windows introduit des complications qu’XStore sur XBOX ne connaît pas : le compte Microsoft Store du PC peut différer du compte XBOX du joueur, les sandbox affectent différemment les opérations du Store, et les flux de jetons de licence permettent à vos services de vérifier la propriété sans faire confiance au client.

DRM de base et vérifications de licence

XStore sur PC inclut une vérification DRM de base : le titre vérifie qu’il dispose d’une licence active avant d’autoriser le jeu. La vérification s’exécute au démarrage via XStoreQueryGameLicenseAsync. Si aucune licence n’est trouvée :
  1. Affichez au joueur une interface utilisateur du Store pour acheter ou se connecter.
  2. Ne laissez pas le jeu se poursuivre sans licence active.
Pour les titres présentant un risque élevé de piratage, ajoutez des vérifications supplémentaires :
  • Validez la licence via des jetons de licence depuis votre service.
  • Revérifiez périodiquement XStoreQueryGameLicenseAsync pendant le jeu ; révoquez l’accès en cas de perte de licence.

Licence ouverte et licence restrictive

Deux modèles de licence sur PC :
  • Licence ouverte : le joueur peut exécuter le titre avec n’importe quel compte Microsoft Store disposant d’une licence. Utile pour les PC partagés.
  • Licence restrictive : le joueur doit être connecté avec le compte Microsoft titulaire de la licence. Utilisée lorsque les titres souhaitent une protection anti-piratage renforcée.
Configurez ce paramètre dans Partner Center, dans les propriétés de votre produit.

Jetons de licence pour la validation par le service

Si votre serveur de jeu doit confirmer que le joueur possède le titre (par exemple, avant d’accorder un élément dans le jeu), utilisez des jetons de licence :
  1. Le client appelle XStoreQueryLicenseTokenAsync pour obtenir un jeton signé de courte durée.
  2. Le client envoie le jeton à votre service.
  3. Votre service valide la signature du jeton avec la clé publique Microsoft.
  4. Votre service se fie aux revendications du jeton concernant l’état de la licence.
Cela évite que le client revendique la propriété sans preuve, et évite que votre service interroge les API du Microsoft Store à chaque session.

Scénarios de comptes Store non concordants

Un problème courant sur PC : le joueur est connecté à Windows / à l’application XBOX avec un compte Microsoft, mais le Microsoft Store est connecté avec un compte différent. Les API XStore suivent le compte connecté au Store, ce qui peut entraîner :
  • Le titre affiche « acheter » alors que le joueur connecté à XBOX le possède sur l’autre compte.
  • L’achat est effectué sur le mauvais compte.
Pour gérer cela :
  1. Détectez la non-concordance : comparez XUserGetId aux informations de XStoreQueryGameLicenseAsync.
  2. Affichez une interface utilisateur expliquant la non-concordance et proposez de changer de compte.
  3. Si le joueur ne peut pas changer de compte, proposez de le rediriger via l’application XBOX pour corriger le compte du Store.

Changement de sandbox pour les opérations du Store

Le sandbox XBOX services (défini via XblPCSandbox.exe) ne contrôle pas entièrement le sandbox utilisé par le Store sur PC. Les opérations du Store nécessitent une étape supplémentaire :
  1. Changez le sandbox XBOX services.
  2. Relancez l’application Microsoft Store dans le contexte du nouveau sandbox.
  3. Vérifiez que XStoreQueryGameLicenseAsync renvoie des données du sandbox de développement.
Si le Store n’est pas correctement basculé, les résultats de test deviennent confus : XBOX services voit le sandbox de développement, mais les appels au Store atteignent RETAIL.

Liste de vérification des tests du commerce sur PC

Avant la soumission :
  1. Testez avec un compte de test qui ne possède rien : vérifiez le flux d’achat / de version d’évaluation / de connexion.
  2. Testez avec un compte de test qui possède le jeu de base : vérifiez qu’aucune invite « acheter » n’apparaît.
  3. Testez des comptes Store non concordants : connectez-vous à Windows avec un compte et au Store avec un autre.
  4. Testez le flux version d’évaluation → achat : vérifiez que la licence d’évaluation passe à la licence complète sans redémarrage.
  5. Testez le lancement hors connexion : les titres PC doivent se lancer et être jouables hors connexion (sans contact avec le Store) pendant une durée raisonnable de licence mise en cache.
  6. Testez le changement de sandbox : confirmez que les appels au Store renvoient des produits du sandbox de développement après le changement.

Documentation d’API associée

Voir aussi

Last modified on October 6, 2026