en zh

Unity 插件

SamsungIAP_unity_plugin_v6.3.0.unitypackage
(225KB) Mar 19, 2025

Samsung IAP Unity 插件附带了用于集成必需的所有内容。


将 Samsung IAP 集成到您的应用程序中

此部分介绍了如何通过集成 Samsung IAP Unity Engine 插件方法来使用 Samsung 应用程序内购买 (IAP) 功能。

系统要求

要避免兼容性问题,插件需要以下 SDK:

插件安装

  1. 下载 插件。
  2. 请在 Unity 中单击“资产”→“导入程序包”。
  3. 选择与Samsung IAP相关的所有脚本和库的插件文件。

实施Samsung IAP

此部分介绍了如何通过进行插件方法调用以支持应用程序内项目的提供和销售,从而将 Samsung IAP 功能集成到您的 Android 应用程序中的基础方面。

Samsung IAP 脚本

Samsung IAP 脚本拖放到您所选择的 GameObject 中。

设置 IAP 操作模式

使用 SetOperationMode() 方法可设置操作模式。

模式

说明

OPERATION_MODE_PRODUCTION

StartPayment() 请求将按指定的方式处理,执行财务交易以使请求成功,并返回实际结果(成功或失败)。

注意:所有其他 IAP SDK 请求将按如下方式工作:
  • 只有在 OPERATION_MODE_PRODUCTION 模式下购买的项目才会视为已拥有的项目。

OPERATION_MODE_TEST

StartPayment() 请求将按指定的方式处理,未发生财务交易除外(将不会针对项目购买向已许可的测试者计费),并且始终返回成功的结果
有关 OPERATION_MODE_TEST 模式下显示的付款窗口的详细信息,请参见付款窗口所示。

注意:所有其他 IAP SDK 请求将按如下方式工作:
  • 只有在 OPERATION_MODE_TEST 模式下购买的项目才会视为已拥有的项目。
  • 要购买应用程序内项目,测试者必须在卖家的卖家门户配置文件中注册为已许可测试者。在此模式下,已许可测试者始终可免费获取您的应用程序内项目。如果所有其他用户尝试购买应用程序内项目,将会显示错误消息。

OPERATION_MODE_TEST_FAILURE

所有 IAP SDK 请求将失败。
这旨在用作负面测试,以确保您的应用程序可以处理诸如输入和用户操作不正确这样的错误。

代码片段
SamsungIAP.Instance.SetOperationMode(OperationMode.OPERATION_MODE_TEST);

获取用户拥有的项目

使用 GetOwnedList() 方法可获取有关用户已购买的部分或所有项目的信息:

类型

说明

item

消耗性项目和非消耗性项目

subscription

自动定期订阅项目

all

消耗性项目、非消耗性项目和自动定期订阅项目

代码片段
SamsungIAP.Instance.GetOwnedList(ItemType.all, OnGetOwnedList);

处理完成后,将触发 OnGetOwnedList 回调,其中包含有关指定的已购买项目和 API 调用处理的信息。

获取应用程序内项目详细信息

使用 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,可以启用再次购买(无论用户是否实际使用了该项目)。
您的应用程序将在 OnPaymentOnGetOwnedList 回调中收到项目的购买 ID。

  • 指定一个或多个唯一的购买ID值(逗号分隔)。
代码片段
SamsungIAP.Instance.ConsumePurchasedItems("purchaseId_1, purchaseId_2, purchaseId_3", OnConsume);

处理完成后,将触发 OnConsume 回调,
其中包含有关已消耗的项目和 API 调用处理的信息。

获取订阅的优惠资格要求

使用 GetPromotionEligibility() 方法可返回为客户提供的订阅项目定价选项,例如免费试用期和初始优惠价。

  • 指定一个或多个唯一订阅ID值(逗号分隔)。
代码片段
SamsungIAP.Instance.GetPromotionEligibility("subscItemId_1, subscItemId_2", OnGetPromotionEligibility);

处理完成后,将触发 OnGetPromotionEligibility 回调,其中包含有关指定的项目和 API 调用处理的信息。

更改订阅计划

使用 ChangeSubscriptionPlan() 方法可允许客户将现有订阅更改为相同订阅项目的其他等级。

Proration Mode

Description

INSTANT_PRORATED_DATE

立即升级或降级订阅。剩余订阅时间将根据差价进行调整,并通过推迟下一次账单日的方式,将其计入新订阅周期。无需额外付款。

INSTANT_PRORATED_CHARGE

仅适用于升级的订阅。立即升级订阅,但账单周期不变。向用户收取剩余期限的差价。

INSTANT_NO_PRORATION

仅适用于升级的订阅。立即升级订阅,在续订时按新价格收费。账单周期不变。

DEFERRED

续订时升级或降级订阅。续订时按新价格收费。降级将始终按该模式执行。

请参见按比例调整模式,详细了解四种模式。

代码片段
SamsungIAP.Instance.ChangeSubscriptionPlan("oldItemId", "newItemId", ProrationMode.INSTANT_PRORATED_CHARGE, "pass_through_value", OnChangeSubscriptionPlan);

处理完成后,将触发 OnChangeSubscriptionPlan 回调,
其中包含有关已购买的项目、交易和 API 调用处理的信息。