Economy 中的资源简介

Economy 服务的工作原理是,允许您创建不同的游戏内单元,从而定义一个经济系统。添加到游戏中的每种单元都称为资源。Economy 系统内置了以下配置资源类型:

此外,每种资源类型都可以有 自定义数据

所有需要输入数字的字段(例如数量、余额)的长度限制为 15 位数字(仅限整数)。

货币

Economy 中的货币用于定义游戏内部存在的虚拟货币。在定义货币时,可以选择设置初始余额(您初始化货币时玩家获得的货币数量)和最大货币余额(玩家可以拥有的货币上限)。针对定义的每种货币,Economy 会在每个玩家帐户中存储一些余额,由游戏进行管理。

Economy 会在玩家首次与某种货币交互时初始化该货币。这包括玩家与货币系统交互后才可用的货币。

例如,玩家在游戏中使用金币虚拟货币,然后您在新版本游戏中添加了宝石货币,并将配置的初始余额设置为 10。当玩家在宝石货币可用后首次与货币互动时,Economy 会为玩家创建 10 颗宝石余额,而金币则不受影响。输入 0 值表示不为每个玩家初始化某种货币。

您可以定义一种货币的最大余额。这是任何玩家在系统中持有该货币余额的上限。当试图将余额增加到超过最大值时,游戏 API 会返回错误信息。如果不希望货币有上限,可以删除最大值或输入 0。

背包物品

背包物品是玩家在游戏中可以拥有的物品。您无需为资源设置任何属性,但始终可以向其添加自定义数据

您可以使用 SDK 将背包物品与玩家关联起来,或将背包物品作为购买(使用虚拟或真实货币)的一部分与玩家关联起来。与玩家相关联的背包物品实例可以拥有自己的实例数据。请查阅玩家数据

虚拟购买

虚拟购买是一种交易资源,用于实现商店或交易功能。通过虚拟购买,玩家可以使用游戏内货币余额或背包物品而不是真实货币,来购买先前定义的游戏内货币或背包物品。

虚拟购买的用例包括:

  • 游戏内商店
  • 用背包物品换取其他物品
  • 用背包物品换取游戏内货币
  • 用一种货币兑换另一种货币(例如,用 10 枚金币兑换 1 颗宝石)

虽然虚拟购买由成本和购买所得内容组成,但并非必须两者皆定义。根据您对虚拟购买的定义,可以不包含成本或所得内容。

例如:

  • 当您想把资源作为礼物送给玩家时,就会出现无成本购买的情况。
  • 当您想让玩家损失资源时,购买后将不给与玩家购买所得内容。

真实货币购买

真实货币购买是一种交易资源,允许玩家通过应用商店使用真实货币购买游戏内货币或物品。真实货币购买的用例包括:

  • 从网上商店购买一件物品或一组物品
  • 使用真实货币购买虚拟货币

应用内购 (IAP) 集成

为了将真实货币交易完全集成到您的游戏中,必须在游戏的 Economy 中创建购买。然后,Economy 中的 IAP 集成将:

  • 通过相关供应商 API 验证每次购买
  • 将货币和游戏内购物所得物品安全地应用到玩家帐户中
  • 验证购买收据

不过,开发者仍需支持连接到商店。推荐的最佳做法是使用 IAP 插件来执行此集成。

在创建需要玩家用真实货币购买资源的购买时,IAP 插件和 Economy 会发挥两种不同的作用。Economy 会根据购买情况对收据进行验证,并将资源授予玩家,而 IAP 插件会将游戏与商店集成,以进行商店初始化,并收集收据。

商店设置配置

在配置 Economy 服务以兑换和验证应用内购之前,您必须在 Apple App Store 和 Google Play 应用商店(取决于您计划在哪里提供游戏)中添加一些产品。

对于这两个商店,您必须在配置中设置 Product ID。然后,在配置真实货币购买时将使用同样的 Product ID。这两个商店要求遵循不同的步骤,请参考各自的文档以了解完整的设置说明。

Google Play 应用商店配置需要额外的 IAP 设置

Unity IAP 插件集成和收据验证

Economy 从 Unity IAP 插件接收到收据数据后,就会使用该收据数据调用相应商店的 Redeem 函数(例如 redeemAppleAppStoreredeemGooglePlayStore)。Economy 调用会进行所有验证,并按照真实货币购买中的配置,向玩家提供货币余额或背包物品实例。

其他资源