Passer au contenu principal

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 !
Dans PlayFab, les magasins reposent sur les catalogues et les monnaies. Votre catalogue principal doit définir tous les objets de votre jeu et leur attribuer des prix dans les monnaies que vous avez créées. Les magasins doivent définir des sous-ensembles des objets de votre catalogue et les proposer à l’achat à des prix spécifiques, qui peuvent différer des prix du catalogue. Un magasin vous permet d’isoler un ensemble spécifique d’objets et de les proposer à des prix spécifiques pendant une période définie. Ce tutoriel présente les bonnes pratiques pour définir des magasins basés sur la monnaie virtuelle et l’argent réel.

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.
Dans l’exemple Tables de butin, nous avons créé un lot de butin de 11 objets. Pour cet exemple, nous allons proposer trois lots similaires dans un magasin en argent réel.
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.
La capture d’écran ci-dessous montre un nouveau magasin complet, contenant trois lots d’objets disponibles contre de l’argent réel. Game Manager - Economy - modifier le magasin Les détails relatifs à la finalisation des achats en argent réel sont traités dans notre tutoriel avancé, Traitement des paiements sans reçu.

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.
Le principal enseignement est le suivant : assurez-vous que vos joueurs peuvent toujours vous donner de l’argent.

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 :
  1. Créez trois nouveaux objets : Small, Medium et Large Health Potions, avec un prix en monnaie gratuite et un prix en monnaie premium.
  2. Créez un nouveau magasin avec les objets en solde.
Game Manager - Economy - nouveau magasin

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.
Dans cet exemple, le rappel 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.
Les joueurs sont plus enclins à acheter des objets en solde, surtout s’il s’agit d’une offre à durée limitée.
À 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.
Pendant le processus de sélection des objets, vous devez permettre à l’utilisateur de choisir la monnaie qu’il souhaite dépenser pour ces objets. Dans cet exemple, tous les objets ont un coût en SP et en GP, ce qui signifie que l’utilisateur peut choisir la monnaie à dépenser.
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. Le ProviderName 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.
Pour les achats en VC, le ProviderName de votre titre est une chaîne construite à partir du mot « Title » concaténé avec l’équivalent décimal de votre TitleId hexadécimal. Par exemple, « Title123456 ».

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.
Enfin, une fois l’achat entièrement défini, vous pouvez terminer le processus, comme indiqué ci-dessous.

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. Pour plus d’informations sur les achats en argent réel, consultez Traitement des paiements sans reçu. Pour une utilisation avancée des magasins, consultez le tutoriel Magasins personnalisés pour les segments de joueurs.
Dernière modification le 6 octobre 2026