备用流程
为了保持流畅的用户体验,为你的流程设置备用版本非常重要。 当您的应用请求流程时,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(或更高版本选项),以获取包含 flows 的资源包。
浏览器将按平台下载一个 JSON 文件,例如 ios_4_0_0_fallback.json。
示例 flow 备用条目(点击展开)
"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 为您的 SDK 版本生成的文件,而不是手动编写。
下载后
将文件添加到您的应用代码中,然后按照对应平台的配置指南操作。加载付费墙备用文件的 API 同样适用于加载流程备用文件,前提是您的应用已升级到支持流程的 SDK 版本:
限制
备用流程是硬编码并本地存储的,因此不具备实时流程的完整动态能力:
- 每个版位仅一个变体。 如果某个版位有多个流程(不同目标受众或 A/B 测试变体),备用文件将使用权重最高或受众范围最广的那个变体。
- 不支持 A/B 测试。 线上流程的 A/B 测试由服务器解析;备用方案始终只提供单个选定的变体。
- 不支持远程更新。 更新备用文件需要发布新版本应用。如需运行时更新,请改用线上流程通过远程配置推送。
- 仅支持默认语言。 备用方案使用
en语言环境,不包含本地化变体。