FlutterのObserverモードでフローを表示する
Observerモードを使用する場合、購入ロジックはご自身で管理する必要があります。ただし、ペイウォールのUIはフロー & ペイウォールビルダーに委任できます。
ビルダーでスクリーンをデザインすれば、Adapty SDK がネイティブにレンダリングします。コピー、レイアウト、価格はいつでも更新でき、アプリのリリースは不要です。
このガイドでは、フローの表示と購入コールバックの処理方法を説明します。Adapty が購入を代わりに処理する場合は、フローとペイウォールの表示をご覧ください。
始める前に
必要なもの:
- Adapty Flutter SDK 4.0 以降: それ以前のバージョンはフローをレンダリングできません。既存アプリを移行するには、移行ガイドを参照してください。
observerModeをtrueに設定: Flutter SDK インストールガイドを参照してください。- ストアの初期連携: App Store との連携およびGoogle Play との連携を設定してください。
- プロダクトを含む公開済みフロー: フロー & ペイウォールビルダーで作成し、プロダクトを割り当ててください。
- フローのプレースメント: プレースメントを作成し、フローを割り当ててください。
- アプリ内でのフローの取得: 表示する前にフローとその設定を取得してください。
実装
Observerモードでは、SDKは購入処理を行いません。ユーザーがAdaptyでレンダリングされたフロー内の購入ボタンまたは復元ボタンをタップすると、SDKはあなたのAdaptyUIObserverModeResolverを呼び出します。そこで独自のコードを使って購入や復元を実行してください。
-
AdaptyUIObserverModeResolverを実装します。class MyObserverModeResolver extends AdaptyUIObserverModeResolver { @override void observerModeDidInitiatePurchase( AdaptyUIFlowView view, AdaptyPaywallProduct product, void Function() onStartPurchase, void Function() onFinishPurchase, ) { onStartPurchase(); // the view shows its loading indicator // make the purchase with your own code, then: onFinishPurchase(); // the view hides the loading indicator } @override void observerModeDidInitiateRestore( AdaptyUIFlowView view, void Function() onStartRestore, void Function() onFinishRestore, ) { onStartRestore(); // restore purchases with your own code, then: onFinishRestore(); } }
observerModeDidInitiatePurchase メソッドは、ユーザーが購入を開始したことを通知し、observerModeDidInitiateRestore はユーザーがリストアを開始したことを通知します。これらに応じて、カスタムの購入またはリストアフローをトリガーしてください。
また、購入やリストアのプロセスを AdaptyUI に通知するために、以下のコールバックを呼び出すことを忘れないでください。これは、ローダーの表示など、フローが正しく動作するために必要です:
| コールバック | 説明 |
|---|---|
| onStartPurchase() | 購入が開始されたことを AdaptyUI に通知するために呼び出すコールバックです。 |
| onFinishPurchase() | 購入が完了したことを AdaptyUI に通知するために呼び出すコールバックです。 |
| onStartRestore() | 購入の復元が開始されたことを AdaptyUI に通知するために呼び出すコールバックです。 |
| onFinishRestore() | 購入の復元が完了したことを AdaptyUI に通知するために呼び出すコールバックです。 |
-
スクリーンを表示する前にリゾルバを登録します:
AdaptyUI().setObserverModeResolver(MyObserverModeResolver()); -
通常通りフロービューを作成して表示します: フローを取得してビューを作成し、表示します。追加のパラメーターは不要です — リゾルバが登録されると、Adaptyがレンダリングするすべてのフローで購入とリストアがそこを経由するようになります。
トランザクションを報告してペイウォールと紐付けることを忘れないでください。これを行わないと、Adapty はトランザクションを認識できず、購入元のペイウォールを特定できません。