Intégration de place de marché : Microsoft Store
Ce tutoriel vous montre comment échanger des achats intégrés du Microsoft Store (y compris sur XBOX) au moyen de PlayFab Economy v2 à l’aide de l’API RedeemMicrosoftStoreInventoryItems. À la fin de ce tutoriel, vous aurez :- Créé une extension dans Partner Center
- Configuré les paramètres requis dans Partner Center et dans PlayFab
- Lié votre produit du Microsoft Store à un ensemble (Bundle) du catalogue PlayFab
- Appelé l’API d’échange et vérifié les articles dans l’inventaire de votre joueur
Prérequis
- Un compte Partner Center ayant accès à votre application.
- Une application déjà créée dans Partner Center.
- Un titre déjà créé dans Game Manager.
- Le joueur qui appelle l’API d’échange doit être authentifié auprès de PlayFab avec une identité XBOX Live (par exemple, au moyen de
LoginWithXbox). Les joueurs authentifiés avec d’autres types d’identité (comme CustomID ou une adresse courriel) ne disposent pas du contexte XBOX requis pour ce flux.
Types de produits pris en charge
L’APIRedeemMicrosoftStoreInventoryItems prend en charge les types de produits suivants du Microsoft Store :
- Consommable géré par le développeur — Produits qui peuvent être achetés, utilisés, puis achetés de nouveau (par exemple, des lots de monnaie de jeu). Le service du jeu est responsable du suivi de l’exécution.
- Durable — Produits achetés une seule fois et possédés de façon permanente (par exemple, du contenu téléchargeable, des extensions de jeu, des passes saisonnières ou des articles cosmétiques).
Les consommables gérés par le Store ne sont pas pris en charge. PlayFab Economy v2 ne peut pas échanger les consommables gérés par le Store. Si votre extension est configurée comme consommable géré par le Store, l’API d’échange retourne une réponse HTTP 200 avec des résultats vides et aucune erreur, ce qui rend le problème difficile à diagnostiquer.
Étape 1 : Créer votre extension dans Partner Center
- Connectez-vous à Partner Center et accédez à votre application.
- Sous Add-ons, sélectionnez Create a new add-on.
- Sélectionnez le type de produit approprié :
- Consommable géré par le développeur pour les articles qui peuvent être rachetés (monnaie, lots de consommables).
- Durable pour les achats uniques (contenu téléchargeable, passes saisonnières, déverrouillages cosmétiques).
- Terminez la configuration de l’extension (prix, descriptions, etc.) et soumettez-la.
Lors de la création d’un consommable géré par le développeur, Partner Center affiche un avertissement qui indique : « XBOX exige que les consommables soient gérés; n’utilisez donc pas cette option et créez plutôt une extension de type “managed consumable”. Si vous avez des questions, communiquez avec votre représentant Microsoft. »* Cet avertissement reflète les directives générales de la plateforme XBOX et ne s’applique pas au flux d’échange de PlayFab. Les consommables gérés par le développeur fonctionnent correctement sur XBOX lorsqu’ils sont utilisés avec l’API
RedeemMicrosoftStoreInventoryItems de PlayFab. Vous pouvez poursuivre sans crainte avec ce type de produit.- Après avoir créé votre extension, notez le Store ID, soit la chaîne alphanumérique (par exemple,
9NBLGGH42CFD) affichée dans Partner Center. Utilisez cette valeur pour PlayFab, et non le Product ID défini par le développeur ni le nom de l’extension.
Étape 2 : Configurer le Product Group, le Dev Studio et le Business Partner ID
Cette étape configure le flux de jeton délégué du service de jeton de sécurité XBOX (XSTS) que PlayFab utilise pour interroger l’API Collections du Microsoft Store au nom du joueur.- Dans Partner Center, accédez à Developer Settings > XBOX Live > Web Services et générez un certificat Business Partner si ce n’est pas déjà fait.
- Accédez à Developer Settings > XBOX Live > Business Partner et notez le Business Partner ID qui correspond au service Web auquel votre partie de confiance est associée.
- Créez un Dev Studio (ou utilisez-en un existant) et définissez son Dev Studio ID pour qu’il corresponde au Business Partner ID de l’étape 2. Si le Dev Studio possède déjà un ID différent, créez un nouveau Dev Studio plutôt que de modifier la valeur existante. La modifier peut briser des services existants.
- Créez un Product Group et attribuez-le au Dev Studio de l’étape 3.
- Ajoutez votre produit de jeu et toutes vos extensions à la liste Included in this product group. Les articles doivent être explicitement déplacés du côté « available » vers le côté « included ».
- Sélectionnez Save.
- Accédez à la page XBOX Settings de votre jeu et confirmez que le Business Partner lié correspond à celui de l’étape 2.
- Republiez votre produit de jeu et toutes les extensions dans le Microsoft Store, dans votre sandbox cible ou dans l’environnement RETAIL.
Étape 3 : Activer l’extension XBOX Network dans Game Manager
L’extension XBOX Network lie votre produit Partner Center à votre titre PlayFab et active la validation des jetons XBOX pour l’échange dans le Microsoft Store.- Ouvrez Game Manager et sélectionnez votre titre.
- Sélectionnez Add-ons dans le menu de navigation de gauche.
- Repérez et sélectionnez l’extension XBOX Network (libellée Distribute for XBOX).
- Sélectionnez le bon Seller ID dans la liste déroulante. Si vous ne voyez pas le bon Seller ID, sélectionnez Sign in with a different partner center account.
- Sélectionnez votre Partner Center Product ID dans la liste déroulante et confirmez que le XBOX Live Title ID (décimal) correspond à ce que vous voyez dans Partner Center sous XBOX services > XBOX Settings.
- Sélectionnez Install XBOX Network pour enregistrer la configuration.
Game Manager comporte aussi une page d’extension Microsoft Store distincte (également sous Add-ons). Bien qu’elle ne nécessite aucune configuration, elle contient des directives utiles, notamment la confirmation des types de produits pris en charge et des détails sur la configuration du Dev Studio ID et du Business Partner ID.
Étape 4 : Créer un ensemble PlayFab avec un mappage de place de marché
Pour lier votre produit du Microsoft Store à votre catalogue PlayFab, créez un ensemble (Bundle) avec un mappage de place de marché (Marketplace Mapping) (AlternateId).- Dans Game Manager, accédez à Economy > Catalog (V2) > Bundles.
- Sélectionnez New bundle (ou modifiez un ensemble existant).
- Dans la section Marketplace Mapping, ajoutez un nouveau mappage :
- Définissez le Marketplace type à
MicrosoftStore(sensible à la casse, doit être exactementMicrosoftStore). - Définissez la valeur au Store ID exact provenant de Partner Center (par exemple,
9NBLGGH42CFD). N’utilisez pas le Product ID défini par le développeur ni le nom de l’extension.
- Définissez le Marketplace type à
- Ajoutez les articles que le joueur doit recevoir lorsque cet ensemble est échangé (par exemple, de la monnaie de jeu ou des articles virtuels).
- Publiez l’ensemble. Les ensembles non publiés (brouillons) ne sont pas mis en correspondance lors de l’échange.
Étape 5 : Obtenir et fournir le jeton XBOX
Lors de l’appel à l’API RedeemMicrosoftStoreInventoryItems, vous devez fournir un jeton XBOX valide dans le paramètreXboxToken.
-
Si vous utilisez l’API C du GDK, utilisez :
Étape 6 : Tester l’intégration
Avant de considérer votre intégration comme terminée, vérifiez le flux complet de bout en bout :- Assurez-vous que votre extension est publiée dans la sandbox ou l’environnement dans lequel vous effectuez les tests.
- Connectez-vous comme joueur de test avec une identité XBOX Live et effectuez un achat de test de l’extension dans le Microsoft Store. Le joueur doit avoir un achat non échangé dans son compte pour que l’API d’échange ait quelque chose à détecter.
- Appelez
RedeemMicrosoftStoreInventoryItemsavec leXboxTokendu joueur. - Vérifiez que la réponse contient des entrées dans le tableau
Succeededet que les articles correspondants apparaissent dans l’inventaire PlayFab du joueur.
Exécution des consommables gérés par le développeur : Après l’échange d’un consommable géré par le développeur, PlayFab le signale automatiquement comme exécuté (consommé) auprès du Microsoft Store en votre nom. L’étape d’exécution est nécessaire avant que le joueur puisse acheter de nouveau le consommable. Si le consommable n’apparaît pas comme exécuté après un échange réussi, relancez l’appel
RedeemMicrosoftStoreInventoryItems. Si le problème persiste, signalez-le à l’équipe PlayFab par votre canal de soutien. Pour plus de détails, consultez Gestion des consommables et des remboursements.Résolution des problèmes
Si l’appelRedeemMicrosoftStoreInventoryItems réussit (HTTP 200), mais que les tableaux Succeeded, Failed et TransactionIds de la réponse sont tous vides, l’API Collections du Microsoft Store ne trouve aucun article correspondant à échanger. Ce comportement est généralement causé par un problème de configuration. Vérifiez les éléments suivants :
Si l’API retourne une erreur HTTP (comme 400), vérifiez la réponse d’erreur pour les codes suivants :
Remarque sur les titres PC / Windows
Ce tutoriel couvre le flux XBOX, qui utilise des jetons XSTS délégués (transmis au moyen du paramètreXboxToken). Pour les titres PC / Windows, Microsoft recommande plutôt d’utiliser des User Store ID avec Microsoft Entra ID pour l’authentification de service à service. Pour plus d’information, consultez Demander un User Store ID pour l’authentification de service à service et Authentifier votre service — User Store ID.
Voir aussi
- Référence de l’API RedeemMicrosoftStoreInventoryItems
- Démarrage rapide sur la prévention de la fraude
- Configuration de l’extension XBOX Live
- Authentifier votre service (jetons XSTS)
- Choisir le bon type de produit
- Écosystèmes basés sur les consommables
- Gestion des consommables et des remboursements
- ID alternatifs (mappage de place de marché)
- Comment intégrer une application Apple dans Game Manager
- Comment intégrer une application Google dans Game Manager
