Passer au contenu principal

Magasins et soldes (Economy Legacy)

Les API Economy v1 sont en mode maintenance et ne recevront aucune nouvelle fonctionnalité, seulement 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 articles 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 articles de votre catalogue et les rendre disponibles à l’achat à des prix précis qui peuvent différer des prix du catalogue. Un magasin vous permet de sélectionner un ensemble précis d’articles et de les rendre disponibles à des prix précis pendant une période déterminée. Ce tutoriel illustre les pratiques exemplaires pour définir des magasins basés sur la monnaie virtuelle et l’argent réel.

Exigences

  • 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 avoir un catalogue principal dans lequel un ou plusieurs articles sont définis.
    • Le premier exemple utilise plusieurs articles/lots, semblables à ceux décrits dans le tutoriel Tables de butin.
    • Le deuxième exemple de ce tutoriel utilise de petites, moyennes et grandes potions de santé.

Pratiques exemplaires

Les prix du catalogue doivent être fixes à long terme - ils définissent le prix réel d’un article. Les magasins doivent être temporaires : ils sont ajoutés et retirés selon vos stratégies LiveOps.
Attendez-vous à tirer la majeure partie de vos revenus de la rotation des magasins et de l’entrée et de la sortie d’articles dans les magasins actifs.

Renseignements généraux sur les magasins et les prix du catalogue

  • Prix : les prix définis dans le catalogue doivent correspondre au prix régulier d’un article. Les magasins vous permettent de définir un prix de solde temporaire pour un article, selon une tactique courante dans le commerce de détail. Les magasins peuvent également offrir un prix temporaire pour un article qui n’est normalement pas du tout en vente.
  • Coût nul : si le coût d’un article dans une monnaie donnée n’est pas défini (null) ou est zéro, il ne peut pas être acheté avec cette monnaie, tant dans les catalogues que dans les magasins. Le coût nul vous permet de rendre des articles disponibles exclusivement avec des monnaies gratuites, ou exclusivement avec 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 des transactions en argent réel uniquement. Vous ne devriez facturer en RM que des articles de valeur importante, ou des lots/conteneurs de monnaie premium.
  • Les prix sont exclusifs : si deux prix sont définis pour un article, l’article peut être acheté avec l’une ou l’autre monnaie. Il n’est pas possible d’exiger deux monnaies pour un seul article.

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 Stores.
  • Sélectionnez le bouton New Store.
Dans l’exemple Tables de butin, nous avons créé un lot de butin de 11 articles. Pour cet exemple, nous rendrons trois lots semblables disponibles dans un magasin en argent réel.
N’importe quel article peut être vendu en argent réel, mais la pratique exemplaire consiste à ne rendre directement disponibles que des articles ou des lots de valeur précis.
La capture d’écran ci-dessous montre un nouveau magasin complet, contenant trois lots d’articles disponibles en argent réel. Game Manager - Economy - Modifier le magasin Les détails relatifs à la finalisation des achats en argent réel sont abordés dans notre tutoriel avancé, Traitement des paiements sans reçu.

Pratiques exemplaires pour les magasins en argent réel

La façon dont vous utilisez l’argent réel dépend en grande partie de la conception précise de votre jeu. L’achat direct d’articles en jeu est valable, mais moins courant. Plus typiquement, votre jeu devrait permettre l’achat d’une monnaie virtuelle premium avec de l’argent réel. Vous pouvez faire alterner plusieurs magasins offrant différents ratios de monnaie premium par rapport à l’argent réel.
Le principal point à retenir : 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 pour l’achat d’articles 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 articles : 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 articles en solde.
Game Manager - Economy - Nouveau magasin

Achat de plusieurs articles en un seul achat

Pour acheter un seul article avec de la monnaie virtuelle, utilisez la méthode PurchaseItem, comme décrit dans notre démarrage rapide sur les magasins. Ce tutoriel couvre l’achat de plusieurs articles en un seul achat. La première étape de ce processus consiste à obtenir 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 articles du magasin, leurs prix en magasin et toutes les métadonnées contenues dans le magasin lui-même.

Pratiques exemplaires pour l’affichage des magasins

Les jeux comportant des 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, ainsi qu’une mention « 10 % DE RABAIS » ou une décoration promotionnelle semblable à côté des articles en solde.
Les joueurs sont plus susceptibles d’acheter des articles en solde, surtout si le solde est une offre à durée limitée.
À ce stade, il incombe à votre code d’interface graphique de permettre à l’utilisateur de sélectionner les articles 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 de plusieurs appels invisible pour le joueur.
  • Recueillez d’emblée toute l’information sur l’achat, puis effectuez la séquence complète d’appels une fois que toutes les entrées du joueur ont été recueillies.
Pendant le processus de sélection des articles, vous devez permettre à l’utilisateur de choisir la monnaie qu’il souhaite dépenser pour ces articles. Dans cet exemple, tous les articles ont des coûts 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 valeurs Currency, Price et ProviderName qui peuvent être utilisées pour effectuer l’achat.

Restrictions

Une seule monnaie virtuelle est autorisée par achat. Tous les articles 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 articles 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 sert à financer l’achat, comme Facebook, PayPal ou Steam. Pour les achats en VC, il s’agira 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 ».

Pratiques exemplaires pour l’affichage des articles en magasin

Évitez de semer la confusion chez votre joueur en vous assurant que tous les articles d’un magasin offrent des options cohérentes. Les articles en argent réel doivent se trouver dans un magasin distinct de celui des articles en VC premium, lui-même distinct de celui des articles en VC gratuite. Si un même magasin accepte plusieurs monnaies, tous les articles de ce magasin doivent utiliser de façon 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 illustré ci-dessous.

Pratiques exemplaires pour la gestion des résultats d’échec d’API

Tout appel d’API peut échouer pour de nombreuses raisons. Les appareils sans fil comme 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 devriez abandonner si la réponse indique que la requête n’est pas valide (par exemple, impossible d’acheter plusieurs articles avec une seule monnaie). Il pourrait 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 de temporisation exponentielle.

Conclusion

Les magasins sont un excellent mécanisme pour encourager vos joueurs à acheter des articles. Les magasins fonctionnent avec tout type de monnaie virtuelle. Ils peuvent également fonctionner avec de l’argent réel au moyen d’un autre ensemble de méthodes d’API. Pour en savoir plus 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