快速入门:将第一个项目添加到玩家的清单中
重要
Economy v2 现已正式发布。 有关支持和反馈,请转到 PlayFab 论坛。
通过使用 PlayFab Beta SDK 购买项目并检查是否已将其添加到玩家的清单中来熟悉玩家清单。 获取实体令牌以通过 API 与游戏进行交互后,可在目录中搜索项目、购买项目,然后获取玩家的清单以查找购买的项目。
先决条件
- PlayFab 开发人员帐户
- PlayFab Beta SDK(请查看 Postman 快速入门获取详细信息)
- 目录中至少有一个项目(请查看 Economy v2 快速入门获取详细信息)
- 至少有一个拥有足够虚拟货币的玩家购买项目
以玩家身份登录
首先需要登录玩家,以接收本快速入门中剩余的 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
字段与目录中指定的价格不匹配。
- 如果调用
后续步骤
购买玩家的第一件项目后,你可以使用该项目、可以将其添加到商店出售,也可以创建和购买包含该项目的捆绑包。