購入の開始
アプリケーションから購入を開始し、プレイヤーが購入オプションのUIで支払い方法を選択できるようにします。
読み終わるまでの所要時間 3 分最終更新 1ヶ月前
プレイヤーが製品を購入する場合は、Unityアプリ内課金(IAP)SDKを使用してアプリケーションから購入を開始します。購入オプションUIを使用することをお勧めします。これは、ネイティブ ストア、支払いプロバイダー、Webショップなど、プレイヤーが利用できる支払いオプションをプレイヤーに表示するゲーム内コンポーネントです。
購入オプションUIは、D2C(ダイレクト トゥ コンシューマー)支払いのデフォルト インテグレーション パスです。表示するには、販売するリスティングで 1 つのメソッドを呼び出し、UI に支払いオプションとルーティングルール return for that player. You don't build the interface yourself. If a project hasn't configured a payment provider, its purchase behavior doesn't change.を表示します。
代わりに独自の購入インターフェースを使用する場合は、カスタムUIをビルドし、ルーティング出力を直接使用できます。
前提条件
購入オプション UI から購入を開始する前に、以下の手順を実行します。
- リモートカタログの作成と取得。
- IAP サービスを初期化し、ストアに接続します。
- D2Cオプションを表示するには、少なくとも1つの支払いプロバイダーを接続し、プレイヤーに適用するルーティング ルールを追加します。
アプリケーションからの購入の開始
購入を開始し、購入オプションUIを表示するには、販売するリストのでのを呼び出します。は、プレイヤーが購入する特定のリストを識別します。1 つの製品に複数のリストを定義していない場合、は製品の SKU と一致します。詳細については、製品とカタログリストを参照してください。
catalogListingIdIPaymentOptionProviderShowPurchaseOptioncatalogListingIdcatalogListingIdGetPaymentOptionProviderUGUI()IPaymentProvidersExtendedServiceIPaymentOptionProviderGetPaymentOptionProviderUITK()public async void BuyProduct(string catalogListingId){ // Show the Purchase Options UI with the payment options the player is eligible for. await m_PaymentOptionProvider.ShowPurchaseOption(catalogListingId);}
プレイヤーが購入を完了すると、SDK が コールバックを呼び出すため、注文を処理できます。購入を完了して確認する方法については、SDK での購入を完了 を参照してください。
OnPurchasePendingUI を表示する前に適格性を確認する
Unity は、購入オプションの UI が表示される前にコンプライアンスまたは適格性ルールを評価しません。D2Cの支払い資格がないプレイヤーにUIを表示して、後でコンプライアンス チェックでが返された場合、購入は失敗します。
falseこれを回避するには、まず で を呼び出します。プレイヤーが適格でない場合は、UIを表示する代わりに、を呼び出してネイティブ ストア経由で購入を処理します。
IPaymentProvidersExtendedServiceIsUserEligibleForPurchasePurchaseProductvar m_PaymentProviderStoreController = new StoreController(PaymentProvider.Name);var m_PaymentProviderStoreExtendedService = m_PaymentProviderStoreController.PaymentProviderStoreExtendedService;// Obtain the Payment Option Provider.プロジェクトで UI Toolkit を使用する場合は、GetPaymentOptionProviderUITK を使用します。var m_PaymentOptionProvider = m_PaymentProviderStoreExtendedService?.GetPaymentOptionProviderUGUI();public async void BuyProduct(string catalogListingId){ if (await m_PaymentProviderStoreExtendedService.IsUserEligibleForPurchase()) { // Show the Purchase Options UI with the eligible payment options. m_PaymentOptionProvider.ShowPurchaseOption(catalogListingId); } else { // The player isn't eligible for D2C payment options.ネイティブ購入を直接処理します。 m_PaymentProviderStoreController.PurchaseProduct(catalogListingId); }}
購入オプション UI に表示されるもの

購入オプション UI には、以下のソースから構成されている、一度に 2 つから 3 つの支払いオプションが表示されます。
- ネイティブ (Apple App Store または Google Play ストア)。常に存在します。
- ルーティング ルールを通じて表示される支払いプロバイダー。UI には、優先度が最も高い適格プロバイダーが表示されます。残りのプロバイダーはフォールバックとして機能し、表示されません。
- Webshop エントリー ポイント。プロジェクトに Unity Webshop が設定され、ルーティング ルールによってゲーム内 Webshop 表示がオプト インされた場合に表示されます。
UI は、現在の購入を完了させる支払いオプションをウェブショップのエントリーから切り離し、プレイヤーにより多くのプロダクトを閲覧するよう促します。ライトとダークモード、および縦向きと横向きの両方をサポートします。
インセンティブ
ボーナス値、セール価格、期間限定オファーなど、支払いプロバイダーまたはWebshopオプションのインセンティブを設定すると、購入オプションのUIに表示されます。カタログの SKU フィールドを使用してインセンティブを設定します。購入オプション UI とウェブショップの両方に同じ SKU が表示される場合、その UI では一貫した視覚的な扱いが使用されるため、プレイヤーは同じインセンティブであると認識します。
プロバイダー メモリ
プレイヤーが購入に成功すると、SDKはそのデバイスで使用したプロバイダーを記録します。それ以降の購入では、UI でそのプロバイダーがデフォルトアクションとして表示され、他の使用可能なプロバイダーは維持されます。プレイヤーは常に別のプロバイダーを選択できます。
ビルドの UI の無効化
ShowPurchaseOption独自の購入UIをビルド
購入オプションのUIは任意です。独自のインターフェースを提供するには、SDKを通じて直接ルーティング出力を使用し、デフォルトUIをスキップします。
- を呼び出して、プレイヤーが適格であるプロバイダーの順序付きリストを取得します。
IPaymentProvidersExtendedService.GetEligiblePaymentProviders() - を呼び出して、特定のプロバイダーに購入を強制します。
IPaymentProvidersExtendedPurchaseService.SetPaymentProviderOverride(string)
詳細については、「 コードのオーバーライド 」を参照してください。
地域ごとの可用性
購入オプションのUIは、米国や日本など、プラットフォーム プログラムでネイティブとD2Cの支払いオプションを並べて表示できる地域向けに設計されています。EU や韓国など、外部のみのプレゼンテーションが必要な地域では、国ごとに UI を無効にし、プレゼンテーションレイヤーを自分でハンドルします。
次のステップ
このページは、IAPによるD2C(ダイレクト ツー コンシューマー)支払いプロバイダーを設定するワークフローの一部です。このワークフローを続行するには、以下のオプションのいずれかを選択します。