Skip to main content

クイックスタート: プレイヤーのインベントリに最初のアイテムを追加する

Economy v2 が一般提供 (GA) されました。サポートとフィードバックについては、PlayFab フォーラム を参照してください。
PlayFab Beta SDK を使用してアイテムを購入し、それがプレイヤーのインベントリに追加されたことを確認することで、プレイヤー インベントリに親しみましょう。API を介してタイトルと対話するためのエンティティ トークンを取得したら、カタログでアイテムを検索し、そのアイテムを購入して、プレイヤーのインベントリを取得して購入したアイテムを見つけます。

前提条件

プレイヤーとしてサインインする

このクイックスタートの残りの API 呼び出しに必要なセキュリティ トークンを受け取るには、まずプレイヤーとしてサインインする必要があります。詳細については、プレイヤー認証 ページを参照してください。

アイテムを検索する

カタログ内のアイテムを検索するには、Search を呼び出します。呼び出しのボディで:
  • Search は、カタログ内のすべてのアイテムの Title、Description、および Keywords に対してあいまい検索される検索文字列です
  • Top は、返す結果の件数を決定する整数です。この場合は 1 件だけ必要です
さらに詳しいフィールドについては、Search のクイックスタート を参照してください。
レスポンスから、次のフィールドを取得します。
  • Items > Id - アイテムのカタログ ID
  • Items > PriceOptions > Prices > Amounts > ItemId - アイテムの購入に使用する仮想通貨の ID
  • Items > PriceOptions > Prices > Amounts > Amount - アイテムの購入に必要な仮想通貨の量
アイテムの価格を設定できるのは Title Entity のみです。

アイテムを購入する

アイテムを購入するには、PurchaseInventoryItems を呼び出します。呼び出しのボディで:
  • Item.Id はアイテムの ID (前のステップの Search レスポンスから取得)
  • Amount はプレイヤーが購入しているアイテムの数
  • ItemId はアイテムの購入に使用する仮想通貨の ID (前のステップの Search レスポンスから取得)
  • Amount はアイテムの購入に必要な仮想通貨の量 (前のステップの Search レスポンスから取得)

プレイヤーのインベントリ アイテムを取得する

GetInventoryItems を介して、プレイヤーが新たに購入したアイテムを確認します。呼び出しではボディが空であることを確認してください。ボディでエンティティを指定できますが、情報はすでにヘッダーのエンティティ トークンで渡されているため、必須ではありません。 レスポンスには、プレイヤーが所有する各アイテムの ID と各アイテムの数量が含まれます。新しく購入したアイテムはプレイヤーのインベントリに含まれています。
プレイヤーがすでに同じ StackId のアイテムをインベントリに持っている場合、購入後にアイテムの新しいインスタンスは表示されず、代わりに Amount フィールドが増加します。

トラブルシューティング

  • 残高不足
    • PurchaseInventoryItems を呼び出して 422: InsufficientFunds エラーが返された場合、プレイヤーはアイテムを購入するのに十分な仮想通貨を持っていません。AddInventoryItems を呼び出して (タイトル エンティティ トークンが必要)、または Game Manager の [Title] > Players > [Player] > Inventory (V2) に移動することで、プレイヤーに仮想通貨を付与できます。
  • 指定された価格でアイテムを購入できません。
    • PurchaseInventoryItems を呼び出して 1071 エラー コードが返された場合、PriceAmounts フィールドがカタログで指定された価格と一致していません。

次のステップ

プレイヤーの最初のアイテムを購入したので、アイテムを消費したり、アイテムをストアに追加してセールに出したり、アイテムを含むバンドルを作成および購入したりできます。
[!div class=“nextstepaction”] ストア
[!div class=“nextstepaction”] バンドル
最終更新日 2026年8月13日