Economy v2 商店

重要

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

商店是构建和发展游戏内经济的绝佳方式。 商店是一种特殊的项目类型,用于保存项目和价格列表,允许你替代项目的基本目录价格。 商店可用于管理游戏中可购买商品的位置,提供游戏内折扣和促销,等等更多!

创建商店

若要创建商店,必须先确保你拥有希望在游戏中可访问/购买的其他已发布的目录项目、货币或 UGC。 可以按照 Economy v2 快速入门中的步骤操作

  1. 导航到经济>目录 (V2)

  2. 商店选项卡下,选择新建商店

填写所需的元数据,要设置的重要内容是希望在此商店中提供的商品以及要覆盖这些商品的价格。

上方是销售 LaserSwordWeaponBundle 两种商品的商店。 这两种商品都是现有目录项目,具有目录中定义的一些现有基价。 此商店覆盖其现有价格,现在 LaserSword 的价格为 1 DiamondWeaponBundle 的价格为 10 金和 10 银。

此请求将返回“已创建并发布商店”响应:

{
  "code": 202,
  "status": "Accepted",
  "Item": {
    "Type": "store",
    "Id": "{{StoreID}}", 
    "Title": {
      "NEUTRAL": "My First Store",
    },
    ...
}

请注意,Id 现在与已发布的商店相关联。

注意

为了帮助简化概念,已将项目 ID 从 GUID 交换为项目名称,以更好地演示使用商店的示例。

使用商店

玩家调用 PurchaseInventoryItems API 时使用商店。 调用 PurchaseInventoryItems 时,可选属性之一是一个 StoreId 参数,我们可以在其中传递到用于应用到此购买请求的商店。

使用商店的示例 PurchaseInventoryItems 请求:

{
    "Entity": {
        "Type": "title_player_account",
        "Id": "{{PlayerID}}"
    },
    "Item": {
        "Id": "LaserSword",
    },
    "Amount": 10,
    "PriceAmounts": [
        {
            "ItemId": "Diamond",
            "Amount": 1
        }
    ],
    "StoreId": "{{StoreID}}"
}

请注意传递到购买请求中的 {{StoreId}},以及预期 PriceAmount 现在如何匹配我们商店中设置的 1 钻石成本。

搜索商店

使用 SearchItems API 时,可以传入的属性之一是 Store 参数。 此参数允许在商店的上下文中进行搜索。 除了能够检查某个商品是否存在于特定商店中外,它还可用于显示商店的商品/内容被覆盖的价格。 还可以使用商店的 AlternateId 进行搜索。

{
  "Search": "",
  "Filter": "ContentType eq 'weapons'",
  "Store": {
    "Id": "{{StoreID}}"
  },
}