快速集成

本文档介绍了如何通过 now.gg Payments 快速集成流程,在 Unity 游戏中启用应用内购买功能。

提示

  • 快速集成流程简单高效,仅需最少的代码修改即可完成集成。如需更高的可控性,请参考 标准集成流程。
  • 请选择您的 Unity IAP 版本:
    • Unity IAP v4.x:请按照 Unity IAP v4 部分(StandardPurchasingModule)进行集成。
    • Unity IAP v5.x:请按照 Unity IAP v5 部分(StoreController)进行集成。Unity IAP v5.x 由 nowSDK v4.4 及以上版本支持。

以下是标准集成与快速集成的对比:

项目 快速集成 标准集成
集成流程 如果您的 IAP 实现基于 Unity IAP v4.x.x 或 v5.x.x,请使用快速集成流程。 对于其他所有支付集成需求,请使用 标准集成流程。
消耗型与订阅型商品 快速集成流程仅支持一次性消耗型商品。 标准集成流程同时支持消耗型商品和订阅型商品。

下载并导入模块

now.gg Payments Unity 模块以 Unity 包文件 NowGGUnitySdk.unitypackage 的形式提供。

将模块添加到您的 Unity 项目:

  1. 下载包含最新版本 now.gg Payments Unity 模块的安装包
  2. 将安装包导入到您的 Unity 项目中:
    • 点击 Assets > Import Package > Custom Package
    • 从本地系统中选择 NowGGUnitySdk.unitypackage
    • 默认情况下,所有模块均已选中。取消选择不需要的模块,然后点击 Import,如下所示:
  3. 添加所需依赖
    • 点击 Assets > External Dependency Manager > Android Resolver > Resolve
      此操作将使用 Unity External Dependency Manager 下载并将所有所需依赖添加到项目的 Assets/Plugins/Android 目录中。

实现 now.gg Payments

在成功导入 now.gg Payments 模块并添加依赖后,您可以按照本节说明在您的应用/游戏中实现 now.gg Payments。

Unity IAP v4.x

配置 now.gg Purchasing 模块需要执行以下步骤:

  • 将 Unity IAP 中使用的标准购买模块 StandardPurchasingModule.Instance() 替换为 now.gg 购买模块 NowGG.Sdk.NowGGPurchasingModule.Instance()
  • 在初始化支付时,将应用的 PaymentId 传递给 now.gg Payments 模块。
  • 确保您已在 nowStudio 中添加所需的应用内商品,并与 Unity Purchasing 模块配置一致。
    • 这些应用内商品将展示给用户进行购买。
    • 目前,now.gg IAP 仅支持消耗型商品。

示例代码如下:

public void Start()
{
    /* Current code
    var builder = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance());
    */

    // Replace with
    var builder = ConfigurationBuilder.Instance(NowGG.Sdk.NowGGPurchasingModule.Instance());

    NowGG.Sdk.NowGGPaymentsSdkManager.Instance.PaymentId = "<your_Payment_ID_here>";
}

重要信息

  • 系统会首先检查您是否在 now.gg 平台上初始化了 now.gg Payments 服务。
    • 如果 now.gg IAP 不可用,在不支持 now.gg Payments 的情况下,将默认返回 Unity 的 StandardPurchasingModule 实例。
  • PaymentId 是您应用的唯一标识符,可在 nowStudio 的 App Details 页面中查看。了解更多

参考


Unity IAP v5.x

使用 Unity IAP v5 配置 now.gg Payments 需要执行以下步骤:

  1. 使用 NowGGStoreController.Init() 初始化 now.gg Store Controller,并传入应用的 PaymentId
  2. 订阅商店回调(建议在进行商店调用之前完成)。
  3. 使用 await m_StoreController.Connect() 建立与商店的连接。
  4. 使用 m_StoreController.FetchProducts(...) 获取所需商品。
    • 商品获取完成后,使用 m_StoreController.FetchPurchases() 获取已有购买记录。

示例代码如下:

 StoreController m_StoreController; 
 
  async void InitializeIAP() 
  { 

      /* Current code
      m_StoreController = UnityIAPServices.StoreController(); 
      */
     
      // Replace with
      m_StoreController = NowGGStoreController.Init(<"your_PaymentID_here">);

      m_StoreController.OnPurchasePending += OnPurchasePending; 

      await m_StoreController.Connect(); 

      m_StoreController.OnProductsFetched += OnProductsFetched;
      m_StoreController.OnPurchasesFetched += OnPurchasesFetched; 

      var initialProductsToFetch = new List<ProductDefinition> 
      { 
         new(goldProductId, ProductType.Consumable), 
         new(diamondProductId, ProductType.Consumable) 
      }; 
    
      m_StoreController.FetchProducts(initialProductsToFetch); 
  }

重要信息

  • 有关 Unity IAP 的详细实现,请参阅 此处
  • PaymentId 是您应用的唯一标识符,可在 nowStudio 的 App Details 页面中查看。了解更多
  • 请确保在 nowStudio 中配置的商品 ID 与 Unity 实现中使用的商品 ID 完全一致。
    • 目前,now.gg IAP 仅支持消耗型商品。

参考

×
文本已复制到剪贴板
copyLinkText
有疑问?请通过以下方式联系我们: dev-support@now.gg