ドキュメント

​
​

Development

User Acquisition

Monetization

産業

In-App Purchasing

IAP Client API

IAP SDK API

Webshop Admin API

Webshop Client API

In-App Purchasing

LiveOps
​
​
使用の準備
  • 概要
  • IAP の概要
  • IAP v5の新機能
  • IAP v4からv5へのアップグレード
コンシューマー (D2C)への直接支払い
  • コンシューマー (D2C)支払いプロバイダーへの直接送信
ウェブショップ
  • 概要
  • 使用の準備
  • ビルドと公開
  • 設定
  • ゲームに接続
  • 管理
  • Webshop のトラブルシューティング
プラットフォームネイティブ
  • プラットプラットフォームネイティブの IAP の設定
  • Codeless IAP
    • Codeless IAP の設定
    • Codeless IAP ボタン設定
カタログとストア管理
  • 製品カタログの作成
    • カタログとカタログリスト
    • カタログスキーマ
    • エディターでカタログを作成する
    • IAP Catalog ウィンドウ リファレンス
    • プログラムでカタログを作成する
    • リモートカタログの作成
    • ダッシュボードでのカタログの管理
    • Codeless IAP
      • Codeless IAP button configuration
    • ストア
    • 購入 /Purchases
    • レシート検証
    • 購入の復元
  • サポートされているストア
  • リファレンス
購入 /Purchases
  • 購入管理とフルフィルメント
IAP パフォーマンスの監視
  • 概要
  • IAP収益パフォーマンス
  • D2C パフォーマンス
プライバシー
  • プライバシーと同意
  1. Unity アプリ内課金

Codeless IAP の設定ボタン

Codeless IAP ボタンと IAP リスナーを設定して使用すると、複雑なコードを書かずにアプリケーション内課金を有効にし、購入を復元できます。
読み終わるまでの所要時間 8 分
最終更新 2ヶ月前

Codeless IAPボタンを使用すると、最小限のスクリプトでアプリケーション内課金と復元ボタンを簡単に設定できます。IAP ボタンを使用して、購入および復元機能を UI ボタンに直接追加します。このアプローチは、ユーザーがアプリケーション内で製品を購入または復元するためのシンプルな方法を提供します。

OnProductFetched を使用して製品の詳細を更新

Unity Iap は、アプリケーション ストアから製品情報を取得するときに
OnProductFetched
イベントを発生させます。タイトル、説明、価格など、UI内の製品に関連するすべてのテキストをこのイベントで更新してください。
OnProductFetched
スクリプトの例:
ヒント
以下のようなスクリプトを
IAPButton
に追加して、さまざまなビューをこのイベントにリンクします。
public class IAPButtonView : MonoBehaviour{ [SerializeField] TMP_Text title; [SerializeField] TMP_Text price; public void OnProductFetched(Product product) { if (title != null) { title.text = product.metadata.localizedTitle; } if (price != null) { price.text = product.metadata.localizedPriceString; } }}

IAP リスナー

Codeless IAP は通常、成功と失敗の購入イベントをシーン内のアクティブな IAP ボタンコンポーネントに送信します。ただし、IAP ボタンの使用は現実的ではありません。例えば、購入処理が中断されて完了しなかった場合、Unity Iap は次回の初期化時 (通常はアプリケーション起動直後で、IAP ボタンがまだ初期化されていない場合) に購入処理を再度試行します。このような場合は、IAP Listener コンポーネントを使用できます。IAP リスナーは、IAP ボタンで処理できない購入イベントを受信し、すべての購入が正しく処理されるようにします。IAP リスナーをシーンに追加して、これらのイベントを自動的にハンドルします。
注
複製応答を避けるために、IAP リスナーによって処理されるイベントが同じ製品の IAP ボタンによってサブスクライブされていないことを確認してください。
IAP リスナーを追加するには、次の手順を実行します。
  1. Unity エディターで、[Services]> [アプリ内課金]> [Create IAP Listener] を選択します。
  2. 手順に従って、購入処理スクリプトをゲームオブジェクトコンポーネントとして作成します。詳細については、購入処理 を参照してください。
  3. 階層リストから IAP Listener を選択し、Inspector でその IAP Listener スクリプトコンポーネントを探します。次に、+ を選択して、On Purchases Fetched (Orders) と **On Order Pending (**PendingOrder) の機能を追加します。
    • On Order Pending はすべての新規トランザクションを処理し、個々の
      PendingOrder
      に対して実行されます。
    • On Purchases Fetched は、既存のすべてのトランザクションを処理し、すべてのアクティブな Pending、Confirmed、およびディファードトランザクションを含む
      Orders
      オブジェクトで呼び出されます。
  4. 購入処理スクリプトを持つゲームオブジェクトをコンポーネントの Inspector のイベントフィールドにドラッグし、ドロップダウンメニューから機能を選択します。

