リモートカタログの作成
製品カタログを定義し、リモートカタログサービスにアップロードします。
読み終わるまでの所要時間 4 分最終更新 7日前
製品カタログを設定してリモートカタログサービスにアップロードすると、ユーザーは新しいバージョンをインストールしなくても、アプリケーションの最新製品にアクセスできます。 製品カタログをリモートカタログにアップロードすると、Unity Iap SDK は
RemoteCatalogProvider- ユーザーがアプリケーションを更新することなく、製品と価格をリアルタイムで確実に分布できます。
- 複数の支払いプロバイダーにわたって製品情報を設定する必要はありません。
製品とカタログのリスト
Unity Iap は、次の 2 つの関連概念でカタログを表します。- 製品とは、ユーザーに付与するものです。各製品には、とも呼ばれる SKU があります。
productId - カタログ リストは、によって識別される製品の購入可能なバージョンです。1 つの製品に複数のカタログリストがあるため、同じ製品を複数の方法で販売できます。
catalogListingId
catalogListingIdproductIdcatalogListingId製品カタログの定義
以下の方法を使用して、リモート製品カタログの製品に関する情報を定義できます。 Unity CloudダッシュボードのIn-Application Purchases >Catalogで直接カタログを作成することもできます。 Unity エディターを使用して製品を追加する場合、Unity アプリ内課金 (IAP) は、購入処理に必要なバックエンドロジックの一部を自動的に処理します。これは特に、バックエンド API で購入を履行することを選択した場合に役立ちます。Unity エディターでの製品カタログの作成
Unity エディターで製品を定義する場合、エディターは製品設定をファイルに保存するため、コード設定のワークフローを使用して管理できます。 Unity エディターで製品を作成するには、次の手順に従います。- カタログ項目を作成するには、ディレクトリを右クリックし、[Create]> [Services]> [IAP Catalog] 項目を選択します。
- カタログ項目に名前を付けます。カタログ項目アセットが作成され、Inspector ウィンドウでアセットが開きます。
- カタログ項目の詳細を入力します。詳細については、Catalog 項目 Asset Inspector リファレンスを参照してください。
- Apply (適用) を選択します。

Catalog 項目 アセット Inspector のリファレンス
以下のプロパティを参照して、IAP カタログアイテムを定義します。プロパティ | 説明 |
|---|---|
| Script | デフォルトで満たされます。 |
| カタログリスト ID | デフォルトで入力(ファイルパスを使用)。購入の開始時にこのリストをターゲットにするために使用する識別子。 |
| SKU | デフォルトで入力(ファイル名を使用)。 |
| 製品タイプ | IAP 製品のタイプを選択します。 |
| 製品詳細 | 以下を含む製品に関する情報を入力します。
|
| 価格の詳細 | 以下を含む製品価格情報を入力します。
|
| 画像 URL | 画像 URL を入力して、製品のディスプレイ画像を指定します。 |
| ストア ID オーバーライド | 任意。ネーミング要件が異なる アプリストア と google play にリスティングをマップします。以下のフィールドは、SKU がストアの要件を満たしていない場合にのみ使用します。
|
既存のカタログのインポート
すでに アプリストア または google play でカタログを設定している場合は、プロダクトを再作成する代わりに Unity エディターにインポートできます。- Unity エディターで、サービス > アプリ内課金 > インポート カタログ を選択します。
- インポート元のストアのアプリストアまたは Google Play ストアのタブを選択します。
- ステップ 1:カタログデータをフェッチし、ストアの認証情報を入力し、Fetch Catalog (カタログの取得):
- 秘密鍵 /secret key
- シークレットスコープ
- ステップ 2:インポートまたはエクスポート。生成されたカタログ アイテムのインポート先パスを設定し、適用を選択します。
カタログをインポートしたら、リモートカタログサービスにアップロードします。
APIを使用して製品カタログを作成する
このメソッドは、Unity エディター UI を使用する代わりにエディタースクリプトを使用して製品カタログを管理する場合に使用します。 まず、必要なすべての依存関係を含む.asmdef.asmdef次に、{ "name": "MyIAPProject.Authoring", "rootNamespace":"MyIAPProject.Authoring", "references": [ "Unity.Services.Core", "Unity.Services.Core.Editor", "Unity.Services.Core.Internal", "Unity.Services.DeploymentApi", "Unity.Services.Core.Environments.Editor", "UnityEditor.Purchasing.Authoring", "UnityEditor.Purchasing.Editor.Authoring.Core", "Unity.Purchasing.Editor.Shared", "Unity.Purchasing" ], "includePlatforms": [ エディター ]}
ILiveContentConfigClient- から関連するサービスを取得します。
PurchasingAuthoringServiceProviderILiveContentConfigClientIEnvironmentsApiPurchasingAuthoringServiceProvider.GetService<ILiveContentConfigClient>()
- 必要な情報を使用して インターフェースを初期化します。
ILiveContentConfigClient - カタログの読み取り/更新の呼び出しを行います (これらの呼び出しは、現在のサインインユーザー権限で行われます)。
以下のコードサンプルを参照してください。
[MenuItem("IAP/Deployment/Get and print the catalog")]public static async void Select(){ var lcc = PurchasingAuthoringServiceProvider.GetService<ILiveContentConfigClient>(); var env = PurchasingAuthoringServiceProvider.GetService<IEnvironmentsApi>(); await lcc.Initialize( env.ActiveEnvironmentId.ToString(), CloudProjectSettings.projectId, CancellationToken.None); var items = await lcc.List(CancellationToken.None); Debug.Log(string.Join("\n", items.Select(i => $"{i.uSku} - {i.ProductDetails[0].Description}")));}
カスタムDeploymentウィンドウのインテグレーションを使用して製品カタログを作成
Deployment ウィンドウを使用してカスタムインテグレーションをホストできるため、CSV などの単純なカスタム Deployment を作成したり、リモートカタログに直接送信したりできます。 単純な Deployment ウィンドウの作成方法については、Deployment パッケージのドキュメントを参照してください。リモートカタログサービスへの製品カタログのアップロード
Deploymentウィンドウを使用して、リモートカタログに製品をアップロードします。- Unity エディターで、「Services」>「Deployment」を選択して Deployment ウィンドウを開きます。
- リモートカタログに追加する製品を選択し、「Deploy Selected(選択済みを展開)」を選択します。

リモートカタログからの製品の削除
Unity エディターでリモートカタログから項目を削除するには、複数の方法があります。- Inspectorウィンドウでカタログ項目を開き、Delete Remoteを選択します。
- Deploymentウィンドウを開き、カタログ項目を右クリックして、Delete Remoteを選択します。