オブザーバーモードでフローを表示する - Unity
オブザーバーモードを使用する場合、購入ロジックはご自身で管理する必要があります。ただし、ペイウォールUIはフロー&ペイウォールビルダーに委任できます。
Adapty SDKがビルダーで設計した画面をネイティブにレンダリングします。アプリのリリースなしに、コピー、レイアウト、価格をいつでも更新できます。
このガイドでは、フローを表示し、購入のコールバックを処理する方法を説明します。Adaptyが購入を完了する場合は、代わりにフロー & ペイウォールの表示を参照してください。
始める前に
以下が必要です。
- Adapty Unity SDK 4.1 以降: それ以前のバージョンはフローをレンダリングできません。既存アプリを移行する場合は、移行ガイドを参照してください。
- 設定ビルダーで
SetObserverMode(true)を呼び出す: Unity SDK インストールガイドを参照してください。 - ストアの初期連携: App Store との連携および Google Play との連携を設定してください。
- プロダクトが割り当てられた公開済みフロー: フロー & ペイウォールビルダーで作成し、プロダクトを割り当ててください。
- フローのプレースメント: プレースメントを作成し、フローを割り当ててください。
- アプリ内でフェッチされたフロー: 表示する前にフローとその設定を取得してください。
実装
Observerモードでは、SDKは購入処理を行いません。ユーザーがAdaptyでレンダリングされたフロー内の購入ボタンまたは復元ボタンをタップすると、SDKはあなたのIAdaptyUIObserverModeResolverを呼び出します。購入や復元の処理は、そこで独自のコードで実装してください。
-
IAdaptyUIObserverModeResolverインターフェースを実装します:using System; using AdaptySDK; public class MyObserverModeResolver : IAdaptyUIObserverModeResolver { public void FlowViewDidInitiatePurchase( AdaptyUIFlowView view, AdaptyPaywallProduct product, Action onStartPurchase, Action onFinishPurchase ) { onStartPurchase(); // the view shows its loading indicator // make the purchase with your own code, // then report the transaction to Adapty and call: onFinishPurchase(); // the view hides the loading indicator } public void FlowViewDidInitiateRestore( AdaptyUIFlowView view, Action onStartRestore, Action onFinishRestore ) { onStartRestore(); // restore purchases with your own code, then: onFinishRestore(); } }
FlowViewDidInitiatePurchase メソッドは、ユーザーが購入を開始したことを通知し、FlowViewDidInitiateRestore はユーザーがリストアを開始したことを通知します。これらに応じて、カスタムの購入フローまたはリストアフローをトリガーしてください。
また、購入またはリストアのプロセスを AdaptyUI に通知するために、以下のコールバックを必ず呼び出してください。これは、ローダーの表示など、フローを適切に動作させるために必要です。
| コールバック | 説明 |
|---|---|
| onStartPurchase() | 購入が開始されたことを AdaptyUI に通知するために呼び出すコールバックです。 |
| onFinishPurchase() | 購入が完了したことを AdaptyUI に通知するために呼び出すコールバックです。 |
| onStartRestore() | 復元が開始されたことを AdaptyUI に通知するために呼び出すコールバックです。 |
| onFinishRestore() | 復元が完了したことを AdaptyUI に通知するために呼び出すコールバックです。 |
フローはコードの実行中も開いたままです。購入またはリストアが成功したら、ご自身でフローを閉じてください。
-
画面を表示する前にリゾルバーを登録してください:
Adapty.SetObserverModeResolver(new MyObserverModeResolver());リゾルバーが登録されていない場合、フロービューはコードに購入処理を渡すことができず、ユーザーが購入ボタンをタップしても何も起きません。
-
フローのビューをいつも通り作成・表示します: フローを取得してビューを作成し、表示します。追加のパラメーターは不要です — リゾルバーを登録すると、Adaptyがレンダリングするすべてのフローの購入と復元がそのリゾルバーを通じて処理されます。
トランザクションを報告してペイウォールと紐付けることを忘れないでください。これを行わないと、Adaptyはトランザクションを認識できず、購入元のペイウォールを特定できません。