> ## 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.

# Accorder aux joueurs l'accès au contenu des modules complémentaires

> Accordez aux joueurs l'accès au contenu des modules complémentaires XBOX à l'aide des droits d'utilisation et des licences, y compris les produits durables, les consommables, les ensembles et les droits d'utilisation partagés.

De nombreux titres offrent du contenu de modules complémentaires à l'achat dans le Microsoft Store et dans une boutique intégrée au jeu. Les droits d'utilisation et les licences sont deux systèmes qui permettent de déterminer si un joueur doit obtenir l'accès au contenu d'un module complémentaire dans un jeu. L'approche à utiliser dépend du type de contenu (comme un produit durable, un consommable ou un ensemble) et de la conception du jeu. Vous pouvez gérer les droits d'utilisation des consommables à partir d'un service, acquérir des licences de produits durables au moyen du client ou utiliser une combinaison des droits d'utilisation et des licences pour contrôler l'accès au contenu dans votre jeu.

## Droits d'utilisation

Un droit d'utilisation représente le droit du client d'accéder à un produit numérique et de l'utiliser, notamment des jeux, des abonnements et des modules complémentaires. Chaque achat ou échange effectué dans le Microsoft Store génère un ou plusieurs droits d'utilisation suivis par le service de collections de Microsoft. Pour plus d'informations sur les types de produits qui fonctionnent avec les droits d'utilisation, consultez [Choisir le bon type de produit](/fr-CA/publishing/xstore-commerce/xstore-choosing-product-type).

Les droits d'utilisation d'un produit peuvent être accordés par l'achat direct du produit par le joueur, par l'achat d'un produit qui le satisfait (comme un ensemble ou un abonnement) ou par un droit d'utilisation partagé par un autre utilisateur. Les droits d'utilisation prennent en charge plusieurs états : actif, inactif, expiré et révoqué.

Les clients et les services de jeu peuvent interroger les droits d'utilisation d'un joueur, mais les résultats peuvent différer :

* Les API clientes peuvent uniquement retourner les droits d'utilisation à l'état actif, mais elles peuvent retourner tous les types de droits d'utilisation (directs, partagés, satisfaisants). Toutefois, le type d'un droit d'utilisation est invisible pour le client.
* Les API de service peuvent retourner des droits d'utilisation dans n'importe quel état, mais elles ne peuvent pas retourner les droits d'utilisation partagés, car elles n'ont pas le contexte de l'appareil. Elles peuvent toutefois distinguer les droits d'utilisation directs des droits d'utilisation satisfaisants.

### Partage des droits d'utilisation et disponibilité hors connexion

* Lorsque le compte propriétaire du produit désigne l'appareil actuel comme son appareil hors connexion (au moyen de **XBOX principale** sur console ou des **autorisations hors connexion** sur PC), il partage ses droits d'utilisation non consommables avec les autres comptes de l'appareil.
* Les droits d'utilisation de consommables sont des droits d'utilisation directs liés au compte acheteur et ne peuvent pas être partagés avec d'autres comptes de l'appareil.
* Toutes les requêtes de droits d'utilisation nécessitent une connexion en ligne. N'utilisez pas les droits d'utilisation pour déterminer les droits d'accès d'un joueur hors connexion. Utilisez plutôt les [licences](#licensing).

### Utilisation des droits d'utilisation pour un client de jeu

Chaque fois que le client envoie une requête de catalogue, il envoie un appel correspondant au service de collections pour remplir la propriété `IsInUserCollection` de chaque [XStoreProduct](/fr-CA/reference/system/xstore/xstore_members) retourné. Si `IsInUserCollection` a la valeur true, cela indique que le joueur a le droit d'utiliser le produit. Utilisez cette valeur pour décider quels produits apparaissent comme achetables ou comme déjà « possédés » par le joueur dans votre boutique intégrée au jeu.

Vous pouvez récupérer les détails XStoreProduct du contenu des modules complémentaires au moyen des méthodes suivantes :

