快速入门:将第一个项目添加到玩家的清单中

重要

Economy v2 现已正式发布。 有关支持和反馈,请转到 PlayFab 论坛

通过使用 PlayFab Beta SDK 购买项目并检查是否已将其添加到玩家的清单中来熟悉玩家清单。 获取实体令牌以通过 API 与游戏进行交互后,可在目录中搜索项目、购买项目,然后获取玩家的清单以查找购买的项目。

先决条件

以玩家身份登录

首先需要登录玩家,以接收本快速入门中剩余的 API 调用所需的安全令牌。 你可以在玩家身份验证页面查看详细信息。

搜索项目

若要在目录中查找项目,需要调用 Search。 在调用正文中:

{
  "Search": "[Item Title]",
  "Top": 1
}
  • Search 是搜索字符串,将对目录中每个项目的标题、说明和关键字进行模糊搜索
  • Top 是一个整数,用于确定要返回的结果数,在本例中,我们只需要一个结果

注意

你可以在搜索快速入门中了解其他字段。

在响应中,获取以下字段:

  • Items > Id - 项目的目录 ID
  • Items > PriceOptions > Prices > Amounts > ItemId - 用于购买项目的虚拟货币的 ID
  • Items > PriceOptions > Prices > Amounts > Amount - 购买项目所需的虚拟货币数量

注意

只有游戏实体才能为项目设置价格

购买该项目

若要购买该项目,请调用 PurchaseInventoryItems。 在调用正文中:

{
  "Item": {
    "Id": "{{ItemID}}",
  },
  "Amount": 1,
  "PriceAmounts": [
    {
      "ItemId": "{{CurrencyId}}",
      "Amount": 15
    }
  ]
}
  • Item.Id 是项目的 ID(从上一步的 Search 响应中拉取)
  • Amount 是玩家要购买的项目数量
  • ItemId 是用于购买项目的虚拟货币的 ID(从上一步的 Search 响应中拉取)
  • Amount 是购买项目所需的虚拟货币数量(从上一步的 Search 响应中提取)

获取玩家的清单项目

通过 GetInventoryItems 查看玩家新购买的项目。 在调用中,请确保正文为空 - 你可以在正文中指定实体,但不是必需的,因为信息已通过标头中的实体令牌传入。

响应包含玩家拥有的每个项目的 ID 以及每个项目的数量。 新购买的项目将显示于玩家的清单中。

注意

如果玩家的库存中已有具有相同 StackId 的项目,则在购买后将看不到另一个项目实例,相反,你只会看到 Amount 字段增加。

故障排除

  • 资金不足
    • 如果调用 PurchaseInventoryItems 时收到 422: InsufficientFunds 错误,表示玩家没有足够的虚拟货币购买该项目。 可以通过在 Game Manager 中调用 AddInventoryItems(需要游戏实体令牌)或导航到 [Title]>玩家>[Player]>Inventory (V2) 向玩家授予虚拟货币
  • 无法按指定价格购买该项目
    • 如果调用 PurchaseInventoryItems 时收到 1071 错误代码,表示 PriceAmounts 字段与目录中指定的价格不匹配。

后续步骤

购买玩家的第一件项目后,你可以使用该项目、可以将其添加到商店出售,也可以创建和购买包含该项目的捆绑包。