在 Kotlin Multiplatform SDK 中获取用户引导
在 Adapty 看板中使用编辑工具完成用户引导的视觉设计之后,您可以在 Kotlin Multiplatform 应用中展示它。第一步是获取与版位关联的用户引导及其视图配置,具体步骤如下所示。
开始之前,请确认:
- 已安装 Adapty Kotlin Multiplatform SDK 3.15.0 或更高版本。
- 已创建用户引导。
- 已将用户引导添加到版位。
获取用户引导
当你使用我们的无代码编辑工具创建用户引导后,它会以容器的形式存储,其中包含应用需要获取并展示的配置信息。该容器负责管理整个体验——包括显示哪些内容、如何呈现,以及如何处理用户交互(如测验答案或表单输入)。容器还会自动追踪数据分析事件,无需单独实现视图追踪。
为了获得最佳性能,建议尽早获取用户引导配置,以便图片有足够的时间在展示给用户之前完成下载。
要获取用户引导,请使用 getOnboarding 方法:
Adapty.getOnboarding(
placementId = "YOUR_PLACEMENT_ID",
locale = "en",
fetchPolicy = AdaptyPaywallFetchPolicy.Default,
loadTimeout = 5.seconds
).onSuccess { paywall ->
// the requested paywall
}.onError { error ->
// handle the error
}
参数:
| 参数 | 是否必填 | 描述 |
|---|---|---|
| placementId | 必填 | 目标版位的标识符。此值为您在 Adapty 看板中创建版位时所指定的值。 |
| locale | 可选 默认值: | 用户引导本地化的标识符。该参数应为由一个或两个子标签通过减号(-)连接组成的语言代码。第一个子标签表示语言,第二个子标签表示地区。 示例: |
| fetchPolicy | 默认值:.reloadRevalidatingCacheData | 默认情况下,SDK 会尝试从服务器加载数据,若加载失败则返回缓存数据。我们推荐使用此选项,因为它能确保用户始终获取最新数据。 但如果您认为用户的网络环境不稳定,可以考虑使用 请注意,缓存在应用重启后依然保留,仅在应用卸载重装或手动清理时才会清除。 Adapty SDK 通过两层机制在本地存储用户引导:上述定期更新的缓存,以及备用用户引导。我们还使用 CDN 加速用户引导的获取,并设有独立的备用服务器以应对 CDN 不可用的情况。该系统旨在确保您始终获取最新版本的用户引导,同时在网络条件较差时也能保持可靠性。 |
| loadTimeout | 默认值:5 秒 | 该值限制此方法的超时时间。若超时,将返回缓存数据或本地备用数据。 请注意,在少数情况下,此方法的实际超时时间可能略晚于 |
响应参数:
| 参数 | 描述 |
|---|---|
| Onboarding | 一个 AdaptyOnboarding 对象,包含:用户引导标识符与配置、远程配置以及其他若干属性。 |
使用默认目标受众用户引导加速获取用户引导
通常情况下,用户引导的获取几乎是即时完成的,无需担心速度问题。但当您配置了大量目标受众和用户引导,且用户网络连接较差时,获取用户引导可能会比预期花费更长时间。在这种情况下,您可能希望展示一个默认用户引导,以确保流畅的用户体验,而不是什么都不显示。
要解决这个问题,您可以使用 getOnboardingForDefaultAudience 方法,该方法会获取指定版位中针对 All Users 目标受众的用户引导。但请务必了解,推荐的方式是通过 getOnboarding 方法来获取用户引导,详见上文的获取用户引导章节。
建议使用 getOnboarding 而非 getOnboardingForDefaultAudience,因为后者存在以下重要限制:
- 兼容性问题:在支持多个应用版本时可能引发问题,需要进行向后兼容设计,否则旧版本可能显示异常。
- 无个性化:仅展示”全部用户”目标受众的内容,无法根据国家、归因或自定义属性进行定向。
如果更快的获取速度对你的使用场景更重要,请按以下方式使用 getOnboardingForDefaultAudience。否则,请按上文所述使用 getOnboarding。
Adapty.getOnboardingForDefaultAudience(
placementId = "YOUR_PLACEMENT_ID",
locale = "en",
fetchPolicy = AdaptyPaywallFetchPolicy.Default,
).onSuccess { paywall ->
// the requested paywall
}.onError { error ->
// handle the error
}
参数:
| 参数 | 是否必填 | 描述 |
|---|---|---|
| placementId | 必填 | 所需版位的标识符。该值在 Adapty 看板中创建版位时由您指定。 |
| locale | 可选 默认值: | 用户引导本地化的标识符。该参数应为语言代码,由一个或两个子标签组成,以连字符(-)分隔。第一个子标签表示语言,第二个子标签表示地区。 示例: en 表示英语,pt-br 表示巴西葡萄牙语。 |
| fetchPolicy | 默认值:.reloadRevalidatingCacheData | 默认情况下,SDK 会尝试从服务器加载数据,如果失败则返回缓存数据。我们推荐此选项,因为它能确保用户始终获取最新数据。 但如果您认为用户的网络连接不稳定,可以考虑使用 请注意,缓存在应用重启后依然保留,只有在卸载重装应用或手动清理时才会被清除。 Adapty SDK 通过两层机制在本地存储用户引导:上述定期更新的缓存,以及备用用户引导。我们还使用 CDN 加速用户引导的获取,并在 CDN 不可用时提供独立的备用服务器。该机制旨在确保您始终能获取最新版本的用户引导,同时在网络条件较差的情况下也能保证可靠性。 |