* [XStoreQueryAssociatedProductsAsync](/fr-CA/reference/system/xstore/xstore_members) / [Result](/fr-CA/reference/system/xstore/xstore_members) : retourne uniquement les produits achetables. Le résultat n'inclut pas les produits masqués, offerts seulement dans un ensemble ou qui ne sont plus achetables dans le Microsoft Store.
* [XStoreQueryProductsAsync](/fr-CA/reference/system/xstore/xstore_members) / [Result](/fr-CA/reference/system/xstore/xstore_members) : sert à interroger des produits précis. Utilisez cette fonction pour vérifier les changements de droits d'utilisation d'un seul produit ou d'un sous-ensemble de produits.

Pour interroger le service de collections sur tous les droits d'utilisation actifs, y compris les produits masqués ou qui ne sont plus achetables dans le Microsoft Store, appelez :

* [XStoreQueryEntitledProductsAsync](/fr-CA/reference/system/xstore/xstore_members) / [Result](/fr-CA/reference/system/xstore/xstore_members)

Nous recommandons de vérifier les changements de droits d'utilisation lorsque le jeu reprend le focus (PC) ou revient d'un état restreint (console), car le joueur peut acquérir du nouveau contenu pendant qu'il est hors du jeu. Si le contenu des modules complémentaires peut être acheté dans des boutiques externes (Microsoft Store, application XBOX, xbox.com), un achat peut se produire à tout moment sur un autre appareil sans que le client le détecte.

Vérifiez les nouveaux droits d'utilisation à des moments stratégiques du jeu, par exemple lorsque le joueur consulte un menu de boutique ou d'inventaire. Votre titre peut aussi interroger périodiquement les mises à jour afin de réduire le délai entre l'achat d'un produit par le joueur et la disponibilité du contenu dans le jeu.

Pour plus d'informations sur l'interrogation des produits et des droits d'utilisation à partir du client, consultez [Opérations de base du Store](/fr-CA/publishing/xstore-commerce/xstore-basic-operations).

### Utilisation des droits d'utilisation pour un service de jeu

Des options plus avancées d'interrogation et de gestion des droits d'utilisation sont offertes lorsque vous utilisez un service de jeu. Voici un petit aperçu de ce qui est possible :

* Interroger les droits d'utilisation d'un utilisateur dans l'ensemble du catalogue de l'éditeur.
* Distinguer les droits d'utilisation directs des droits d'utilisation satisfaisants pour mieux comprendre comment les joueurs acquièrent du contenu.
* Interroger les droits d'utilisation inactifs dont la date de début est future pour détecter les achats encore à l'état de précommande.
* Gérer un écosystème de consommables robuste et multiplateforme (consultez [Écosystèmes basés sur les consommables](/fr-CA/publishing/xstore-commerce/xstore-consumables)).
* Détecter le remboursement de produits à l'aide du service Clawback (consultez [Gestion des remboursements et des rétrofacturations à partir de votre service](/fr-CA/publishing/xstore-commerce/xstore-managing-refunds)).
* Détecter l'état de l'abonnement XBOX Game Pass pour accorder des avantages aux abonnés dans votre jeu (consultez [Détection de l'accès à l'abonnement XBOX Game Pass à partir de votre service](/fr-CA/publishing/xstore-commerce/xstore-detecting-game-pass)).

Pour plus d'informations sur les offres de service à service, consultez [Gérer les produits à partir de votre service](/fr-CA/publishing/xstore-commerce/xstore-authenticating-service).

### Considérations relatives aux droits d'utilisation

* Lorsque vous travaillez dans un sandbox de développement sur PC, le client effectue toutes les requêtes de droits d'utilisation au nom du compte connecté à l'application XBOX.
* Lorsque vous travaillez dans RETAIL sur PC, le client effectue toutes les requêtes de droits d'utilisation au nom du compte connecté au Microsoft Store. Des scénarios de comptes non concordants peuvent se produire lorsque le compte connecté au jeu ne correspond pas au compte connecté au Microsoft Store (consultez [Gestion des comptes du Store non concordants](/fr-CA/publishing/xstore-commerce/xstore-mismatched-accounts) pour plus de détails).

