本ドキュメントでは、Unity で開発されたゲーム内でアプリ内課金を有効化するための now.gg Payments クイック統合フローについて説明します。
以下は、標準統合とクイック統合の比較です:
| 項目 | クイック統合 | 標準統合 |
|---|---|---|
| 統合フロー | IAP 実装が Unity IAP v4.x.x または v5.x.x に基づいている場合は、クイック統合フローを使用してください。 | その他すべての支払い統合要件については、標準統合フローを使用してください。 |
| 消耗型およびサブスクリプション商品 | クイック統合フローは、単発の消耗型商品のみをサポートします。 | 標準統合フローは、消耗型商品およびサブスクリプション商品の両方をサポートします。 |
now.gg Payments Unity モジュールは、Unity パッケージファイル NowGGUnitySdk.unitypackage として提供されます。
Unity プロジェクトにモジュールを追加する手順:
NowGGUnitySdk.unitypackage を選択します。
Assets/Plugins/Android ディレクトリに追加されます。now.gg Payments モジュールのインポートおよび依存関係の追加が完了したら、このセクションに従ってアプリ/ゲームに now.gg Payments を実装してください。
now.gg Purchasing モジュールをアプリに設定するには、以下の手順が必要です:
StandardPurchasingModule.Instance() を、now.gg 購入モジュール NowGG.Sdk.NowGGPurchasingModule.Instance() に置き換えます。PaymentId を now.gg Payments モジュールに渡します。以下のサンプルは、これらの設定を示しています:
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>";
}
StandardPurchasingModule インスタンスがデフォルトで返されます。PaymentId はアプリ固有の一意識別子であり、nowStudio の App Details で確認できます。詳細はこちら。Unity IAP v5 で now.gg Payments を設定するには、以下の手順が必要です:
NowGGStoreController.Init() を使用して now.gg Store Controller を初期化し、アプリの PaymentId を渡します。await m_StoreController.Connect() を使用してストアに接続します。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);
}
ドキュメント改訂版 1.0