復元ボタン

Apple App Store などの一部のアプリケーション ストアでは、アプリケーションに復元ボタンが必要です。Codeless IAPは、アプリケーションに復元ボタンを実装する簡単な方法を提供します。
復元ボタンを追加するには、次の手順を実行します。
  1. シーンに IAP ボタンを追加します([Services]> [アプリ内課金]> [Create IAP ボタン)。
  2. IAP ボタンを選択した状態で、Inspector で IAP ボタンコンポーネントを探します。
    1. 「ボタンの種類」ドロップダウンメニューで、「復元」を選択します。Inspector ウィンドウが更新され、復元 ボタンに関連するフィールドのみがディスプレイされます。
  3. 任意: プラス(+)ボタンを選択して、
    On Transactions Restored (Boolean, String)
    にスクリプトを追加します。
    1. トランザクション復元スクリプトを持つゲームオブジェクトをコンポーネントの Inspector のイベントフィールドにドラッグし、ドロップダウンから機能を選択します。
public void OnTransactionsRestored(bool success, string? error){ Debug.Log($"TransactionsRestored: {success} {error}");}
ユーザーがランタイムにこのボタンを選択すると、現在のストアの購入復元 API が呼び出されます。Apple App Store では、これは Apple のビルトイン復元または同期フローをトリガーします。 google play では、復元は IAP 初期化の一部です。ランタイムの追加復元呼び出しで結果が得られることはほとんどありません。
Unity Iap は常に Restore IAP ボタンで
OnTransactionsRestored
メソッドを実行し、復元が失敗した場合は結果と関連するエラー メッセージを表示します。
トランザクションが正常に復元されると、Unity Iap は製品にリンクされた IAP ボタンの
OnPurchaseFetched
コールバック、または IAP Listener コンポーネントの
OnPurchasesFetched
コールバックを呼び出します。
public void OnOrderPending(PendingOrder order){ foreach (var cartItem in order.CartOrdered.Items()) { var product = cartItem.Product; // grant purchase... }}public void OnPurchasesFetched(Orders existingOrders){ Foreach (existOrders.ConfirmedOrders の var order) { foreach (var cartItem in order.CartOrdered.Items()) { var product = cartItem.Product; // grant access... } }}

Copyright © 2026 Unity Technologies
法規事項プライバシーポリシークッキーDocumentation Terms of Use私の個人情報を販売または共有しないプライバシーに関する選択 (クッキー設定)

"Unity" の名称、Unity のロゴ、およびその他の Unity の商標は、米国およびその他の国における Unity Technologies またはその関係会社の商標または登録商標です (詳しくはこちら)。その他の名称またはブランドは該当する所有者の商標です。

一部のページは利便性向上のため機械翻訳を使用しており、内容に不正確な表現が含まれる場合があります。内容に齟齬または不一致が生じた場合は、英語版を正本とします。

  • このページ
    • OnProductFetched を使用して製品の詳細を更新

    • IAP リスナー

    • 復元ボタン


このページの問題を報告する