Observerモードでフローを表示する - Kotlin Multiplatform

ビルダーを使ってフローやペイウォールをカスタマイズした場合、モバイルアプリのコードでレンダリングしてユーザーに表示する方法を気にする必要はありません。このようなフローやペイウォールには、表示する内容と表示方法の両方が含まれています。

このセクションはオブザーバーモードのみを対象としています。オブザーバーモードで作業していない場合は、フローとペイウォールの表示のトピックを参照してください。

この機能を使用するには、Adapty Kotlin Multiplatform SDK 4.0(ベータ版)以降が必要です。以前はネイティブの iOS および Android SDK でのみ利用可能でした。アップグレードするには移行ガイドをご参照ください。

フローの表示を開始する前に(クリックして展開)
  1. Adapty の初期連携を設定します(App Store との連携および Google Play との連携)。 2. Adapty SDK をインストールして設定します。設定ビルダーで withObserverMode(true) を呼び出してください。Kotlin Multiplatform SDK インストールガイドを参照してください。 3. Adapty ダッシュボードでプロダクトを作成します。 4. ビルダーでフローまたはペイウォールを設定し、プロダクトを割り当てます。 5. プレースメントを作成し、フローまたはペイウォールを割り当てます。 6. モバイルアプリのコードでフローとその設定を取得します。

オブザーバーモードでは、SDKが代わりに購入処理を行うことはありません。ユーザーがAdaptyでレンダリングされたフローまたはペイウォールの購入ボタンや復元ボタンをタップすると、SDKはあなたのAdaptyUIObserverModeResolverを呼び出します。そちらで独自のコードを使って購入または復元を実行してください。

  1. AdaptyUIObserverModeResolverインターフェースを実装します:

    import com.adapty.kmp.AdaptyUIObserverModeResolver
    import com.adapty.kmp.models.AdaptyPaywallProduct
    import com.adapty.kmp.models.AdaptyUIFlowView
    
    class MyObserverModeResolver : AdaptyUIObserverModeResolver {
        override fun observerModeDidInitiatePurchase(
            view: AdaptyUIFlowView,
            product: AdaptyPaywallProduct,
            onStartPurchase: () -> Unit,
            onFinishPurchase: () -> Unit
        ) {
            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
        }
    
        override fun observerModeDidInitiateRestore(
            view: AdaptyUIFlowView,
            onStartRestore: () -> Unit,
            onFinishRestore: () -> Unit
        ) {
            onStartRestore()
            // restore purchases with your own code, then:
            onFinishRestore()
        }
    }

observerModeDidInitiatePurchase メソッドはユーザーが購入を開始したことを通知し、observerModeDidInitiateRestore はユーザーがリストアを開始したことを通知します。これに応じて、カスタムの購入またはリストアフローをトリガーしてください。

また、購入またはリストアのプロセスについて AdaptyUI に通知するため、以下のコールバックを呼び出すことを忘れないでください。これは、ローダーの表示など、フローが正しく動作するために必要です。

コールバック説明
onStartPurchase()購入が開始されたことを AdaptyUI に通知するために呼び出すコールバックです。
onFinishPurchase()購入が完了したことを AdaptyUI に通知するために呼び出すコールバックです。
onStartRestore()復元が開始されたことを AdaptyUI に通知するために呼び出すコールバックです。
onFinishRestore()復元が完了したことを AdaptyUI に通知するために呼び出すコールバックです。

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

  1. 画面を表示する前にリゾルバーを登録します:

    import com.adapty.kmp.AdaptyUI
    
    AdaptyUI.setObserverModeResolver(MyObserverModeResolver())

    リゾルバーを登録しないと、フロービューは購入をコードに引き渡す手段がなく、ユーザーが購入ボタンをタップしても何も起こりません。

  2. フローのビューを通常通り作成して表示します: フローを取得してビューを作成し、表示します。追加のパラメーターは不要です。リゾルバーを登録すると、Adapty がレンダリングするすべてのフローやペイウォールの購入とリストアがそこを通じてルーティングされます。

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