Observerモードでフローを表示する - Kotlin Multiplatform
ビルダーを使ってフローやペイウォールをカスタマイズした場合、モバイルアプリのコードでレンダリングしてユーザーに表示する方法を気にする必要はありません。このようなフローやペイウォールには、表示する内容と表示方法の両方が含まれています。
このセクションはオブザーバーモードのみを対象としています。オブザーバーモードで作業していない場合は、フローとペイウォールの表示のトピックを参照してください。
この機能を使用するには、Adapty Kotlin Multiplatform SDK 4.0(ベータ版)以降が必要です。以前はネイティブの iOS および Android SDK でのみ利用可能でした。アップグレードするには移行ガイドをご参照ください。
フローの表示を開始する前に(クリックして展開)
- Adapty の初期連携を設定します(App Store との連携および Google Play との連携)。
2. Adapty SDK をインストールして設定します。設定ビルダーで
withObserverMode(true)を呼び出してください。Kotlin Multiplatform SDK インストールガイドを参照してください。 3. Adapty ダッシュボードでプロダクトを作成します。 4. ビルダーでフローまたはペイウォールを設定し、プロダクトを割り当てます。 5. プレースメントを作成し、フローまたはペイウォールを割り当てます。 6. モバイルアプリのコードでフローとその設定を取得します。
オブザーバーモードでは、SDKが代わりに購入処理を行うことはありません。ユーザーがAdaptyでレンダリングされたフローまたはペイウォールの購入ボタンや復元ボタンをタップすると、SDKはあなたのAdaptyUIObserverModeResolverを呼び出します。そちらで独自のコードを使って購入または復元を実行してください。
-
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 に通知するために呼び出すコールバックです。 |
フローは、コード実行中は開いたまま維持されます。購入またはリストアが成功したら、自分でフローを閉じてください。
-
画面を表示する前にリゾルバーを登録します:
import com.adapty.kmp.AdaptyUI AdaptyUI.setObserverModeResolver(MyObserverModeResolver())リゾルバーを登録しないと、フロービューは購入をコードに引き渡す手段がなく、ユーザーが購入ボタンをタップしても何も起こりません。
-
フローのビューを通常通り作成して表示します: フローを取得してビューを作成し、表示します。追加のパラメーターは不要です。リゾルバーを登録すると、Adapty がレンダリングするすべてのフローやペイウォールの購入とリストアがそこを通じてルーティングされます。
トランザクションを報告してペイウォールに関連付けることを忘れないでください。これを行わないと、Adapty がトランザクションを認識できず、購入元のペイウォールを特定できません。