Magasins et soldes (Economy hérité)
Les API Economy v1 sont en mode maintenance et ne recevront plus de nouvelles fonctionnalités, uniquement des correctifs de bogues. Les API v1 seront maintenues dans un avenir prévisible. Consultez la vue d’ensemble d’Economy v2 pour en savoir plus sur la prochaine version de PlayFab Economy !
Prérequis
- Connaître le Game Manager de PlayFab.
- Vous devez avoir défini une ou plusieurs monnaies virtuelles. Le dernier exemple de ce tutoriel utilise :
- SP (Silver Pieces, pièces d’argent)
- GP (Gold Pieces, pièces d’or).
- Vous devez disposer d’un catalogue principal dans lequel un ou plusieurs objets sont définis.
- Le premier exemple utilise plusieurs objets/lots, similaires à ceux décrits dans le tutoriel Tables de butin.
- Le second exemple de ce tutoriel utilise des potions de soin petites, moyennes et grandes.
Bonnes pratiques
Les prix du catalogue doivent être fixés sur le long terme : ils définissent le prix réel d’un objet. Les magasins doivent être temporaires, ajoutés et supprimés selon vos stratégies LiveOps.Attendez-vous à tirer l’essentiel de vos revenus de la rotation des magasins et de l’entrée et la sortie d’objets dans les magasins actifs.
Informations générales sur les magasins et la tarification du catalogue
- Tarification : les prix définis dans le catalogue doivent correspondre au prix normal d’un objet. Les magasins vous permettent de définir un prix soldé temporaire pour un objet, selon une tactique courante dans le commerce de détail. Les magasins peuvent également proposer un prix temporaire pour un objet qui n’est normalement pas du tout disponible à la vente.
- Coût nul : si le coût d’un objet dans une monnaie donnée n’est pas défini (null) ou est égal à zéro, il ne peut pas être acheté avec cette monnaie, que ce soit dans les catalogues ou les magasins. Le coût nul vous permet de proposer des objets exclusivement contre des monnaies gratuites, ou exclusivement contre des monnaies premium, en laissant vides les entrées des autres monnaies ou en les remettant à zéro.
- Argent réel : la monnaie RM est disponible dans tous les catalogues et magasins. RM est une clé de monnaie réservée qui indique uniquement des transactions en argent réel. Vous ne devez facturer en RM que des objets de valeur significative, ou des lots/conteneurs contenant de la monnaie premium.
- Les prix sont alternatifs : si deux prix sont définis pour un objet, celui-ci peut être acheté avec l’un ou l’autre. Il n’est pas possible d’exiger deux monnaies pour un même objet.
Définition d’un magasin en argent réel
Dans votre Game Manager :- Accédez à votre titre.
- Sélectionnez Economy dans le menu de gauche.
- Dans l’onglet Catalogs, sélectionnez votre catalogue principal, puis sélectionnez Stores.
- Sélectionnez le bouton New Store.
N’importe quel objet peut être vendu contre de l’argent réel, mais il est recommandé de ne proposer directement que des objets ou lots de valeur spécifiques.

Bonnes pratiques pour les magasins en argent réel
La manière dont vous utilisez l’argent réel dépend largement de la conception spécifique de votre jeu. L’achat direct d’objets en jeu est valable, mais moins courant. Plus généralement, votre jeu doit permettre l’achat d’une monnaie virtuelle premium avec de l’argent réel. Vous pouvez faire tourner plusieurs magasins avec différents ratios de monnaie premium par rapport à l’argent réel.Définition d’un magasin en monnaie virtuelle
Entrons dans les détails et le code de l’achat d’objets en jeu avec de la monnaie virtuelle. Les premières étapes sont presque identiques à celles de l’exemple précédent :- Créez trois nouveaux objets : Small, Medium et Large Health Potions, avec un prix en monnaie gratuite et un prix en monnaie premium.
- Créez un nouveau magasin avec les objets en solde.

