Version: 6000.3
语言: 中文
亚马逊应用商店的配置
定义产品

无代码 IAP

无代码 IAP 是在 Unity 应用程序中实现应用内购买的最简单方法。Unity 编辑器提供了一个界面,用于使用最少的脚本编写来配置基本的 IAP 集成。

无代码 IAP 无需任何代码即可处理实际的 IAP 事务。使用编辑器实现无代码IAP的过程分为两步:

  1. IAP 按钮添加到您的游戏中
  2. IAP 目录中定义您的产品

Unity Purchasing 系统在运行时配置您在目录中填充的产品。当玩家选择 IAP 按钮时,它会启动相关产品的购买流程。

注意:您仍然需要使用脚本来定义玩家如何访问他们新购买的内容。有关更多信息,请参阅下面的购买履行部分。

实施无代码 IAP

在开始之前,请安装最新的 Unity IAP SDK。有关更多信息,请参阅有关设置 Unity IAP 的文档。

将IAP按钮添加到场景

要将 IAP 按钮添加到场景,请在 Unity 编辑器中选择 窗口 > Unity IAP > 创建 IAP 按钮

在 Unity 编辑器中创建无代码 IAP 按钮
在 Unity 编辑器中创建无代码 IAP 按钮

在 IAP 目录中填充产品

通过以下两种方式之一打开 IAP 目录 GUI:

  • 选择窗口> Unity IAP > IAP 目录
  • 或者,在选择 IAP 按钮后,在检查器一个 Unity 窗口,显示有关当前选定游戏对象、资产或项目设置的信息,允许您检查和编辑值。更多信息
    请参阅术语表
    ,然后单击 IAP 目录...
通过 IAP Button 脚本组件访问 IAP 目录 GUI
通过 IAP Button 脚本组件访问 IAP 目录 GUI

接下来,使用 GUI 为目录中的每个产品定义以下属性。

  • 用于与应用商店通信的产品 ID(请注意,您可以通过高级选项使用唯一的特定于商店的 ID 覆盖此 ID)。
  • 产品类型易耗品非易耗品订阅)。
在 IAP 目录 GUI 中填充产品信息
IAP 目录 GUI 中填充产品信息

注意IAP 目录 GUI 提供了用于配置产品的其他工具。在导出目录以上传到其各自的商店之前,您还必须填充描述和定价信息。有关这些设置的详细信息,请参阅有关定义产品的文档。

自动初始化UnityPurchasing

IAP SDK 必须初始化才能进行应用内购买。当无代码IAP按钮IAP监听器的第一个实例在运行时加载时,会自动发生这种情况。但是,您可能需要在游戏中显示 IAP 按钮或 IAP 监听器之前初始化 SDK(例如,在应用程序启动后提供 IAP 促销优惠)。在这些情况下,请选中 IAP 目录窗口底部的 自动初始化 UnityPurchasing (推荐)。这确保了UnityPurchasing在应用程序启动时立即初始化,并消除对无代码实例生命周期的依赖关系。

通过 IAP 目录 GUI 启用 SDK 的自动初始化
通过 IAP 目录 GUI 启用 SDK 的自动初始化

为了正常工作,您的目录必须至少包含一个产品。

注意:您可以将自动初始化与 IAP 按钮或监听器一起使用。在这种情况下,SDK 会在游戏启动时初始化,而不是在场景场景包含游戏的环境和菜单。将每个唯一的场景文件视为一个独特的关卡。在每个场景中,你放置你的环境、障碍物和装饰品,基本上是将你的游戏设计和构建成碎片。更多信息
请参阅术语表
.但是,如果您还在脚本中手动初始化,则不应启用自动初始化,因为这可能会导致错误。

购买履行

当您的目录包含至少一个产品时,您可以定义购买完成或失败时的 IAP 按钮行为。

  1. 场景视图:您正在创建的世界的交互式视图。您可以使用场景视图来选择和定位场景、角色、摄像机、灯光和所有其他类型的游戏对象。更多信息
    请参阅术语表
    ,然后在检查器中找到其 IAP 按钮(脚本)组件。
  2. 产品 ID 下拉列表中选择要链接到 IAP 按钮的产品。选择要与无代码IAP按钮关联的产品
  3. 创建自己的函数来提供购买履行,或导入执行此作的资产(请参阅下面的代码示例)。
  4. 将您的购买配送脚本应用于游戏对象Unity 场景中的基本对象,可以表示角色、道具、风景、相机、航路点等。游戏对象的功能由附加到它的组件定义。更多信息
    请参阅术语表
    作为组件。使用购买履行脚本创建游戏对象
  5. 返回到检查器中的 IAP 按钮(脚本)组件,然后单击加号 (+) 按钮将函数添加到购买完成时(产品)列表中。
  6. 将带有购买履行脚本的游戏对象拖到 On Purchase Complete (Product) 事件字段(如下图所示),然后从下拉菜单中选择您的函数。将购买配送脚本分配给 IAP 按钮事件字段

