オブザーバーモードでフローを表示する - Unity

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

Adapty SDKがビルダーで設計した画面をネイティブにレンダリングします。アプリのリリースなしに、コピー、レイアウト、価格をいつでも更新できます。

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

始める前に

以下が必要です。

実装

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

  1. 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 に通知するために呼び出すコールバックです。

フローはコードの実行中も開いたままです。購入またはリストアが成功したら、ご自身でフローを閉じてください。

  1. 画面を表示する前にリゾルバーを登録してください:

    Adapty.SetObserverModeResolver(new MyObserverModeResolver());

    リゾルバーが登録されていない場合、フロービューはコードに購入処理を渡すことができず、ユーザーが購入ボタンをタップしても何も起きません。

  2. フローのビューをいつも通り作成・表示します: フローを取得してビューを作成し表示します。追加のパラメーターは不要です — リゾルバーを登録すると、Adaptyがレンダリングするすべてのフローの購入と復元がそのリゾルバーを通じて処理されます。

Warning

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