FlutterのObserverモードでフローを表示する

Observerモードを使用する場合、購入ロジックはご自身で管理する必要があります。ただし、ペイウォールのUIはフロー & ペイウォールビルダーに委任できます。

ビルダーでスクリーンをデザインすれば、Adapty SDK がネイティブにレンダリングします。コピー、レイアウト、価格はいつでも更新でき、アプリのリリースは不要です。

このガイドでは、フローの表示と購入コールバックの処理方法を説明します。Adapty が購入を代わりに処理する場合は、フローとペイウォールの表示をご覧ください。

始める前に

必要なもの:

実装

Observerモードでは、SDKは購入処理を行いません。ユーザーがAdaptyでレンダリングされたフロー内の購入ボタンまたは復元ボタンをタップすると、SDKはあなたのAdaptyUIObserverModeResolverを呼び出します。そこで独自のコードを使って購入や復元を実行してください。

  1. 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 に通知するために呼び出すコールバックです。
  1. スクリーンを表示する前にリゾルバを登録します:

    AdaptyUI().setObserverModeResolver(MyObserverModeResolver());
  2. 通常通りフロービューを作成して表示します: フローを取得してビューを作成し、表示します。追加のパラメーターは不要です — リゾルバが登録されると、Adaptyがレンダリングするすべてのフローで購入とリストアがそこを経由するようになります。

Warning

トランザクションを報告してペイウォールと紐付けることを忘れないでください。これを行わないと、Adapty はトランザクションを認識できず、購入元のペイウォールを特定できません。