包含此页的版本:
不含此页的版本:
若要使用 App 内购买项目,你的 App 必须提供待售商品列表。您可以通过脚本或使用无代码 IAP 目录(窗口 > Unity IAPUnity In App Purchase
的缩写 见术语表 > IAP 目录)。无论使用哪种实现,都必须为每个产品定义适当的属性。本页详细介绍了这些属性。
输入跨平台唯一标识符,作为与应用商店通信时产品的默认 ID。
重要提示:ID 只能包含小写字母、数字、下划线或句点。
每件产品必须属于以下类型之一:
| 类型 | 描述 | 例子 |
|---|---|---|
| 消费品 | 用户可以重复购买产品。消耗品无法恢复。 | * 虚拟货币 * 健康药水 * 临时能量提升。 |
| 非消耗品 | 用户只能购买一次产品。非消耗品可以恢复。 | * 武器或盔甲 * 访问额外内容 |
| 订阅 | 用户可以在有限的时间内访问产品。订阅产品可以恢复。 | * 每月访问在线游戏 * VIP 身份授予每日奖金 * 免费试用 |
注意:有关订阅类型支持的更多信息,请参阅订阅产品支持部分。
本部分定义了与你的产品关联的元数据,以便在游戏内商店中使用。
使用以下字段为您的产品添加描述性文本:
| 田 | 数据类型 | 描述 | 例 |
|---|---|---|---|
| 产品区域设置 | 枚举 | 确定您所在地区可用的应用商店。 | 中文(简体中文)(谷歌游戏,苹果) |
| 产品名称 | 字符串 | 您的产品在应用商店中显示的名称。 | “健康药水” |
| 产品描述 | 字符串 | 产品在应用商店中显示的描述性文本,通常是对产品内容的解释。 | “恢复 50 点生命值。” |
通过单击加号 (+) 图标并选择其他区域设置,为“标题”和“描述”字段添加翻译。您可以根据需要添加任意数量的翻译。
使用此部分可为您支付给购买者的内容添加本地固定定义。提现使管理游戏内钱包或库存变得更加容易。通过为产品标记名称和数量,开发人员可以在购买时快速调整某些物品类型(例如硬币或宝石)的游戏内计数。
注意:此功能仅在 Unity 2017.2 或更高版本中可用。
| 田 | 数据类型 | 描述 | 例 |
|---|---|---|---|
| 支付类型 | 枚举 | 定义购买者收到的内容类别。有四种可能的类型。 | * 货币 * 物品 * 资源 * 其他 |
| 支付子类型 | 字符串 | 为内容类别提供一定程度的粒度。 | * 货币类型的 “黄金”和“白银”子类型* 物品类型的“药水”和“强化”子类型 |
| 数量 | 内特 | 指定购买者在付款中收到的项目数量、货币等。 | * 1 * >25 * 100 |
| 数据 | 将此字段用作在代码中引用的属性。 | * UI 元素 的标志* 物品稀有度 |
注意:您可以向单个产品添加多个提现。
有关 PayoutDefinition 类的详细信息,请参阅脚本参考。您始终可以使用此类在脚本中将付款信息添加到产品。例如:
using UnityEngine.Purchasing;
new PayoutDefinition (PayoutType.Currency, "Gold", 100)
请注意,IAP 目录充当产品目录字典,而不是库存管理器。您仍然必须实现处理所购买内容传送的代码。
默认情况下,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 Play 中创建的定价模板的 ID。
从下拉菜单中选择定价层。Unity 支持预定义的 Apple 价格点,但不支持任意值。
选择要上传的屏幕截图。
有关屏幕截图规范的信息,请参阅 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...
}
}