Inventaire des joueurs
Exigences
Pour utiliser l’inventaire des joueurs, un catalogue doit être défini pour votre titre. Pour plus d’informations, consultez notre tutoriel sur les catalogues.Vous pouvez également définir des boutiques pour votre catalogue.
Vue d’ensemble de l’API
Tous les appels d’API d’inventaire sont conçus pour faire autorité côté serveur et être sécurisés. Lorsqu’ils sont utilisés correctement, les clients ne peuvent pas tricher ni acquérir des objets qu’ils n’ont pas mérités. Clients :- Acheter des objets avec une monnaie virtuelle : PurchaseItem
- Effectuer des achats en argent réel : StartPurchase, PayForPurchase, ConfirmPurchase
- Afficher les objets d’un joueur : GetUserInventory
- Supprimer des objets : ConsumeItem, UnlockContainerInstance
- Échanger des objets : OpenTrade, GetPlayerTrades, AcceptTrade, CancelTrade
- Offrir/accorder des objets : GrantItemsToUser
- Afficher les objets : GetUserInventory
- Modifier des objets : ModifyItemUses, UpdateUserInventoryItemCustomData
- Supprimer des objets : RevokeInventoryItem, ConsumeItem, UnlockContainerInstance
Pour référence, ces exemples sont tirés de Unicorn Battle, un jeu que nous avons créé à titre d’exemple pour illustrer les fonctionnalités de PlayFab.
Exemple côté client uniquement : acheter et consommer une potion de soin
Ordre des appels d’API client : PurchaseItem, GetUserInventory, ConsumeItem Nous devons d’abord définir l’objet dans notre catalogue.
CatalogItem pour la potion de soin (Health Potion).
PurchaseItemnécessite un prix d’objet positif (5 AU).ConsumeItemnécessite que l’objet soitConsumable, avec un nombre d’utilisations positif (3).- Le joueur qui effectue l’achat doit disposer de cinq AU dans son solde de monnaie virtuelle.
Exemple : un joueur reçoit un conteneur et l’ouvre
Ordre des appels d’API :- API serveur PlayFab GrantItemsToUser
- API client PlayFab UnlockContainerInstance
UnlockContainerInstance réussisse.

CatalogItem pour notre CrystalContainer dans cet exemple sont les suivantes :
- CrystalContainer doit être défini comme Container.
- Les conteneurs peuvent éventuellement définir un objet clé (Key Item), qui est alors nécessaire pour déverrouiller le conteneur; dans ce cas, une CrystalKey.
- Il est fortement conseillé que votre conteneur et toute clé soient tous deux consommables, avec un nombre d’utilisations positif, afin qu’ils soient retirés de l’inventaire du joueur après utilisation.
Code serveur
Code client
Consommation des clés et des conteneurs
Dans l’exemple précédent, il est conseillé que la clé et/ou le conteneur soient consommables, mais il ne s’agit que d’une recommandation. Toutefois, si un conteneur et sa clé (le cas échéant) ne sont pas consommables, le conteneur peut être rouvert indéfiniment, en accordant son contenu au joueur à chaque fois. Comme la capacité de l’inventaire du joueur n’est pas infinie, ce modèle est fortement déconseillé. Lorsqu’un conteneur consommable est déverrouillé, le nombre d’utilisations du conteneur et de la clé consommable utilisée est automatiquement diminué, ce qui les retire de l’inventaire du joueur lorsque ce nombre atteint zéro.Options viables
Conteneur consommable, sans clé : le modèle le plus basique, dans lequel le conteneur est consommé à l’ouverture et il n’y a pas de clé. Conteneur consommable, clé consommable : le cas simple du conteneur verrouillé, qui permet au joueur d’ouvrir le conteneur avec la clé. Les deux sont consommés, et le joueur ne peut ouvrir un conteneur disposant d’utilisations restantes qu’avec une clé disposant elle aussi d’utilisations restantes. Conteneur durable, clé consommable : permet au joueur d’ouvrir le conteneur chaque fois qu’il trouve une clé. La clé est consommée, et le conteneur ne peut être ouvert que tant que la clé dispose d’utilisations restantes. Conteneur consommable, clé durable : permet au joueur de conserver une clé capable d’ouvrir tous les conteneurs dont elle est l’objet clé. Le conteneur est consommé, mais le joueur conserve la possibilité d’ouvrir ultérieurement des conteneurs avec la clé.Exemple : racheter des objets d’inventaire au joueur
Il n’existe pas d’API intégrée permettant de racheter des objets d’inventaire au joueur, car ce processus est propre à chaque jeu. Vous pouvez toutefois utiliser les méthodes d’API existantes pour créer votre propre expérience SellItem :- L’API serveur PlayFab RevokeInventoryItem** vous permet de retirer un objet de l’inventaire.
- L’API serveur PlayFab AddUserVirtualCurrency** peut restituer un montant approprié de monnaie virtuelle. Il n’est actuellement pas possible de restituer de l’argent réel au moyen des méthodes d’API PlayFab.
Les objets et les monnaies virtuelles sont étroitement liés. Pour plus d’informations, consultez notre tutoriel sur les monnaies.
Pratiques exemplaires
- Assurez-vous de vérifier que toutes les informations saisies par le client sont valides avant d’effectuer toute modification.
- CloudScript n’est pas atomique; l’ordre des appels est donc important : AddUserVirtualCurrency peut réussir et RevokeInventoryItem échouer.
