适用于 Samsung IAP 6.1 的 Unity 插件
Samsung IAP Unity 插件附带了用于集成必需的所有内容。
插件文件夹包含与 Samsung IAP 相关的所有脚本和库。
菜单画面属于 Unity 画面,展示了 Samsung IAP Unity 插件的所有功能。
开始使用
此部分介绍了如何通过集成 Samsung IAP Unity Engine 插件方法来使用 Samsung 应用程序内购买 (IAP) 功能。
系统要求
要避免兼容性问题,插件需要以下 SDK:
- Android SDK
- Unity 2017.3.1 或更高版本
插件安装
要将 Samsung IAP Unity 插件导入您的工程中,请在 Unity 中单击“资产”->“导入程序包”。
插件程序包概述
Samsung IAP Unity 插件附带了用于集成必需的所有内容。
- 插件文件夹包含与 Samsung IAP 相关的所有脚本和库。
- 菜单画面属于 Unity 画面,展示了 Samsung IAP Unity 插件的所有功能。
集成 Samsung IAP 功能
此部分介绍了如何通过进行插件方法调用以支持应用程序内项目的提供和销售,从而将 Samsung IAP 功能集成到您的 Android 应用程序中的基础方面。
Samsung IAP 脚本
将 Samsung IAP 脚本拖放到您所选择的 GameObject 中。
设置 IAP 操作模式
SetOperationMode() 设置 | 说明 |
---|---|
OPERATION_ |
|
OPERATION_ |
|
OPERATION_ |
|
应用程序开发和测试期间:
- 可以设置测试模式之一。
- 不得设置 OPERATION_MODE_PRODUCTION 模式。
对于 Beta 版发布:
- 必须设置 OPERATION_MODE_PRODUCTION 模式。
- 所有 Beta 版测试者可以免费下载付费 Beta 版应用程序。
- 未列入白名单的 Beta 版测试者购买应用程序内项目将会进行财务计费,这些测试者可以测试应用程序内购买功能。
- 列入白名单的 Beta 版测试者可以免费获得应用程序内项目,但他们无法测试购买功能。
对于验证测试和正常发布:
- 必须先设置 OPERATION_MODE_PRODUCTION 模式,然后才能提交应用程序及其应用程序内项目以供验证测试。
如果设置 OPERATION_MODE_TEST_FAILURE,则所有请求将失败。
示例代码:
SamsungIAP.Instance.SetOperationMode(OperationMode.OPERATION_MODE_TEST);
查询可用的 Samsung IAP 项目
使用 GetProductsDetails() 方法可获取有关部分或所有应用程序内项目(已在可供用户购买的应用程序中注册)的详细信息(例如项目 ID、价格和说明):
- 指定一个或多个唯一的应用程序内项目 ID 值(逗号分隔),以获取有关所指定项目的信息。
- 指定空字符串 ("") 以获取有关所有已注册项目的信息。
示例代码:
//获取有关三个应用程序内项目的信息
SamsungIAP.Instance.GetProductsDetails("com.mygame.product1, com.mygame.product2, com.mygame.product3", OnGetProductsDetails);
//获取有关所有应用程序内项目的信息
SamsungIAP.Instance.GetProductsDetails("", OnProductsDetails);
处理完成后,将触发 OnGetProductsDetails 回调,其中包含有关指定的项目和 API 调用处理的信息。
启动购买和付款交易
使用 StartPayment() 方法可对指定的应用程序内项目启动购买和付款交易。
您可以自行指定直通参数,并将其用于购买和付款验证。
SamsungIAP.Instance.StartPayment("com.mygame.product1", "pass_through_value", OnPayment);
处理完成后,将触发 OnPayment 回调,
其中包含有关已购买的项目、交易和 API 调用处理的信息。
启用再次购买已购买的消耗性项目
使用 ConsumePurchasedItems() 方法和消耗性应用程序内项目的购买 ID,可以启用再次购买(无论用户是否实际使用了该项目)。
您的应用程序将在 OnPayment 和 OnGetOwnedList 回调中收到项目的购买 ID。示例代码:
SamsungIAP.Instance.ConsumePurchasedItems(purchase_id, OnConsume);
处理完成后,将触发 OnConsume 回调,
其中包含有关已消耗的项目和 API 调用处理的信息。
查询先前购买的项目
使用 GetOwnedList() 方法可获取有关用户已购买的部分或所有项目的信息:
GetOwnedList() 设置 | 说明 |
---|---|
项目 | 返回所有已购买的非消耗性项目和尚未消耗的消耗性项目 |
订阅 | 返回具有有效订阅的所有已购买的订阅项目 |
所有 | 返回所有已购买的非消耗性项目、尚未消耗的消耗性项目以及具有有效订阅的订阅项目 |
示例代码:
SamsungIAP.Instance.GetOwnedList(ItemType.all, OnGetOwnedList);
处理完成后,将触发 OnGetOwnedList 回调,其中包含有关指定的已购买项目和 API 调用处理的信息。