Achat de plusieurs objets en un seul achat
Pour acheter un seul objet avec de la monnaie virtuelle, utilisez la méthode PurchaseItem, comme décrit dans notre démarrage rapide sur les magasins. Ce tutoriel traite de l’achat de plusieurs objets en un seul achat. La première étape de ce processus consiste à récupérer le magasin et à l’afficher à l’utilisateur.LogSuccess reçoit un GetStoreItemsResult qui contient une description complète de tous les objets du magasin, leurs prix en magasin et toutes les métadonnées contenues dans le magasin lui-même.
Bonnes pratiques pour l’affichage des magasins
Les jeux disposant de magasins doivent appeler et mettre en cache leur catalogue principal à l’aide de la méthode GetCatalogItems. Vous pouvez afficher à la fois le prix du catalogue et le prix en magasin, avec une mention « 10 % DE RÉDUCTION » ou une décoration similaire à côté des objets en solde. À ce stade, il incombe au code de votre interface graphique de donner à l’utilisateur la possibilité de sélectionner les objets qu’il souhaite acheter et en quelle quantité.- Entre votre jeu et PlayFab, les étapes restantes consistent en plusieurs appels d’API distincts, mais vous pouvez rendre la séquence d’appels invisible pour le joueur.
- Recueillez toutes les informations sur l’achat au préalable, et effectuez la séquence complète d’appels une fois que toutes les saisies du joueur ont été recueillies.
Le résultat de l’API
StartPurchase dans l’exemple de code ci-dessus contient une liste de PaymentOptions. Chaque option de paiement contient les éléments Currency, Price et ProviderName qui peuvent être utilisés pour effectuer l’achat.Restrictions
Une seule monnaie virtuelle est autorisée par achat. Tous les objets sélectionnés doivent pouvoir être achetés avec une seule monnaie. La monnaie doit être spécifiée dans l’appel, ce qui est important lorsque plusieurs monnaies sont possibles. La séquence échouera si la requête contient des objets sans coût correspondant dans la monnaie sélectionnée. LeProviderName doit également être spécifié dans l’appel. Pour les achats en argent réel, le nom du fournisseur correspond à celui qui finance l’achat, comme Facebook, PayPal ou Steam. Pour les achats en monnaie virtuelle (VC), il s’agit d’une chaîne basée sur votre ID de titre. Le ProviderName peut être obtenu à partir du champ PaymentOptions du StartPurchaseResult, comme décrit dans la remarque précédente.
Bonnes pratiques pour l’affichage des objets en magasin
Évitez de semer la confusion chez votre joueur en veillant à ce que tous les objets d’un magasin proposent des options cohérentes. Les objets en argent réel doivent se trouver dans un magasin distinct de celui des objets en VC premium, lui-même distinct de celui des objets en VC gratuite. Si un même magasin autorise plusieurs monnaies, tous les objets de ce magasin doivent utiliser de manière cohérente le même ensemble de monnaies. Créez autant de magasins que nécessaire pour offrir une expérience client fluide.Bonnes pratiques pour la gestion des échecs d’API
Tout appel d’API peut échouer pour de nombreuses raisons. Les appareils sans fil tels que les téléphones ont souvent une connectivité intermittente, et tout appel Internet peut échouer en raison d’une latence aléatoire. Chaque appel doit vérifier plusieurs conditions d’échec. Vous devez abandonner si la réponse indique que la requête n’est pas valide (par exemple, impossibilité d’acheter plusieurs objets avec une seule monnaie). Il peut y avoir des problèmes dans la conception de votre magasin. Si la réponse indique un échec de connectivité, vous pouvez réessayer avec un délai d’attente exponentiel.Conclusion
Les magasins sont un excellent mécanisme pour encourager vos joueurs à acheter des objets. Les magasins fonctionnent avec tout type de monnaie virtuelle. Ils peuvent également fonctionner avec de l’argent réel via un autre ensemble de méthodes d’API.- Vous pouvez configurer un achat d’un seul objet en VC via PurchaseItem.
- Vous pouvez configurer un achat de plusieurs objets en argent réel ou en VC via la séquence :