Pour résoudre les problèmes courants liés aux droits d'utilisation, consultez [Dépannage du développement XStore](/fr-CA/publishing/xstore-commerce/xstore-troubleshooting).

## Licences

Une licence est une clé numérique qui confirme le droit de l'utilisateur d'accéder au contenu sur l'appareil. L'utilisateur doit avoir le droit d'utiliser le produit ou insérer un disque qui contient le produit (jeux et produits durables avec package) avant qu'une licence puisse être acquise.

Lorsque vous travaillez avec un produit durable (avec ou sans package), utilisez les licences pour répondre aux attentes en matière de partage, de simultanéité et de disponibilité hors connexion (consultez le [modèle de partage de produits pour les jeux](/fr-CA/publishing/xstore-commerce/xstore-product-sharing)).

Les licences sont soumises à des limites d'appareils et à des vérifications de simultanéité qui dépendent du modèle de licence utilisé par le jeu (consultez [Licences ouvertes et restrictives](/fr-CA/publishing/xstore-commerce/xstore-open-restrictive-licensing). Même si un joueur dispose d'un droit d'utilisation actif pour le produit, il peut ne pas réussir à acquérir une licence valide pour l'utiliser sur l'appareil.

### Partage des licences et disponibilité hors connexion

Le partage des licences se produit sur l'appareil lorsqu'une ou plusieurs de ces conditions sont remplies :

* Le jeu a acquis une licence pendant que le compte d'un propriétaire était connecté et qu'une connexion en ligne était établie.
* Le jeu a acquis une licence hors connexion pour le compte du propriétaire en tant qu'appareil hors connexion (**XBOX principale** sur console ou **autorisations hors connexion** sur PC). Dans ce scénario, le compte propriétaire n'a pas besoin d'être connecté à l'appareil pour partager ses licences avec les autres comptes.
* Le joueur insère un disque qui contient le DLC (produit durable avec package) et le DLC est installé sur l'appareil.

Les licences sont disponibles hors connexion lorsqu'une ou plusieurs de ces conditions sont remplies :

* Le compte propriétaire du produit désigne l'appareil actuel comme son appareil « hors connexion » (au moyen de **XBOX principale** sur console ou des **autorisations hors connexion** sur PC). Une fois la désignation hors connexion activée, le jeu doit acquérir une licence pour le produit durable pendant qu'il est en ligne. Au prochain lancement du jeu, celui-ci acquiert la licence utilisable hors connexion.
* Le joueur insère un disque qui contient le DLC (produit durable avec package) et le DLC est installé sur l'appareil.

### Utilisation des licences pour un client de jeu

Vous pouvez obtenir la licence d'un produit durable (avec ou sans package) en utilisant le flux suivant :

* [XStoreCanAcquireLicenseForStoreIdAsync](/fr-CA/reference/system/xstore/xstore_members) / [Result](/fr-CA/reference/system/xstore/xstore_members) donne un aperçu d'une licence sans déclencher de vérification de simultanéité. Si [XStoreCanLicenseStatus](/fr-CA/reference/system/xstore/xstore_members) a la valeur `Licensable`, le jeu peut tenter d'acquérir une licence de produit durable. Cette vérification préalable nécessite une connexion en ligne.
* [XStoreAcquireLicenseForDurablesAsync](/fr-CA/reference/system/xstore/xstore_members) / [Result](/fr-CA/reference/system/xstore/xstore_members) appelle le service de licences pour acquérir une licence s'il n'y a aucune licence sur l'appareil ou si la licence actuelle est expirée. Une licence mise en cache est retournée lorsqu'une licence active pour le produit est déjà disponible sur l'appareil ou lorsque cette API est appelée hors connexion. Si une licence mise en cache est retournée, elle peut ne pas être valide pour le joueur actuel.
* Appelez toujours [XStoreIsLicenseValid](/fr-CA/reference/system/xstore/xstore_members) pour vérifier si la licence est valide avant de déverrouiller du contenu dans le jeu.
* Si vous acquérez une licence valide, utilisez [XStoreRegisterPackageLicenseLost](/fr-CA/reference/system/xstore/xstore_members) pour être à l'écoute des événements de perte de licence. Si une licence est perdue, tentez de l'acquérir de nouveau. Si la licence ne peut pas être acquise de nouveau, décidez quand ou si vous bloquez l'accès du joueur au contenu (selon la conception du jeu).
* Après avoir traité un événement de perte de licence, appelez [XStoreUnregisterPackageLicenseLost](/fr-CA/reference/system/xstore/xstore_members) et libérez l'ancien handle de licence en appelant [XStoreCloseLicenseHandle](/fr-CA/reference/system/xstore/xstore_members).

