经济资源介绍
经济服务通过允许您创建定义经济系统的不同游戏内单位来运作。添加到游戏中的每种单位类型都称为资源。经济包含以下内置配置资源类型
此外,每种资源类型都可以具有自定义数据。
All fields that require numerical input (for example, amounts, balances) have a limit of 15 digits (integers only).
货币
经济中的货币定义了游戏中存在的虚拟货币。在定义货币时,可以选择设置初始余额(您初始化货币时玩家收到的金额)和最大货币余额(玩家可以拥有的该货币的最大限额)。对于每个定义的货币,经济都会针对每个玩家帐户存储一个余额,由游戏进行管理。
经济在玩家首次与该货币交互时,会为每个玩家初始化货币。这包括玩家在与货币系统交互后可用的货币。
例如,玩家玩一个使用金币虚拟货币的游戏,然后您在游戏的全新版本中添加了一个宝石货币,并将配置的初始余额设置为 10。当玩家在宝石可用后首次与货币交互时,经济会为玩家的宝石创建一个余额 10,而金币不受影响。输入值为零表示不为每个玩家初始化货币。
您可以为货币定义最大余额。这是系统中任何玩家可以拥有的该货币的最大余额。这会在尝试将余额增加到最大值以上时,在游戏 API 中返回错误。如果您不希望货币有上限,请删除最大值或输入零。
库存物品
库存物品是玩家可以在游戏中拥有的物品。您不需要为您的资源设置任何属性,但始终可以向它们添加自定义数据。
您可以通过使用 SDK 或作为购买(使用虚拟货币或真钱)的一部分将库存物品与玩家关联。与玩家关联的库存物品实例可以拥有自己的实例数据。请参阅玩家数据。
虚拟购买
虚拟购买是一种交易资源,用于实现商店或交易功能。虚拟购买允许玩家使用其游戏内货币余额或他们库存中已有的物品来购买之前定义的游戏内货币或库存物品,而不是真钱。
虚拟购买的用例包括
- 游戏内商店
- 将库存物品交换为另一个物品
- 将库存物品交换为游戏内货币
- 将一种货币转换为另一种货币(例如,将 10 枚金币兑换成一枚宝石)
Although virtual purchases are composed of a cost and a reward, it’s not mandatory to define either component. Depending on how you want to define a virtual purchase, it can be made up of either no cost or no reward.
For example:
- A situation of a purchase with no cost can happen when you want to give your players a resource as a gift
- A situation of a purchase with no reward can occur when you want your players to lose a resource
真钱购买
真钱购买是一种交易资源,允许玩家通过应用商店使用真钱购买游戏内货币或物品。真钱购买的用例包括
- 从在线店面购买物品或物品捆绑包
- 使用真钱购买虚拟货币
应用内购买 (IAP) 集成
要在您的游戏中完全集成真钱交易,您必须在您游戏的经济中创建购买。然后,经济中的 IAP 集成将
- 使用相关供应商 API 验证每笔购买
- 将货币和游戏内物品奖励安全地应用到玩家的帐户
- 验证购买的收据
但是,开发人员仍然需要支持与商店的连接。建议的最佳做法是使用IAP 插件 来执行此集成。
IAP 插件和经济在创建需要玩家使用真钱购买资源的购买时,扮演着不同的角色。经济执行收据相对于购买的验证并向玩家授予资源,而 IAP 插件将游戏与商店集成以进行商店初始化并收集收据。
商店设置配置
在您能够配置经济服务以兑换和验证应用内购买之前,您必须将一些产品添加到 Apple App Store 和 Google Play 商店(取决于您计划在何处提供您的游戏)。
对于这两个商店,您都必须在配置中设置一个产品 ID。然后,相同的 Product ID 用于真钱购买的配置中。这两个商店有不同的步骤需要遵循,因此请参阅它们的文档以获取完整的设置说明。
Google Play 商店配置需要额外的IAP 设置。
Unity IAP 插件集成和收据验证
经济从Unity IAP 插件接收到收据数据后,会使用该收据数据调用相应商店的 Redeem
函数(例如,redeemAppleAppStore
和 redeemGooglePlayStore
)。经济调用会完成所有验证,并使用真钱购买中配置的货币余额或库存物品实例奖励玩家。