ドキュメント

購入の開始

アプリケーションから購入を開始し、プレイヤーが購入オプションのUIで支払い方法を選択できるようにします。
読み終わるまでの所要時間 12 分最終更新 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 から購入を開始する前に、以下の手順を実行します。

アプリケーションからの購入の開始

購入を開始し、購入オプションUIを表示するには、販売するリストの
catalogListingId
で
IPaymentOptionProvider
の
ShowPurchaseOption
を呼び出します。
catalogListingId
は、プレイヤーが購入する特定のリストを識別します。1 つの製品に複数のリストを定義していない場合、
catalogListingId
は製品の SKU と一致します。詳細については、製品とカタログリストを参照してください。
GetPaymentOptionProviderUGUI()
を呼び出すことによって
IPaymentProvidersExtendedService
から
IPaymentOptionProvider
を取得します。プロジェクトで UI Toolkit が使用されている場合は
GetPaymentOptionProviderUITK()
を呼び出します。
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 が
OnPurchasePending
コールバックを呼び出すため、注文を処理できます。購入を完了して確認する方法については、SDK での購入を完了 を参照してください。

UI を表示する前に適格性を確認する

Unity は、購入オプションの UI が表示される前にコンプライアンスまたは適格性ルールを評価しません。D2Cの支払い資格がないプレイヤーにUIを表示して、後でコンプライアンス チェックで
false
が返された場合、購入は失敗します。
これを回避するには、まず
IPaymentProvidersExtendedService
で
IsUserEligibleForPurchase
を呼び出します。プレイヤーが適格でない場合は、UIを表示する代わりに、
PurchaseProduct
を呼び出してネイティブ ストア経由で購入を処理します。
var 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 に表示されるもの

「How would you like to pay?」というタイトルの Purchase Options UI には、+200 ボーナス バッジ、Pay with Stripe ボタン、Google Pay ボタン、「Remember my preference」チェックボックスを備えた Webshop オプションが表示されます。
購入オプション UI には、以下のソースから構成されている、一度に 2 つから 3 つの支払いオプションが表示されます。
  • ネイティブ (Apple App Store または Google Play ストア)。常に存在します。
  • ルーティング ルールを通じて表示される支払いプロバイダー。UI には、優先度が最も高い適格プロバイダーが表示されます。残りのプロバイダーはフォールバックとして機能し、表示されません。
  • Webshop エントリー ポイント。プロジェクトに Unity Webshop が設定され、ルーティング ルールによってゲーム内 Webshop 表示がオプト インされた場合に表示されます。
UI は、現在の購入を完了させる支払いオプションをウェブショップのエントリーから切り離し、プレイヤーにより多くのプロダクトを閲覧するよう促します。ライトとダークモード、および縦向きと横向きの両方をサポートします。

インセンティブ

ボーナス値、セール価格、期間限定オファーなど、支払いプロバイダーまたはWebshopオプションのインセンティブを設定すると、購入オプションのUIに表示されます。カタログの SKU フィールドを使用してインセンティブを設定します。購入オプション UI とウェブショップの両方に同じ SKU が表示される場合、その UI では一貫した視覚的な扱いが使用されるため、プレイヤーは同じインセンティブであると認識します。

ビルドの UI の無効化

ShowPurchaseOption
を呼び出す場合でも、特定のコンテキストで購入オプション UI を非表示にできます。UI が非表示になると、購入はネイティブにフォールバックします。例えば、独自の購入インターフェースを同梱しているなどの理由で、特定のビルドの UI をオフにするには、SDK 設定オプションを無効に設定します。ビルド時に UI を無効にすると、ダッシュボードの設定に関係なく、そのビルドでは実行されません。

独自の購入UIをビルド

購入オプションのUIは任意です。独自のインターフェースを提供するには、SDKを通じて直接ルーティング出力を使用し、デフォルトUIをスキップします。
  • IPaymentProvidersExtendedService.GetEligiblePaymentProviders()
    を呼び出して、プレイヤーが適格であるプロバイダーの順序付きリストを取得します。
  • IPaymentProvidersExtendedPurchaseService.SetPaymentProviderOverride(string)
    を呼び出して、特定のプロバイダーに購入を強制します。
詳細については、「 コードのオーバーライド 」を参照してください。

地域ごとの可用性

購入オプションのUIは、米国や日本など、プラットフォーム プログラムでネイティブとD2Cの支払いオプションを並べて表示できる地域向けに設計されています。EU や韓国など、外部のみのプレゼンテーションが必要な地域では、国ごとに UI を無効にし、プレゼンテーションレイヤーを自分でハンドルします。
注
一般に、購入オプションUIはD2C支払いプロバイダーを通じたサブスクリプション製品をサポートしておらず、ネイティブ ボタンのスタイルをカスタマイズすることはできません。

次のステップ

このページは、IAPによるD2C(ダイレクト ツー コンシューマー)支払いプロバイダーを設定するワークフローの一部です。このワークフローを続行するには、以下のオプションのいずれかを選択します。