Pour un exemple d'utilisation de XStoreAcquireLicenseForDurablesAsync, consultez [Comment utiliser un produit durable sans package](/fr-CA/publishing/xstore-commerce/xstore-dwob).

Un produit durable avec package (DLC) peut être inclus dans un ensemble de jeu sur disque. L'utilisateur doit insérer le disque et installer le DLC avant que le jeu puisse acquérir une licence. Si le DLC est inclus sur le disque ou si le jeu utilise les API [XPackage](/fr-CA/reference/system/xstore/xstore_members) pour énumérer les packages installés, nous recommandons d'utiliser la variante \*ForPackage de chaque API de licence : [XStoreCanAcquireLicenseForPackageAsync](/fr-CA/reference/system/xstore/xstore_members) / [Result](/fr-CA/reference/system/xstore/xstore_members) et [XStoreAcquireLicenseForPackageAsync](/fr-CA/reference/system/xstore/xstore_members) / [Result](/fr-CA/reference/system/xstore/xstore_members).

Pour un exemple d'énumération des packages installés et d'obtention de licences de DLC, consultez [Gérer le contenu téléchargeable (DLC) et ses licences](/fr-CA/publishing/xstore-commerce/xstore-dlc).

### Utilisation des licences pour un service de jeu

Les licences sont liées à l'appareil et ne peuvent pas être interrogées à partir d'un service de jeu. Toutefois, le client peut appeler [XStoreQueryLicenseTokenAsync](/fr-CA/reference/system/xstore/xstore_members) / [Result](/fr-CA/reference/system/xstore/xstore_members) pour fournir une validation supplémentaire au moyen d'un service de jeu. Pour plus d'informations, consultez [Utilisation des jetons de licence](/fr-CA/publishing/xstore-commerce/xstore-license-tokens).

### Considérations relatives aux licences

