購入の開始
アプリケーションから購入を開始し、プレイヤーが購入オプションのUIで支払い方法を選択できるようにします。
読み終わるまでの所要時間 3 分最終更新 8日前
プレイヤーが製品を購入する場合は、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を表示するには、販売するリストのcatalogListingIdIPaymentOptionProviderShowPurchaseOptioncatalogListingIdcatalogListingIdGetPaymentOptionProviderUGUI()IPaymentProvidersExtendedServiceIPaymentOptionProviderGetPaymentOptionProviderUITK()プレイヤーが購入を完了すると、SDK が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);}
OnPurchasePendingUI を表示する前に適格性を確認する
Unity は、購入オプションの UI が表示される前にコンプライアンスまたは適格性ルールを評価しません。D2Cの支払い資格がないプレイヤーにUIを表示して、後でコンプライアンス チェックでfalseIPaymentProvidersExtendedServiceIsUserEligibleForPurchasePurchaseProductvar 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 に表示されるもの

- ネイティブ (Apple App Store または Google Play ストア)。常に存在します。
- ルーティング ルールを通じて表示される支払いプロバイダー。UI には、優先度が最も高い適格プロバイダーが表示されます。残りのプロバイダーはフォールバックとして機能し、表示されません。
- Webshop エントリー ポイント。プロジェクトに Unity Webshop が設定され、ルーティング ルールによってゲーム内 Webshop 表示がオプト インされた場合に表示されます。
インセンティブ
ボーナス値、セール価格、期間限定オファーなど、支払いプロバイダーまたはWebshopオプションのインセンティブを設定すると、購入オプションのUIに表示されます。カタログの SKU フィールドを使用してインセンティブを設定します。購入オプション UI とウェブショップの両方に同じ SKU が表示される場合、その UI では一貫した視覚的な扱いが使用されるため、プレイヤーは同じインセンティブであると認識します。プロバイダー メモリ
プレイヤーが購入に成功すると、SDKはそのデバイスで使用したプロバイダーを記録します。それ以降の購入では、UI でそのプロバイダーがデフォルトアクションとして表示され、他の使用可能なプロバイダーは維持されます。プレイヤーは常に別のプロバイダーを選択できます。ビルドの UI の無効化
ShowPurchaseOption独自の購入UIをビルド
購入オプションのUIは任意です。独自のインターフェースを提供するには、SDKを通じて直接ルーティング出力を使用し、デフォルトUIをスキップします。- を呼び出して、プレイヤーが適格であるプロバイダーの順序付きリストを取得します。
IPaymentProvidersExtendedService.GetEligiblePaymentProviders() - を呼び出して、特定のプロバイダーに購入を強制します。
IPaymentProvidersExtendedPurchaseService.SetPaymentProviderOverride(string)