目录 V2

重要

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

创建者实体类型 & ID

除了通过游戏管理器或 API 在游戏级别创建目录项外,还可以代表玩家创建它们。 你需要游戏玩家帐户 ID(而不是 Master Player Account ID,它是跨游戏的)。

{
  "Item": {
    "CreatorEntity": {
      "Type": "title_player_account",
      "Id": "74657374696E6731"
    },
    "Type": "catalogItem",
    "Title": {
      "NEUTRAL": "Fire Sword!"
    },
    "Description": {
      "NEUTRAL": "Fire Sword! (It's really cool)"
    },
    "ContentType": "Game Item",
    "AlternateIds": [
        {
          "Type": "FriendlyId",
          "Value": "fire_sword"
        }
    ]
  },
  "Publish": false
}

Keywords

关键字是旨在用户可搜索的本地化字符串列表。 它们对于在游戏内商店中搜索相关项的用户非常有用。

  • 关键字按本地化键进行索引。
  • 关键字对于任何项都是可选的。
  • 项可以包含任意数量的列出关键字。
  • 示例:
{
    "NEUTRAL": { "Values": ["fire", "weapon"] },
    "de-DE": { "Values": ["feuer", "klingenwaffen"] },
    "en-US": { "Values": ["fire", "weapon"] },
    "fr-FR": { "Values":["enflammé","arme"] }
}

描述

说明字段是用于在每个项上显示的本地化字符串的列表。

  • 本地化键用作索引。
  • 说明对于任何项都是可选的。
  • 示例:
{
    "NEUTRAL": "Fire Sword! (It's really cool)",
    "de-DE": "Feuer Schwert! (Es ist wirklich cool)",
    "en-US": "Fire Sword! (It's really cool)",
    "fr-FR": "Épée de feu! (C'est vraiment cool)"
}

内容类型

配置自定义内容类型,以在 ⚙️ > 游戏设置 > 经济型 (V2) > 目录 (V2) 中组织项目。

  • 内容类型在搜索时作为高性能筛选器存在,并使对项目进行分组更轻松。
  • 虽然内容类型可以是任何字符串,但每个项只能有一个字符串。
  • 内容类型的一些示例包括:
    • weapon
    • armor
    • gem
    • pet
    • lootbox
    • appstorebundle
    • playerattribute

备用 ID

使用备用 ID 可以更轻松地处理代码中的目录 v2 项或第三方 API。 某些备用 ID,包括友好 ID 或商城 ID。

好友 ID

友好 ID 是项的“计算机名称”-使代码中更易于引用的名称。 友好 ID 对于所有项都是可选的,并且在目录中必须是唯一的。

{
  "Item": {
    "Type": "catalogItem",
    "Title": {
      "NEUTRAL": "Fire Sword!"
    },
    "Description": {
      "NEUTRAL": "Fire Sword! (It's really cool)"
    },
    "ContentType": "Game Item",
    "AlternateIds": [
        {
          "Type": "FriendlyId",
          "Value": "fire_sword"
        }
    ]
  },
  "Publish": false
}

市场 ID

备用 ID 是各种市场如何识别你的产品。 由于每个市场都有自己的一组限制和策略,因此需要根据每个平台的应用商店项配置方式进行设置。

PlayFab 附带多个市场。 若要使用正确的市场加载项,市场必须采用以下值:

  • Apple = “AppleAppStore”
  • Google Play = “GooglePlay”
  • 任天堂 = “NintendoEShop”
  • Microsoft = “MicrosoftStore”
  • PlayStation = “PlayStationStore”
  • Steam = “Steam”

