フォールバックフロー
スムーズなユーザー体験を維持するために、フローのフォールバックバージョンを設定しておくことが重要です。
アプリがフローをリクエストすると、Adapty SDK はサーバーに接続してその設定を取得しようとします。デバイスが Adapty に接続できない場合(ネットワーク障害やサーバー停止など)、SDK はローカルデータにフォールバックします。
- ユーザーがすでにそのフローを一度見たことがある場合、SDK はキャッシュされたコピーを表示します。
- キャッシュが存在しない場合、SDK はアプリにバンドルされたフォールバック設定ファイルを読み込みます。
Adapty はこれらのフォールバックファイルを自動的に生成します。フローのフォールバックバンドルはペイウォールと共有されており、プラットフォームごとの単一の JSON ファイルに両方のフォールバックバリアントが含まれています。SDK は必要なセクションを読み込みます。
フローのフォールバックは Adapty SDK 4.0 以降のバンドルに含まれています。ダウンロードダイアログで古い SDK バージョンを選択した場合、ファイルにはペイウォールとオンボーディングのバリアントのみが含まれており、フローは含まれません。フローのフォールバックを利用する前に、アプリがフロー対応の SDK リリースを使用していることを確認してください。
始める前に
- フロービルダーでフローを作成します。
- フロー用のプレースメントを作成します。
フォールバックファイルのダウンロード
- Placements ページを開きます。
- 右上の Fallbacks ボタンをクリックします。
- ドロップダウンからターゲットプラットフォームを選択します。
- アプリに組み込んでいる SDK バージョンに合ったものを選びます。フローを含むバンドルを受け取るには、Adapty SDK v4.0.0 and higher(またはそれ以降のオプション)を選択してください。
ブラウザがプラットフォームごとの JSON ファイル(例:ios_4_0_0_fallback.json)をダウンロードします。
フローフォールバックエントリの例(クリックして展開)
"PLACEMENT_ID": {
"data": [
{
"developer_id": "PLACEMENT_ID",
"variation_id": "cb1c0ef8-aecd-4a53-a6f3-b98266e66884",
"flow_id": "daf25858-3fa2-4981-8500-9c8a30e5b7e6",
"flow_name": "FLOW_NAME",
"flow_version_id": "FLOW_VERSION_ID",
"placement_audience_version_id": "a9eb3ab8-3178-477d-84d4-ef9d3978e48b",
"audience_name": "All Users",
"ab_test_name": "",
"cross_placement_info": null,
"weight": 100,
"variations": [
{
"variation_id": "cb1c0ef8-aecd-4a53-a6f3-b98266e66884",
"paywall_id": "PAYWALL_ID",
"paywall_name": "PAYWALL_NAME",
"ab_test_name": "",
"products": [],
"revision": 1,
"custom_payload": null,
"weight": 100
}
],
"remote_configs": []
}
],
"meta": {
"placement": {
"developer_id": "PLACEMENT_ID",
"is_tracking_purchases": true,
"audience_name": "All Users",
"placement_audience_version_id": "a9eb3ab8-3178-477d-84d4-ef9d3978e48b",
"revision": 0,
"ab_test_name": ""
}
}
}正確な構造は SDK バージョンによって異なる場合があります。手動で作成するのではなく、必ず Adapty が生成したファイルをご使用ください。
ダウンロード後の手順
ファイルをアプリのコードに追加し、プラットフォーム固有のセットアップガイドに従ってください。ペイウォールのフォールバックを読み込む API は、アプリがフロー対応 SDK リリースになった時点でフローのフォールバックも読み込みます。
制限事項
フォールバックフローはハードコードされてローカルに保存されるため、ライブフローの完全な動的機能は利用できません。
- プレースメントごとに 1 つのバリアント。 プレースメントに複数のフロー(異なるオーディエンス、A/B テストのバリアント)がある場合、フォールバックファイルは最も高いウェイトを持つバリアント、または最も広いオーディエンスのバリアントを使用します。
- A/B テストなし。 ライブフローの A/B テストはサーバー側で解決されますが、フォールバックは常に単一の選択されたバリアントを表示します。
- リモート更新なし。 フォールバックを更新するには新しいアプリのリリースが必要です。リモートコンフィグで通常行うような実行時の更新は、ライブフローを通じて行ってください。
- デフォルトロケールのみ。 フォールバックは
enロケールを使用します。ローカライズされたバリアントはバンドルされません。