Version: 6000.3
语言: 中文
无代码 IAP
订阅产品支持

定义产品

若要使用 App 内购买项目,你的 App 必须提供待售商品列表。您可以通过脚本或使用无代码 IAP 目录窗口 > Unity IAPUnity In App Purchase
的缩写 术语表
> IAP 目录)。无论使用哪种实现,都必须为每个产品定义适当的属性。本页详细介绍了这些属性。

Unity 编辑器中的 IAP 目录 GUI
Unity 编辑器中的 IAP 目录 GUI

产品编号

输入跨平台唯一标识符,作为与应用商店通信时产品的默认 ID。

重要提示:ID 只能包含小写字母、数字、下划线或句点。

产品类型

每件产品必须属于以下类型之一:

类型 描述 例子
消费品 用户可以重复购买产品。消耗品无法恢复。 * 虚拟货币
* 健康药水
* 临时能量提升。
非消耗品 用户只能购买一次产品。非消耗品可以恢复。 * 武器或盔甲
* 访问额外内容
订阅 用户可以在有限的时间内访问产品。订阅产品可以恢复。 * 每月访问在线游戏
* VIP 身份授予每日奖金
* 免费试用

注意:有关订阅类型支持的更多信息,请参阅订阅产品支持部分。

高深

本部分定义了与你的产品关联的元数据,以便在游戏内商店中使用。

描述

使用以下字段为您的产品添加描述性文本:

数据类型 描述
产品区域设置 枚举 确定您所在地区可用的应用商店。 中文(简体中文)(谷歌游戏,苹果)
产品名称 字符串 您的产品在应用商店中显示的名称。 “健康药水”
产品描述 字符串 产品在应用商店中显示的描述性文本,通常是对产品内容的解释。 “恢复 50 点生命值。”

通过单击加号 (+) 图标并选择其他区域设置,为“标题”“描述”字段添加翻译。您可以根据需要添加任意数量的翻译。

在 IAP 目录 GUI 中填充产品的描述字段
IAP 目录 GUI 中填充产品的描述字段

支出

使用此部分可为您支付给购买者的内容添加本地固定定义。提现使管理游戏内钱包或库存变得更加容易。通过为产品标记名称和数量,开发人员可以在购买时快速调整某些物品类型(例如硬币或宝石)的游戏内计数。

注意:此功能仅在 Unity 2017.2 或更高版本中可用。

数据类型 描述
支付类型 枚举 定义购买者收到的内容类别。有四种可能的类型。 * 货币
* 物品
* 资源
* 其他
支付子类型 字符串 为内容类别提供一定程度的粒度。 * 货币类型的
“黄金”和“白银”子类型* 物品类型的“药水”和“强化”子类型
数量 内特 指定购买者在付款中收到的项目数量、货币等。 * 1
* >25
* 100
数据 将此字段用作在代码中引用的属性。 * UI 元素
的标志* 物品稀有度
在 IAP 目录 GUI 中填充产品的提现字段
IAP 目录 GUI 中填充产品的提现字段

注意:您可以向单个产品添加多个提现。

有关 PayoutDefinition 类的详细信息,请参阅脚本参考。您始终可以使用此类在脚本中将付款信息添加到产品。例如:

using UnityEngine.Purchasing;

new PayoutDefinition (PayoutType.Currency, "Gold", 100)

请注意,IAP 目录充当产品目录字典,而不是库存管理器。您仍然必须实现处理所购买内容传送的代码。

商店 ID 覆盖

默认情况下,Unity IAP 假定您的产品在所有应用商店中具有相同的标识符(在上面的 ID 字段中指定)。Unity 建议尽可能这样做。但是,在某些情况下这是不可能的,例如在发布到 iOS 和 Mac 商店时,这会禁止开发人员在两者中使用相同的产品 ID。

在这些情况下,请使用覆盖字段指定产品的正确标识符,其中它与跨平台 ID 不同。

您也可以以编程方式执行此作,如下所示:

using UnityEngine;
using UnityEngine.Purchasing;

public class MyIAPManager {
    public MyIAPManager () {
        var builder = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance());
        builder.AddProduct("100_gold_coins", ProductType.Consumable, new IDs
        {
            {"100_gold_coins_google", GooglePlay.Name},
            {"100_gold_coins_mac", MacAppStore.Name}
        });
        // Initialize Unity IAP...
    }
}

在此示例中,产品标识为 Google Play 的“100_gold_coins_google”,Apple App Store 的标识为“100_gold_coins_mac”。

注意:覆盖仅更改 Unity IAP 在与应用商店通信时使用的标识符。在进行 API 调用时,您仍应使用产品的跨平台标识符。

重要提示:ID 只能包含小写字母、数字、下划线或句点。

Google 配置(Google Play 导出所需)

提供产品价格或在 Google Play 中创建的定价模板的 ID。

在 IAP 目录 GUI 中填充产品的 Google 配置字段。
IAP 目录 GUI 中填充产品的 Google 配置字段。

Apple 配置(Apple 导出所需)

从下拉菜单中选择定价层。Unity 支持预定义的 Apple 价格点,但不支持任意值。

选择要上传的屏幕截图

有关屏幕截图规范的信息,请参阅 Apple 的发布者支持文档。

在 IAP 目录 GUI 中填充产品的 Apple 配置字段。
IAP 目录 GUI 中填充产品的 Apple 配置字段。

在脚本中定义产品

您还可以使用采购配置生成器以编程方式声明您的产品列表。您必须为每个商品提供唯一的跨店铺商品编号商品类型

using UnityEngine;
using UnityEngine.Purchasing;

public class MyIAPManager {
    public MyIAPManager () {
        var builder = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance());
        builder.AddProduct("100_gold_coins", ProductType.Consumable);
        // Initialize Unity IAP...
    }
}
无代码 IAP
订阅产品支持