下面是有关如何为每个平台配置备用 ID 的一些示例:

  • Apple App Store:product_id,示例 com.companyname.productname
  • Google Play:productId,示例 com.companyname.productname
  • Microsoft Store:productId,示例 9NBLGGH42CFD
  • Nintendo E-Shop:item_id,示例 nintendo700100
  • PlayStation 存储:id%1,示例 PLAYFAB00000CUSA
  • Steam:itemdefid,示例 100
{
  "Item": {
    "Type": "catalogItem",
    "Title": {
      "NEUTRAL": "Fire Sword!"
    },
    "Description": {
      "NEUTRAL": "Fire Sword! (It's really cool)"
    },
    "ContentType": "Game Item",
    "AlternateIds": [
        {
          "Type": "FriendlyId",
          "Value": "fire_sword"
        },
        {
          "Type": "MicrosoftStore",
          "Value": "9NBLGGH42CFD"
        },
        {
          "Type": "AppleAppStore",
          "Value": "com.companyname.productname"
        },
        {
          "Type": "GooglePlay",
          "Value": "com.companyname.productname"
        },
        {
          "Type": "NintendoEShop",
          "Value": "nintendo700100"
        },
        {
          "Type": "PlayStationStore",
          "Value": "PLAYFAB00000CUSA"
        },
        {
          "Type": "Steam",
          "Value": "100"
        }
    ]
  },
  "Publish": false
}

平台

会在“平台”下的 v2 目录设置中添加和配置自定义平台。 可以将平台用作深层链接或其他自定义属性的配置数据。

标记

可以通过提供有效字符串列表来设置标记列表。 Tags 对于任何项都是可选的,并且项可以包含任意数量的列出标记。

  • 项可以有标记
    • 对一致的文本元数据使用标记并将其应用于多个项,例如损坏类型。
    • 标记作为搜索筛选器存在。
    • 每个项可以有多个标记。
    • 标记在目录项、UGC 项、文件和图像之间独立组织。
  • 标记的一些示例 如下:
    • firedamage
    • icedamage
    • bluntdamage
    • slashingdamage
    • piercingdamage
    • lightarmor
    • heavyarmor

DisplayProperties

显示属性是可添加到目录中所有项目的自定义项目属性。 可以在 显示属性映射 节中设置某些属性,以便在使用 SearchItems API 时使用搜索、筛选器和排序。

  • 项可以具有具有已配置字段类型的 Display 属性
    • 使用不同项(如 lore 文本)的元数据的显示属性
    • 显示属性可查询(索引、快速查询)或可搜索(较慢的文本查询)
    • 最多可以配置每种类型的字段中的五个要编制索引
  • 示例:
{
  "game-model": "//models/weapon/fire_sword.fbx",
  "durability-default": "9001"
}

将字段添加到 DisplayProperties 时,它会在数据库中为你创建一个新索引。 仅包含创建索引后添加或更新的文档。 如果 Display 属性应应用于所有项,则需要重新发布整个目录。

DateTimeDoubleQueryable String 显示属性 可查询,这些属性可用于 Filter 和 OrderBy 语句。

Searchable String 显示属性 可搜索;这些属性是使用模糊搜索针对 Search 字段查询的。 无法在 Filter 和 OrderBy 语句中使用可搜索属性

游戏限制为每种类型的五个显示属性。 有关详细信息,请参阅 限制

警告

显示属性映射存储为键值对的索引列表。 删除现有显示属性映射可能会移动索引并破坏所有剩余属性的行为。 建议添加其他属性,而不是删除或编辑现有属性,除非绝对必要,否则应避免删除属性映射

价格

通过价格,可以将游戏内货币成本分配给物品。 它们是可选的,但允许玩家使用 PurchaseItem API 用游戏内货币购买项目。

  • 可以为每个物品设置多个价格。
  • 可以使用任何现有货币设置价格。
  • 示例:
"PriceOptions": {
  "Prices": [
    {
      "Amounts": [
        {
          "Id": "{{CurrencyID}}",
          "Amount": 15
        }
      ]
    }
  ]
}

文件和图像

这些字段使用文件存储而不是配置存储。 文件存储适用于经常更新或修改的游戏资产,例如图标或资产游戏引擎元数据。 有关 PlayFab 处理的文件类型的详细信息,请参阅“限制”。