在 Capacitor SDK 中展示用户引导

Warning

从 Adapty SDK v4 开始,用户引导功能已弃用。 请改用流程:与运行在 WebView 中的用户引导不同,流程直接在设备上原生渲染——动画更流畅、外观更统一、加载更快,且无需依赖 WebView 运行时。

如果你已通过编辑工具自定义了用户引导,无需在移动应用代码中额外处理渲染逻辑即可将其展示给用户。此类用户引导已包含展示内容及展示方式的完整配置。

在开始之前,请确保:

  1. 您已创建用户引导
  2. 您已将用户引导添加到版位

展示用户引导

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

Warning

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


try {
  const view = await createOnboardingView(onboarding);
  
  view.setEventHandlers({
    onClose: (actionId, meta) => {
      console.log('Onboarding closed:', actionId);
      return true; // Allow the onboarding to close
    },
    onCustom: (actionId, meta) => {
      console.log('Custom action:', actionId);
      return false; // Don't close the onboarding
    }
  });
  
  await view.present();
  console.log('Onboarding presented successfully');
} catch (error) {
  console.error('Failed to present onboarding:', error);
}

配置 iOS 展示样式

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

await view.present({ iosPresentationStyle: 'page_sheet' });
Important

自定义用户引导中链接的打开方式需要 Adapty SDK v3.15 及以上版本。

默认情况下,用户引导中的链接会在应用内浏览器中打开。这种方式可以让用户无需切换应用即可浏览网页,从而提供流畅的使用体验。

如果你希望改用外部浏览器打开链接,可以将 openIn 参数设置为 browser_out_app 来自定义此行为:

await view.present({ openIn: 'browser_out_app' }); // default — browser_in_app

后续步骤

展示用户引导后,您需要处理用户交互和事件。了解如何处理用户引导事件,以响应用户操作并跟踪分析数据。