* Il peut y avoir un délai entre le moment où un achat est effectué et celui où une nouvelle licence peut être acquise. Vérifiez les changements apportés aux [droits d'utilisation](#entitlements) d'un utilisateur et acquérez une licence après l'ajout d'un nouveau droit d'utilisation pour un produit durable.
* Des licences de test sont automatiquement accordées pour les produits durables avec package lors du déploiement de packages chargés indépendamment. Pour tester les scénarios de licence des produits durables avec package, utilisez plutôt des substitutions de licence ou des packages installés à partir du Store. Pour plus d'informations, consultez [Activation des tests de licence](/fr-CA/publishing/xstore-commerce/xstore-licensing-setup).
* Lorsqu'un jeu acquiert la licence d'un produit durable, la licence est mise en cache sur l'appareil. Les licences sont extraites du cache jusqu'à ce que le système déclenche une actualisation des licences (aucune API ne permet de forcer une actualisation). Les appels répétés à XStoreAcquireLicense\* vérifient le cache de l'appareil et non le service.
* Les rappels de perte de licence peuvent aider à détecter si le système retourne par erreur au joueur actuel une licence mise en cache qui appartient à un autre compte. Dans ce cas, un événement de perte de licence se déclenche immédiatement et, si XStoreAcquireLicense\* est appelé de nouveau, une nouvelle licence est fournie.
* Le partage et la mise en cache des licences peuvent laisser les machines de test dans un état non propre. Pour plus d'informations, consultez [Dépannage du développement XStore](/fr-CA/publishing/xstore-commerce/xstore-troubleshooting).

## Exemples de ressources

Pour des exemples de code qui montrent comment interroger les droits d'utilisation des joueurs et acquérir des licences de produits durables, consultez les ressources suivantes :

* [Exemple InGameStore (GitHub)](https://github.com/microsoft/Xbox-GDK-Samples/tree/main/Samples/Live/InGameStore) : exemple C++ illustrant les fonctionnalités XStore, notamment la récupération de produits, l'achat, les droits d'utilisation et les licences de produits durables.
* [Exemple DownloadableContent (GitHub)](https://github.com/microsoft/Xbox-GDK-Samples/tree/main/Samples/Live/DownloadableContent) : exemple C++ illustrant les fonctionnalités XStore et XPackage, notamment l'énumération et l'obtention de licences de produits durables avec package.
* [Exemple UnityInGameStore (GitHub)](https://github.com/microsoft/Xbox-GDK-Samples/tree/main/Samples/Unity/Live/UnityInGameStore) : exemple C# illustrant les fonctionnalités XStore à l'aide du moteur de jeu Unity et du package d'API Microsoft GDK.

## Documentation de référence de l'API

* [XStore (contenu de l'API)](/fr-CA/reference/system/xstore/xstore_members)
  * Fonctions
    * [XStoreQueryAssociatedProductsAsync](/fr-CA/reference/system/xstore/xstore_members)
    * [Result](/fr-CA/reference/system/xstore/xstore_members)
    * [XStoreQueryProductsAsync](/fr-CA/reference/system/xstore/xstore_members)
    * [Result](/fr-CA/reference/system/xstore/xstore_members)
    * [XStoreQueryEntitledProductsAsync](/fr-CA/reference/system/xstore/xstore_members)
    * [Result](/fr-CA/reference/system/xstore/xstore_members)
    * [XStoreCanAcquireLicenseForStoreIdAsync](/fr-CA/reference/system/xstore/xstore_members)
    * [Result](/fr-CA/reference/system/xstore/xstore_members)
    * [XStoreAcquireLicenseForDurablesAsync](/fr-CA/reference/system/xstore/xstore_members)
    * [Result](/fr-CA/reference/system/xstore/xstore_members)
    * [XStoreIsLicenseValid](/fr-CA/reference/system/xstore/xstore_members)
    * [XStoreRegisterPackageLicenseLost](/fr-CA/reference/system/xstore/xstore_members)
    * [XStoreUnregisterPackageLicenseLost](/fr-CA/reference/system/xstore/xstore_members)
    * [XStoreCloseLicenseHandle](/fr-CA/reference/system/xstore/xstore_members)
    * [XStoreCanAcquireLicenseForPackageAsync](/fr-CA/reference/system/xstore/xstore_members)
    * [Result](/fr-CA/reference/system/xstore/xstore_members)
    * [XStoreAcquireLicenseForPackageAsync](/fr-CA/reference/system/xstore/xstore_members)
    * [Result](/fr-CA/reference/system/xstore/xstore_members)
    * [XStoreQueryLicenseTokenAsync](/fr-CA/reference/system/xstore/xstore_members)
    * [Result](/fr-CA/reference/system/xstore/xstore_members)
  * Structures
    * [XStoreProduct](/fr-CA/reference/system/xstore/xstore_members)
* [XPackage (contenu de l'API)](/fr-CA/reference/system/xstore/xstore_members)

## Voir aussi

[Vue d'ensemble du commerce](/fr-CA/publishing/xstore-commerce/xstore-commerce-overview)<br />[Référence de l'API XStore](/fr-CA/reference/system/xstore/xstore_members)


## Related topics

- [Contenu complémentaire sur les exigences et politiques XBOX](/fr-CA/publishing/certification/xr/overview.md)
- [Contenu complémentaire sur les exigences et stratégies XBOX](/fr/publishing/certification/xr/overview.md)
- [XR-047 Accès au profil utilisateur](/fr/publishing/certification/xr/xr-047.md)
- [XR-018 : Contenu généré par l'utilisateur](/fr-CA/publishing/certification/xr/xr-018.md)
- [Intégration des partenaires XBOX pour l'accès au GDK](/fr-CA/home/onboarding.md)
