在 Kotlin Multiplatform SDK 中展示用户引导

如果您已使用编辑工具自定义了用户引导,则无需在 Kotlin Multiplatform 应用代码中手动处理渲染逻辑来向用户展示它。此类用户引导已包含应显示的内容及其展示方式。

开始之前,请确保:

  1. 您已安装 Adapty Kotlin Multiplatform SDK 3.15.0 或更高版本。
  2. 您已创建用户引导
  3. 您已将用户引导添加到版位

要展示用户引导,请在由 createOnboardingView 方法创建的 view 上调用 view.present() 方法。每个 view 只能使用一次。如果需要再次展示用户引导,请重新调用 createPaywallView 以创建新的 view 实例。

重复使用同一个 view 而不重新创建可能会导致错误。

import com.adapty.kmp.AdaptyUI
import kotlinx.coroutines.launch

viewModelScope.launch {
    AdaptyUI.createOnboardingView(onboarding = onboarding).onSuccess { view ->
        view.present()
    }.onError { error ->
        // handle the error
    }
}

配置 iOS 展示样式

通过向 present() 方法传递 iosPresentationStyle 参数,可配置用户引导在 iOS 上的展示方式。该参数接受 AdaptyUIIOSPresentationStyle.FULLSCREEN(默认值)或 AdaptyUIIOSPresentationStyle.PAGESHEET 值。

import com.adapty.kmp.AdaptyUI
import com.adapty.kmp.models.AdaptyUIIOSPresentationStyle
import kotlinx.coroutines.launch

viewModelScope.launch {
    val view = AdaptyUI.createOnboardingView(onboarding = onboarding).getOrNull()
    view?.present(iosPresentationStyle = AdaptyUIIOSPresentationStyle.PAGESHEET)
}

默认情况下,用户引导中的链接会在应用内浏览器中打开。这通过在应用内显示网页,提供无缝的用户体验,使用户无需切换应用即可查看内容。

如果您希望在外部浏览器中打开链接,可以通过将 externalUrlsPresentation 参数设置为 AdaptyWebPresentation.EXTERNAL_BROWSER 来自定义此行为:

import com.adapty.kmp.AdaptyUI
import com.adapty.kmp.models.AdaptyWebPresentation
import kotlinx.coroutines.launch

viewModelScope.launch {
    AdaptyUI.createOnboardingView(
        onboarding = onboarding,
        externalUrlsPresentation = AdaptyWebPresentation.EXTERNAL_BROWSER // default – IN_APP_BROWSER
    ).onSuccess { view ->
        view.present()
    }.onError { error ->
        // handle the error
    }
}