在 iOS SDK 中展示用户引导
如果你已通过编辑工具自定义了用户引导,则无需在移动端代码中手动处理其渲染逻辑——该用户引导已包含展示内容与展示方式的完整配置。
在开始之前,请确保:
- 已安装 Adapty iOS SDK 3.8.0 或更高版本。
- 已创建用户引导。
- 已将用户引导添加到版位。
在 Swift 中展示用户引导
要在设备屏幕上显示可视化用户引导,请按以下步骤操作:
-
使用
.getOnboardingConfiguration方法获取用户引导视图配置。 -
使用
.onboardingController方法初始化要显示的可视化用户引导:请求参数: | 参数 | 是否必填 | 描述 | |:-----------------------------|:---------|:------------------------------------------------------------------------------------------------------------------------------------------------------------| | onboarding configuration | 必填 | 一个
AdaptyUI.OnboardingConfiguration对象,包含所有用户引导属性。使用AdaptyUI.getOnboardingConfiguration方法获取该对象。 | | delegate | 必填 | 一个AdaptyOnboardingControllerDelegate,用于监听用户引导事件。 | 返回值:对象 描述 AdaptyOnboardingController 代表所请求的用户引导屏幕的对象 -
对象成功创建后,您可以将其显示在设备屏幕上:
import Adapty import AdaptyUI
// 0. 如果尚未获取用户引导,先获取
let onboarding = try await Adapty.getOnboarding(placementId: "YOUR_PLACEMENT_ID")
// 1. 获取用户引导视图配置:
let configuration = try AdaptyUI.getOnboardingConfiguration(forOnboarding: onboarding)
// 2. 创建用户引导视图控制器
let onboardingController = try AdaptyUI.onboardingController(
with: configuration,
delegate: <AdaptyOnboardingControllerDelegate>
)
// 3. 向用户展示
present(onboardingController, animated: true)
在 SwiftUI 中展示用户引导
要在 SwiftUI 中在设备屏幕上显示可视化用户引导:
// 1. Obtain the onboarding view configuration:
let configuration = try AdaptyUI.getOnboardingConfiguration(forOnboarding: onboarding)
// 2. Display the Onboarding View within your view hierarchy
AdaptyOnboardingView(
configuration: configuration,
placeholder: { Text("Your Placeholder View") },
onCloseAction: { action in
// hide the onboarding view
},
onError: { error in
// handle the error
}
)
在启动页与用户引导之间添加平滑过渡
默认情况下,在启动页与用户引导之间,会显示加载页面,直到用户引导完全加载完成。如果你希望让过渡更流畅,可以对其进行自定义,选择延长启动页的显示时间,或展示其他内容。
为此,需要定义一个占位视图(即用户引导加载期间显示的内容)。定义占位视图后,用户引导将在后台加载,加载完成后自动显示。
自定义用户引导中链接的打开方式
自定义用户引导中链接的打开方式从 Adapty SDK v.3.15.1 开始支持。
默认情况下,用户引导中的链接会在应用内浏览器中打开。这样用户无需切换应用即可浏览网页,提供流畅的使用体验。
如果你希望改为在外部浏览器中打开链接,可以将 externalUrlsPresentation 参数设置为 .externalBrowser 来自定义此行为:
let configuration = try AdaptyUI.getOnboardingConfiguration(
forOnboarding: onboarding,
externalUrlsPresentation: .externalBrowser // default – .inAppBrowser
)