フローとペイウォールの表示 - Android

Display flows and paywalls
フロー Flow Builder で作成——デバイス上でネイティブにレンダリングされ、WebView は不要
Paywall Builder のペイウォール 既存のすべての Paywall Builder コンテンツ

フローまたはペイウォールを作成した場合、それをユーザーに表示するためにモバイルアプリのコードでレンダリングを実装する必要はありません。フローやペイウォールには、表示するコンテンツとその表示方法の両方が含まれています。

このガイドでは、Adapty がレンダリングするフローと新しいペイウォールビルダーのペイウォールについて説明します。リモートコンフィグのペイウォールや Observer モード の場合は、手順が異なります。

以下で使用する flowConfiguration オブジェクトの取得方法については、フローとペイウォールの取得を参照してください。

リクエストパラメータ:

パラメータ必須/任意説明
flowConfiguration必須フローのビジュアル詳細を含む AdaptyUI.FlowConfiguration オブジェクトを指定します。AdaptyUI.getFlowConfiguration(flow) メソッドを使って読み込んでください。詳細は ビュー設定の取得 をご参照ください。
products任意画面上のプロダクトの表示タイミングを最適化するために AdaptyPaywallProduct の配列を指定します。null を渡すと、AdaptyUI が必要なプロダクトを自動的に取得します。
eventListener任意フローイベントを監視するために AdaptyFlowEventListener を指定します。使いやすさの観点から AdaptyFlowDefaultEventListener を拡張することを推奨します。詳細は フロー & ペイウォールイベントの処理 をご参照ください。
insets任意

インセットは、タップ可能な要素がシステムバーの裏に隠れないようにするためのフロー周囲のスペースです。

デフォルト: Unspecified。この場合、Adapty が自動的にインセットを調整します。エッジツーエッジのフローでは適切に機能します。

フローがエッジツーエッジでない場合は、カスタムインセットを設定することを検討してください。設定方法については、以下の フローインセットの変更 セクションをご参照ください。

customAssets任意AdaptyCustomAssets オブジェクトを渡すことで、実行時にフローやペイウォール内の画像や動画を置き換えられます。詳細は アセットのカスタマイズ をご参照ください。
tagResolver任意フローのテキスト内のカスタムタグを解決するには AdaptyUiTagResolver を使用します。このリゾルバーはタグパラメータを受け取り、対応する文字列に解決します。詳細はペイウォールビルダーのカスタムタグのトピックをご参照ください。
timerResolver任意カスタムタイマー機能を使用する場合は、ここにリゾルバーを渡してください。

Adapty SDK がモバイルアプリにどのように統合されているか、実際の例を見てみませんか?ペイウォールの表示、購入処理、その他の基本機能を含む完全なセットアップを実演しているサンプルアプリをご覧ください。

フローのインセットを変更する

インセットとは、フローの周囲の余白のことで、タップ可能な要素がシステムバーの後ろに隠れないようにするためのものです。デフォルトでは Adapty がインセットを自動的に調整するため、エッジツーエッジのフローでも問題なく機能します。

フローがエッジツーエッジでない場合は、カスタムインセットを設定することをお勧めします。

  • ステータスバーとナビゲーションバーのどちらも AdaptyFlowView と重ならない場合は、AdaptyFlowInsets.None を使用してください。
  • フローが上部のステータスバーとは重なるが下部とは重ならないといった複雑な設定の場合は、以下の例のように bottomInset のみを 0 に設定できます。

開発者定義タイマーを使用する

モバイルアプリで開発者定義タイマーを使用するには、timerResolver オブジェクトを作成します。これは、カスタムタイマーとフローのレンダリング時に置き換えられる文字列値をペアにした辞書またはマップです。以下に例を示します。

この例では、CUSTOM_TIMER_NY は Adapty ダッシュボードで設定した開発者定義タイマーの Timer ID です。timerResolver により、アプリは正しい値(例:New Year’s Day などのタイマー終了時刻から現在時刻を引いて計算した 13d 09h 03m 34s)でタイマーを動的に更新します。

カスタムタグを使用する

モバイルアプリでカスタムタグを使用するには、tagResolver オブジェクト(カスタムタグと、フロー描画時にそれらを置き換える文字列値のペアを持つ辞書またはマップ)を作成します。以下に例を示します。

この例では、USERNAME は Adapty ダッシュボードで <USERNAME/> として入力したカスタムタグです。tagResolver により、アプリはこのカスタムタグを John などの指定した値に動的に置き換えます。

tagResolver はフローを表示する直前に作成・設定することをおすすめします。準備ができたら、フローの表示に使用する AdaptyUI メソッドに渡してください。

フローの読み込みインジケーターの色を変更する

次の方法で、読み込みインジケーターのデフォルトカラーをオーバーライドできます。


<style name="AppTheme" parent="android:Theme.Material.Light.NoActionBar">

    <item name="adapty_progressIndicatorColor">@color/yourColor</item>
</style>

