本ドキュメントでは、Unity で開発されたゲーム内でアプリ内課金を有効化するための now.gg Payments クイック統合フローについて説明します。

ヒント

  • クイック統合フローは、最小限のコード変更で簡単かつ迅速に導入できます。より詳細な制御が必要な場合は、標準統合フローを参照してください。
  • Unity IAP のバージョンを選択してください:
    • Unity IAP v4.xUnity IAP v4 セクション(StandardPurchasingModule)に従ってください。
    • Unity IAP v5.xUnity 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. Unity 用 now.gg Payments モジュールの最新バージョンをダウンロードします。
  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 モジュールに渡します。
  • Unity Purchasing モジュールと連携する形で、nowStudio 内に必要なアプリ内商品を追加していることを確認してください。
    • これらのアプリ内商品は、ユーザーが購入可能な商品として表示されます。
    • 現時点では、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 Payment がサポートされていない環境では、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