包含此页的版本:
不含此页的版本:
无代码 IAP 是在 Unity 应用程序中实现应用内购买的最简单方法。Unity 编辑器提供了一个界面,用于使用最少的脚本编写来配置基本的 IAP 集成。
无代码 IAP 无需任何代码即可处理实际的 IAP 事务。使用编辑器实现无代码IAP的过程分为两步:
Unity Purchasing 系统在运行时配置您在目录中填充的产品。当玩家选择 IAP 按钮时,它会启动相关产品的购买流程。
注意:您仍然需要使用脚本来定义玩家如何访问他们新购买的内容。有关更多信息,请参阅下面的购买履行部分。
在开始之前,请安装最新的 Unity IAP SDK。有关更多信息,请参阅有关设置 Unity IAP 的文档。
要将 IAP 按钮添加到场景,请在 Unity 编辑器中选择 窗口 > Unity IAP > 创建 IAP 按钮。
通过以下两种方式之一打开 IAP 目录 GUI:
接下来,使用 GUI 为目录中的每个产品定义以下属性。
注意:IAP 目录 GUI 提供了用于配置产品的其他工具。在导出目录以上传到其各自的商店之前,您还必须填充描述和定价信息。有关这些设置的详细信息,请参阅有关定义产品的文档。
UnityPurchasing
IAP SDK 必须初始化才能进行应用内购买。当无代码IAP按钮或IAP监听器的第一个实例在运行时加载时,会自动发生这种情况。但是,您可能需要在游戏中显示 IAP 按钮或 IAP 监听器之前初始化 SDK(例如,在应用程序启动后提供 IAP 促销优惠)。在这些情况下,请选中 IAP 目录窗口底部的 自动初始化 UnityPurchasing (推荐)。这确保了UnityPurchasing在应用程序启动时立即初始化,并消除对无代码实例生命周期的依赖关系。
为了正常工作,您的目录必须至少包含一个产品。
注意:您可以将自动初始化与 IAP 按钮或监听器一起使用。在这种情况下,SDK 会在游戏启动时初始化,而不是在场景场景包含游戏的环境和菜单。将每个唯一的场景文件视为一个独特的关卡。在每个场景中,你放置你的环境、障碍物和装饰品,基本上是将你的游戏设计和构建成碎片。更多信息
请参阅术语表.但是,如果您还在脚本中手动初始化,则不应启用自动初始化,因为这可能会导致错误。
当您的目录包含至少一个产品时,您可以定义购买完成或失败时的 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 的产品目录:
如需了解有关将导出的目录上传到 Google Play 的完整指导,请参阅 Android 开发者网站上的 Google 应用内结算文档。
要导出 Apple iTunes 的产品目录:
有关通过 Apple 的 Application Loader 导入的完整指南,请参阅 iTunes Connect 网站上的 Application Loader 文档。
某些应用商店(包括 iTunes)要求应用具有恢复按钮。无代码 IAP 提供了一种在应用中实现恢复按钮的简单方法。
要添加“恢复”按钮:
当用户在运行时选择此按钮时,该按钮将调用当前应用商店的购买还原 API。此功能适用于 iOS App Store、Mac App Store 和 Windows 应用商店。你可能希望在其他平台上隐藏“还原”按钮。
如果恢复成功,Unity IAPUnity In App Purchase
的缩写 见术语表在与该产品关联的 IAP 按钮上调用购买完成时(产品)功能。
有关详细信息,请参阅有关恢复购买的文档。
无代码 IAP 将成功和失败的购买事件分派到层次结构中的活动 IAP 按钮组件。但是,有时在处理成功购买时可能很难或不希望拥有有效的 IAP 按钮。例如,如果购买在完成之前被中断,Unity IAP 会在下次初始化购买时尝试再次处理购买。您可能希望在应用程序启动后立即发生这种情况,在这种情况下,IAP 按钮将没有意义。无代码 IAP 包含 IAP 监听器组件,正是针对这些情况。场景层次结构中的活动 IAP 监听器接收任何无法分派到 IAP 按钮的购买事件。
要添加 IAP 监听器,请执行以下作:
无代码 IAP 功能不会公开 Unity IAP 的大部分扩展功能。但是,无代码IAP是在现有脚本API之上实现的,因此您可以在IAPButton.cs脚本(Assets/Plugins/UnityPurchasing/script/IAPButton.cs)中修改其大部分功能以满足您的需求。
要使用 Unity IAP 的扩展功能,请访问 Unity IAPIStoreController和IExtensionProvider返回的实例IStoreListener.OnInitialize.