履行脚本代码示例

public void GrantCredits (int credits){
    userCredits = userCredits + credits;
    Debug.Log(“You received “ + credits “ Credits!”);
} 

运行您的游戏以测试 IAP 按钮

扩展功能

导出到应用商店

为了使购买正常,您必须在相应的应用商店中配置您的目录。为此,您可以将产品目录作为 CSV 文件导出到 Google Play,或通过 Apple 的应用程序加载器将产品目录作为 XML 文件导出到 iTunes Store。

谷歌游戏

要导出 Google Play 的产品目录:

  1. IAP 目录窗口(“Unity IAP > IAP 目录窗口>),确保每个产品都定义了以下内容:
    * ID
    * 类型
    * 标题描述
    * 价格定价模板 ID
  2. 向下滚动,然后选择 App Store 导出
  3. 选择 Google Play CSV 格式。
  4. 选择保存 CSV 文件的位置。

如需了解有关将导出的目录上传到 Google Play 的完整指导,请参阅 Android 开发者网站上Google 应用内结算文档。

苹果iTunes

要导出 Apple iTunes 的产品目录:

  1. IAP 目录窗口(“Unity IAP > IAP 目录>窗口)中,确保每个产品都定义了以下内容:
    * ID
    * 类型
    * 标题描述
    * 价格层屏幕截图路径
    * Apple SKU(可在 iTunes Connect 中找到)
    * Apple Team ID(可在苹果开发者网站
    )
  2. 向下滚动,然后选择 App Store 导出
  3. 选择 Apple XML 交付
  4. 选择保存 XML 文件的位置。

有关通过 Apple 的 Application Loader 导入的完整指南,请参阅 iTunes Connect 网站上Application Loader 文档。

恢复按钮

某些应用商店(包括 iTunes)要求应用具有恢复按钮。无代码 IAP 提供了一种在应用中实现恢复按钮的简单方法。

要添加“恢复”按钮:

  1. IAP 按钮添加到场景(Unity IAP >创建 IAP 按钮>窗口)。
  2. 选择 IAP 按钮后,在 Inspector 中找到其 IAP Button (Script) 组件,然后从 Button Type 下拉菜单中选择 Restore(组件的大多数其他字段将从 Inspector 视图中消失)。修改 IAP 按钮以恢复购买

当用户在运行时选择此按钮时,该按钮将调用当前应用商店的购买还原 API。此功能适用于 iOS App Store、Mac App Store 和 Windows 应用商店。你可能希望在其他平台上隐藏“还原”按钮。

如果恢复成功,Unity IAPUnity In App Purchase
的缩写 术语表
在与该产品关联的 IAP 按钮上调用购买完成时(产品)功能。

有关详细信息,请参阅有关恢复购买的文档。

IAP 侦听器

无代码 IAP 将成功和失败的购买事件分派到层次结构中的活动 IAP 按钮组件。但是,有时在处理成功购买时可能很难或不希望拥有有效的 IAP 按钮。例如,如果购买在完成之前被中断,Unity IAP 会在下次初始化购买时尝试再次处理购买。您可能希望在应用程序启动后立即发生这种情况,在这种情况下,IAP 按钮将没有意义。无代码 IAP 包含 IAP 监听器组件,正是针对这些情况。场景层次结构中的活动 IAP 监听器接收任何无法分派到 IAP 按钮的购买事件。

要添加 IAP 监听器,请执行以下作:

  1. 在 Unity 编辑器中,选择 Window > Unity IAP > Create IAP Listener
  2. 按照将购买履行脚本编写为 GameObject 组件的步骤进行作。
  3. 在场景中选择 IAP 监听器,并在 检查器(Inspector) 中找到其 IAP 监听器(脚本)(IAP Listener (Script) 组件,然后点击加号(+) 按钮,将函数添加到 购买完成时(产品)(On Purchase Complete (Product) ) 列表。
  4. 将带有购买履行脚本的游戏对象拖到组件的 Inspector 中的 event 字段上,然后从下拉菜单中选择您的函数。配置 IAP 侦听器以处理处理异常

访问 Unity IAP 的扩展功能

无代码 IAP 功能不会公开 Unity IAP 的大部分扩展功能。但是,无代码IAP是在现有脚本API之上实现的,因此您可以在IAPButton.cs脚本(Assets/Plugins/UnityPurchasing/script/IAPButton.cs)中修改其大部分功能以满足您的需求。

要使用 Unity IAP 的扩展功能,请访问 Unity IAPIStoreControllerIExtensionProvider返回的实例IStoreListener.OnInitialize.


  • 2018–05–30 页面已修改
亚马逊应用商店的配置
定义产品