> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# XStore sur PC : DRM, jetons de licence et bacs à sable

> Considérations XStore propres au PC : DRM de base, jetons de licence pour la validation par service, gestion des comptes Store non concordants et changement de bac à sable.

Le PC Windows présente des complications que XStore sur XBOX n'a pas : le compte Microsoft Store sur le PC peut différer du compte XBOX du joueur, les bacs à sable influent différemment sur 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 comprend une vérification DRM de base : le titre vérifie qu'il dispose d'une licence active avant de permettre de jouer. La vérification s'exécute au démarrage au moyen de `XStoreQueryGameLicenseAsync`.

Si aucune licence n'est trouvée :

1. Présentez au joueur une interface du Store pour acheter ou se connecter.
2. Ne laissez pas la partie se poursuivre sans licence active.

Pour les titres présentant un risque de piratage élevé, ajoutez des vérifications supplémentaires :

* Validez la licence au moyen de [jetons de licence](#license-tokens-for-service-validation) à partir de votre service.
* Revérifiez périodiquement `XStoreQueryGameLicenseAsync` pendant la partie; révoquez l'accès en cas de perte de licence.

## Licence ouverte et licence restrictive

Deux modèles de licences sur PC :

* **Licence ouverte** : le joueur peut exécuter le titre avec n'importe quel compte Microsoft Store qui possède 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 veulent une protection anti-piratage plus forte.

Configurez cette option dans Partner Center, sous les propriétés de votre produit.

## Jetons de licence pour la validation par service

Si votre serveur de jeu doit confirmer que le joueur possède le titre (par exemple, avant d'accorder un élément en 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 de 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 les situations suivantes :

* Le titre affiche « acheter » même si le joueur connecté à XBOX le possède sur l'autre compte.
* L'achat est effectué sur le mauvais compte.

Pour gérer la situation :

1. Détectez la non-concordance : comparez `XUserGetId` à l'information de `XStoreQueryGameLicenseAsync`.
2. Affichez une interface expliquant la non-concordance et proposez de changer de compte.
3. Si le joueur ne peut pas changer de compte, proposez de le rediriger vers l'application XBOX pour corriger le compte du Store.

## Changement de bac à sable pour les opérations du Store

Le bac à sable des services XBOX (défini au moyen de `XblPCSandbox.exe`) ne contrôle pas entièrement le bac à sable qu'utilise le Store sur PC. Les opérations du Store nécessitent une étape supplémentaire :

1. Changez le bac à sable des services XBOX.
2. Relancez l'**application Microsoft Store** dans le contexte du nouveau bac à sable.
3. Vérifiez que `XStoreQueryGameLicenseAsync` renvoie des données du bac à sable de développement.

Si vous ne changez pas correctement le Store, vous obtiendrez des résultats de test déroutants où les services XBOX voient le bac à sable de développement, mais où les appels au Store atteignent RETAIL.

## Liste de vérification des tests de commerce sur PC

Avant la soumission :

1. **Testez avec un compte de test qui ne possède rien** : vérifiez le flux d'achat / 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 évaluation → achat** : vérifiez que la licence d'évaluation passe à la licence complète sans redémarrage.
5. **Testez le lancement hors ligne** : les titres PC doivent se lancer et être jouables hors ligne (sans communication avec le Store) pendant une période raisonnable de licence mise en cache.
6. **Testez le changement de bac à sable** : confirmez que les appels au Store renvoient les produits du bac à sable de développement après le changement.

## Documentation des API connexes

* [Référence de l'API XStore](/fr-CA/reference/system/xstore/xstore_members) : `XStoreQueryGameLicenseAsync`, `XStoreQueryLicenseTokenAsync`
* [Référence de l'API XUser](/fr-CA/reference/system/xuser/xuser_members) : `XUserGetId`, `XUserIsStoreUser`

## Voir aussi

* [XStore en profondeur](/fr-CA/publishing/xstore-commerce/xstore-overview)
* [API S2S XStore](/fr-CA/publishing/xstore-commerce/xstore-authenticating-service)
* [PC Sandbox Switcher](/fr-CA/tools/tools-services/live-pc-sandbox-switcher)
* [Lancement sur PC](/fr-CA/tools/tools-pc/launching-on-pc)


## Related topics

- [Exigences XBOX testées lors de la certification pour les jeux sur console XBOX](/fr/publishing/certification/console-cert-tested-requirements.md)
- [Notes de version de PlayFab Party](/fr-CA/services/playfab/multiplayer/networking/release-notes.md)
- [Intégration des partenaires XBOX : accès et publication](/fr/home/onboarding.md)
- [XStore en PC: DRM, tokens de licencia y sandboxes](/es/publishing/xstore-commerce/xstore-pc.md)
- [Intégration des partenaires XBOX pour l'accès au GDK](/fr-CA/home/onboarding.md)