ペイウォールビルダーを使ってペイウォールをカスタマイズした場合、モバイルアプリのコード内でそのペイウォールをレンダリングしてユーザーに表示する処理は不要です。このようなペイウォールには、表示するコンテンツと表示方法の両方が含まれています。

このガイドは、SDK v3.0 が必要な新しいペイウォールビルダーのペイウォール専用です。ペイウォールの表示方法は、異なるバージョンのペイウォールビルダーで設計されたペイウォール、リモートコンフィグペイウォール、およびオブザーバーモードによって異なります。

以下で使用する viewConfiguration オブジェクトの取得方法については、ペイウォールビルダーのペイウォールと設定の取得を参照してください。

リクエストパラメーター:

パラメータ必須/任意説明
viewConfiguration必須ペイウォールのビジュアル情報を含む AdaptyUI.LocalizedViewConfiguration オブジェクトを指定します。取得には Adapty.getViewConfiguration(paywall) メソッドを使用してください。詳しくは ペイウォールのビジュアル設定の取得 をご覧ください。
products任意画面上のプロダクト表示タイミングを最適化するために AdaptyPaywallProduct の配列を指定します。null を渡した場合、AdaptyUI が必要なプロダクトを自動的に取得します。
eventListener任意ペイウォールのイベントを監視するために AdaptyUiEventListener を指定します。使いやすさの観点から、AdaptyUiDefaultEventListener を継承することを推奨します。詳しくは ペイウォールイベントの処理 をご覧ください。
insets任意

インセットは、タップ可能な要素がシステムバーの後ろに隠れないようにするためのペイウォール周囲のスペースです。

デフォルト値は UNSPECIFIED で、Adapty がインセットを自動調整します。これはエッジツーエッジのペイウォールに最適です。

ペイウォールがエッジツーエッジでない場合は、カスタムインセットを設定することをお勧めします。設定方法については、以下の ペイウォールインセットの変更 セクションをご覧ください。

personalizedOfferResolver任意パーソナライズされた価格表示(詳細)を示すには、AdaptyUiPersonalizedOfferResolver を実装し、AdaptyPaywallProduct に対してその価格がパーソナライズされている場合は true、そうでない場合は false を返す独自のロジックを渡します。
tagResolver任意ペイウォールテキスト内のカスタムタグを解決するには AdaptyUiTagResolver を使用します。このリゾルバはタグパラメータを受け取り、対応する文字列に変換します。詳しくはペイウォールビルダーのカスタムタグのトピックをご覧ください。
timerResolver任意カスタムタイマー機能を使用する場合は、ここにリゾルバを渡してください。

Adapty SDK がモバイルアプリにどのように統合されているか、実際の例を見てみませんか?ペイウォールの表示、購入処理、その他の基本機能を含む完全なセットアップを実演しているサンプルアプリをご覧ください。

ペイウォールのインセットを変更する

インセットとは、システムバーの裏側にタップ可能な要素が隠れないようにするための、ペイウォール周囲のスペースのことです。デフォルトでは、Adapty がインセットを自動的に調整します。これはエッジツーエッジのペイウォールではうまく機能します。

ペイウォールがエッジツーエッジでない場合は、カスタムインセットを設定することをお勧めします。

  • ステータスバーとナビゲーションバーの両方がAdaptyPaywallViewと重ならない場合は、AdaptyPaywallInsets.NONEを使用してください。
  • ペイウォールが上部のステータスバーとは重なるが下部とは重ならないといったカスタム設定の場合は、以下の例のようにbottomInsetのみを0に設定できます。

開発者定義タイマーを使用する

モバイルアプリで開発者定義タイマーを使用するには、timerResolver オブジェクトを作成します。これは、カスタムタイマーとペイウォールのレンダリング時に置き換えられる文字列値をペアにした辞書またはマップです。以下に例を示します:

この例では、CUSTOM_TIMER_NY は Adapty ダッシュボードで設定した開発者定義タイマーの Timer ID です。timerResolver により、アプリはタイマーを正しい値(例:13d 09h 03m 34s、元旦などのタイマー終了時刻から現在時刻を引いた値)で動的に更新できます。

カスタムタグを使う

モバイルアプリでカスタムタグを使用するには、tagResolver オブジェクト(カスタムタグとペイウォール表示時に置換される文字列値を対応付けるディクショナリまたはマップ)を作成します。以下に例を示します。

この例では、USERNAME は Adapty ダッシュボードで <USERNAME/> として入力したカスタムタグです。tagResolver によって、アプリがこのカスタムタグを John のような指定した値に動的に置き換えます。

tagResolver はペイウォールを表示する直前に作成・設定することをおすすめします。準備ができたら、ペイウォールを表示するために使用する AdaptyUI メソッドに渡してください。

ローディングインジケーターの色を変更する

ローディングインジケーターのデフォルト色は、以下の方法で上書きできます。


<style name="AppTheme" parent="android:Theme.Material.Light.NoActionBar">

    <item name="adapty_progressIndicatorColor">@color/yourColor</item>
</style>