Economy v2 现已正式发布。如需支持和反馈,请访问 PlayFab 论坛。
- 幂等交易
- 批处理操作
- 处理高并发率,尤其是库存交互
- 大型统一目录(每个实体最多 20 GB)的游戏内商品或用户生成内容 (UGC),支持多个实体
- 单个目录物品文档,而不是将所有物品存储在单个文档中
- 大型玩家库存(数千个物品)
- 与 PlayFab 实体的集成
我应该使用哪个版本的 Economy?
使用版本 2。如果你使用的是版本 1,请考虑升级。虽然 Microsoft 没有弃用 v1,并将为所有游戏维护和支持它,但它处于仅修复错误模式。新的 Economy 功能仅为版本 2 开发。有关两个版本之间差异的更多信息,请参见 常见问题解答。Economy v2 中的新功能
Economy v2 引入了 v1 中没有的几项新功能:- 库存 和目录之间的更新交互允许你支持独特物品、非独特物品、物品堆栈和多个物品堆栈。
- 你可以上传和管理元数据以及内容(包括图片和文件),与目录物品一起。
- 你可以使用经济设置创建到游戏内容的深度链接。
- 可自定义的目录搜索使你能够使用标签和内容类型设置自定义视图。
- 本地化物品描述和标题的简单方法。
- 支持 PlayerEntity 面向的物品评分和评论 的 API。
- 支持使用草稿状态创作 和 目录管理员和审阅者的策略权限集 中的自定义工作流。你可以使用未来的开始日期预发布目录物品。
- 你可以链接到多个外部市场物品的捆绑包物品。
- 库存集合允许单个玩家拥有多个库存,例如每角色或每平台。
- 库存堆栈 使同一物品的多个不同实例可以在一个库存中,每个都有自己的数量和属性。
- TurboLoading 通过一次压缩的 API 调用加载整个库存(最多 10,000 个物品),以实现更快的启动。
- 用户生成内容 (UGC),使玩家能够使用内置的审核管道创建、上传和搜索经过审核的内容。
- ExecuteInventoryOperations 在单个请求中原子性地批处理库存操作。如果任何操作失败,整个批处理都会回滚。
- ETags 为目录和库存更新提供乐观并发控制,防止竞争条件。
- 内置的欺诈防范和收据验证,跨 Apple、Google、Steam、Nintendo、PlayStation Store 和 Microsoft Store 市场。
- 针对性优惠,通过为不同的玩家群体量身定制动态定价实现细分独家商店。
与 v1 的变化
Economy 中限制过多以至于无用的功能没有进入 v2。为了弥补这一限制,产品团队推出了 Azure Functions 作为 CloudScript 的增强后继者。团队还提供了配方式文档,作为你自己的自定义实现的起点。产品团队随后专注于你告诉他们最重要的内容。 以下 v1 功能未作为 Economy v2 中的原生物品类型包含在内。某些功能可以使用 v2 构建块部分复制,而其他功能则需要通过 Azure Functions 进行自定义逻辑。部分支持
你可以使用现有的 v2 API 和构建块实现这些 v1 功能:- 物品转换:你可以使用 ExecuteInventoryOperations API 实现物品转换(制作),它在单个请求中原子性地减去输入物品并添加结果。有关示例,请参见 制作游戏教程。
- 容器(固定内容):你可以使用捆绑包和虚拟货币 实现始终授予相同物品的容器。一个货币令牌代表容器,购买定价为一个令牌的捆绑包会授予其内容。
不支持
这些 v1 功能没有原生的 v2 等效项,需要自定义逻辑(例如使用 Azure Functions):- 交易:V1 提供玩家之间的原子双向物品交换。V2 没有原生的交易 API。实现玩家对玩家的交易需要通过 Azure Functions 进行自定义编排。
- 限量物品:V1 支持具有有限全球供应的目录物品。V2 需要服务器端逻辑来跟踪和强制执行全球数量上限。
- 掉落表:V1 有内置的加权随机战利品表。V2 需要使用 Azure Functions 进行自定义随机选择逻辑。有关完整实现,请参见掉落表和随机战利品教程。
- 容器(随机):与掉落表配对的 V1 容器在打开时授予随机物品。V2 需要自定义逻辑来减去容器并授予随机选择的物品。请参见掉落表和随机战利品教程。
- 充能率:V1 允许具有随时间再生的使用次数的物品。V2 需要自定义基于时间的逻辑来计算和授予再生的数量。
- 段的商店支持:V1 允许玩家段和商店之间的自动链接。V2 同时具有 商店 和 段,并支持带有段独家商店的针对性优惠,但你必须手动设置配置,而不是使用自动分配。
