Skip to main content
De nombreux titres proposent 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 que vous utilisez dépend du type de contenu (bien durable, consommable ou offre groupée, par exemple) 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 biens durables à l’aide du client, ou combiner les droits d’utilisation et les 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 à accéder à un produit numérique et à l’utiliser, notamment les jeux, les abonnements et les modules complémentaires. Chaque achat ou échange effectué dans le Microsoft Store donne lieu à 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. Les droits d’utilisation d’un produit peuvent être accordés par l’achat direct du produit par un joueur, par l’achat d’un produit satisfaisant (comme une offre groupée 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 services de jeu peuvent interroger les droits d’utilisation d’un joueur, mais les résultats peuvent différer :
  • Les API clientes ne peuvent renvoyer que les droits d’utilisation à l’état actif, mais elles peuvent renvoyer tous les types de droits d’utilisation (direct, partagé, satisfaisant). Toutefois, le type d’un droit d’utilisation n’est pas visible pour le client.
  • Les API de service peuvent renvoyer des droits d’utilisation dans n’importe quel état, mais elles ne peuvent pas renvoyer les droits d’utilisation partagés, car elles ne disposent pas du contexte de l’appareil. Elles peuvent toutefois faire la distinction entre les droits d’utilisation directs et 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 (à l’aide de Home XBOX 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 des consommables sont des droits d’utilisation directs liés au compte acheteur et ne peuvent pas être partagés avec les 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.

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 renseigner la propriété IsInUserCollection de chaque XStoreProduct renvoyé. 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 disponibles à l’achat ou 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 à l’aide des méthodes suivantes :
  • XStoreQueryAssociatedProductsAsync / Result : renvoie uniquement les produits disponibles à l’achat. Le résultat n’inclut pas les produits masqués, disponibles uniquement dans une offre groupée ou qui ne sont plus disponibles à l’achat dans le Microsoft Store.
  • XStoreQueryProductsAsync / Result : sert à interroger des produits spécifiques. Utilisez cette fonction pour vérifier les modifications de droits d’utilisation pour un seul produit ou 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 disponibles à l’achat dans le Microsoft Store, appelez : Nous vous recommandons de vérifier les modifications de droits d’utilisation lorsque le jeu reprend le focus (PC) ou revient d’un état contraint (console), car le joueur peut acquérir du nouveau contenu pendant qu’il est hors du jeu. Si le contenu des modules complémentaires est disponible à l’achat sur des boutiques externes (Microsoft Store, application XBOX, xbox.com), un achat peut avoir lieu à 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 occasionnellement les mises à jour afin de réduire le délai entre l’achat d’un produit par les joueurs 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.

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 disponibles lorsque vous utilisez un service de jeu. Voici un petit aperçu des possibilités : Pour plus d’informations sur les offres de service à service, consultez Gérer les produits depuis votre 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 pour le compte connecté à l’application XBOX.
  • Lorsque vous travaillez dans RETAIL sur PC, le client effectue toutes les requêtes de droits d’utilisation pour le compte connecté au Microsoft Store. Des scénarios de non-concordance de comptes peuvent se produire lorsque le compte connecté au jeu ne correspond pas au compte connecté au Microsoft Store (consultez Gestion des comptes Store non concordants pour plus de détails).
Pour résoudre les problèmes courants liés aux droits d’utilisation, consultez Résolution des problèmes de développement XStore.

Licences

Une licence est une clé numérique qui confirme le droit de l’utilisateur à accéder au contenu sur l’appareil. L’utilisateur doit avoir le droit d’utiliser le produit ou insérer un disque qui inclut le produit (jeux et biens durables avec packages) avant qu’une licence puisse être acquise. Lorsque vous travaillez avec un bien 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). Les licences sont soumises à des limitations 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. Même si un joueur dispose d’un droit d’utilisation actif pour le produit, il peut ne pas parvenir à acquérir une licence valide pour une utilisation 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 alors que le compte d’un propriétaire est connecté et qu’une connexion en ligne est établie.
  • Le jeu a acquis une licence hors connexion pour le compte du propriétaire en tant qu’appareil hors connexion (Home XBOX 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 inclut le DLC (bien 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 » (à l’aide de Home XBOX 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 en étant en ligne. Au prochain lancement du jeu, celui-ci acquiert la licence utilisable hors connexion.
  • Le joueur insère un disque qui inclut le DLC (bien durable avec package) et le DLC est installé sur l’appareil.

Utilisation des licences pour un client de jeu

Vous pouvez accorder une licence pour un bien durable (avec ou sans package) à l’aide du flux suivant :
  • XStoreCanAcquireLicenseForStoreIdAsync / Result prévisualise une licence sans déclencher de vérification de simultanéité. Si XStoreCanLicenseStatus a la valeur Licensable, le jeu peut tenter d’acquérir une licence de bien durable. Cette vérification préalable nécessite une connexion en ligne.
  • XStoreAcquireLicenseForDurablesAsync / Result appelle le service de licences pour acquérir une licence s’il n’y a pas de licence sur l’appareil ou si la licence actuelle a expiré. Une licence mise en cache est renvoyé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 renvoyée, elle peut ne pas être valide pour le joueur actuel.
  • Appelez toujours XStoreIsLicenseValid 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 pour écouter les événements de perte de licence. Si une licence est perdue, tentez de la réacquérir. Si la licence ne peut pas être réacquise, décidez quand bloquer l’accès du joueur au contenu, ou s’il faut le faire (selon la conception du jeu).
  • Après avoir traité un événement de perte de licence, appelez XStoreUnregisterPackageLicenseLost et libérez l’ancien handle de licence en appelant XStoreCloseLicenseHandle.
Pour un exemple d’utilisation de XStoreAcquireLicenseForDurablesAsync, consultez Utilisation d’un bien durable sans package. Un bien durable avec package (DLC) peut être inclus dans une offre groupée 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 pour énumérer les packages installés, nous vous recommandons d’utiliser la variante *ForPackage de chaque API de licence : XStoreCanAcquireLicenseForPackageAsync / Result et XStoreAcquireLicenseForPackageAsync / Result. Pour un exemple d’énumération des packages installés et d’octroi de licence pour un DLC, consultez Gérer et accorder des licences pour le contenu téléchargeable (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 / Result pour fournir une validation supplémentaire à l’aide d’un service de jeu. Pour plus d’informations, consultez Utilisation des jetons de licence.

Considérations relatives aux licences

  • Il peut y avoir un délai entre la finalisation d’un achat et le moment où une nouvelle licence peut être acquise. Vérifiez les modifications des droits d’utilisation 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 biens durables avec packages lors du déploiement de packages chargés indépendamment. Pour tester les scénarios de licence des biens durables avec packages, utilisez plutôt des remplacements de licence ou des packages installés depuis le Store. Pour plus d’informations, consultez Activation des tests de licence.
  • Lorsqu’un jeu acquiert une licence de bien 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 renvoie 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 Résolution des problèmes de développement XStore.

Exemples de ressources

Pour obtenir des exemples de code qui montrent comment interroger les droits d’utilisation des joueurs et acquérir des licences de biens durables, consultez les ressources suivantes :
  • Exemple InGameStore (GitHub) : exemple C++ illustrant les fonctionnalités XStore, notamment la récupération de produits, l’achat, les droits d’utilisation et l’octroi de licences pour les biens durables.
  • Exemple DownloadableContent (GitHub) : exemple C++ illustrant les fonctionnalités XStore et XPackage, notamment l’énumération et l’octroi de licences pour les biens durables avec package.
  • Exemple UnityInGameStore (GitHub) : exemple C# illustrant les fonctionnalités XStore à l’aide du moteur de jeu Unity et du package ‘Microsoft GDK API.

Documentation de référence de l’API

Voir aussi

Vue d’ensemble du commerce
Référence de l’API XStore
Last modified on October 6, 2026