フォールバックフロー
スムーズなユーザー体験を維持するために、フローのフォールバックバージョンを設定することが重要です。 アプリケーションがフローをリクエストすると、Adapty SDK はサーバーに接続してその設定を取得します。デバイスが Adapty に到達できない場合(ネットワーク障害やサーバー障害など)、SDK はローカルデータにフォールバックします:
- ユーザーがすでに一度フローを表示したことがある場合、SDK はキャッシュされたコピーを提供します。
- キャッシュが存在しない場合、SDK はアプリにバンドルされたフォールバック設定ファイルを読み込みます。
Adapty はこれらのフォールバックファイルを自動的に生成します。フローのフォールバックバンドルはペイウォールと共有されており、プラットフォームごとに 1 つの JSON ファイルに両方のフォールバックバリアントが含まれています。SDK は必要なセクションを読み取ります。
フローのフォールバックは Adapty SDK 4.0以上 のバンドルに含まれています。ダウンロードダイアログで以前のSDKバージョンを選択した場合、ファイルにはペイウォールとオンボーディングのバリエーションのみが含まれ、フローは含まれません。フローのフォールバックを使用する前に、アプリがフロー対応のSDKリリースを使用していることを確認してください。
始める前に
- フロービルダーでフローを作成します。
- フロー用のプレースメントを作成します。
フォールバックファイルのダウンロード
- Placements ページを開きます。
- 右上の Fallbacks ボタンをクリックします。
- ドロップダウンからターゲットプラットフォームを選択します。
- アプリに組み込まれているSDKのバージョンに合った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のバージョンによって正確な形式は異なる場合があります。手動で作成するのではなく、常に使用しているSDKバージョン向けにAdaptyが生成したファイルを使用してください。
ダウンロード後の作業
ファイルをアプリのコードに追加したら、各プラットフォームのセットアップガイドに従ってください。ペイウォールのフォールバックを読み込む API は、アプリがフロー対応の SDK バージョンに移行した後、フローのフォールバックも同様に読み込みます。
制限事項
フォールバックフローはハードコードされてローカルに保存されるため、ライブフローの完全な動的機能は利用できません。
- プレースメントごとに1バリアント。 プレースメントに複数のフロー(異なるオーディエンス、A/B テストバリアント)がある場合、フォールバックファイルは最もウェイトが高いか、最もオーディエンスが広いバリアントを使用します。
- A/B テストなし。 ライブフローの A/B テストはサーバー側で解決されます。フォールバックは常に選択された単一のバリアントを提供します。
- リモート更新なし。 フォールバックを更新するには新しいアプリリリースが必要です。リモートコンフィグで行う予定の実行時更新は、ライブフローを通じて反映してください。