在 Unity SDK 中获取用户引导

在 Adapty 看板中使用编辑工具设计完用户引导的视觉部分后,您可以在 Unity 应用中展示它。此过程的第一步是获取与版位关联的用户引导及其视图配置,具体如下所述。

开始之前,请确保:

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

获取用户引导并创建视图

当您使用我们的无代码编辑工具创建用户引导时,它会以容器的形式存储,包含应用需要获取并展示的配置。该容器管理整个体验——显示哪些内容、如何呈现,以及如何处理用户交互(例如测验答案或表单输入)。容器还会自动跟踪分析事件,因此您无需单独实现视图跟踪。

为了获得最佳性能,请尽早获取用户引导配置,以便在向用户展示之前有足够时间下载图片。

要获取用户引导,请使用 GetOnboarding 方法:

Adapty.GetOnboarding("YOUR_PLACEMENT_ID", (onboarding, error) => {
    if (error != null) {
        // handle the error
        return;
    }
    
    // the requested onboarding
});

参数:

参数是否必填描述
placementId必填所需版位的标识符。这是您在 Adapty 看板中创建版位时指定的值。
locale

可选

默认值:en

用户引导本地化的标识符。该参数应为由减号(-)分隔的一个或两个子标签组成的语言代码。第一个子标签表示语言,第二个子标签表示地区。

示例:en 表示英语,pt-br 表示巴西葡萄牙语。

有关区域设置代码及推荐使用方式的更多信息,请参阅本地化与区域设置代码

fetchPolicy默认值:.reloadRevalidatingCacheData

默认情况下,SDK 会尝试从服务器加载数据,若失败则返回缓存数据。我们推荐此选项,因为它能确保用户始终获取最新数据。

但是,如果您认为用户的网络连接不稳定,可以考虑使用 .returnCacheDataElseLoad,在缓存存在时返回缓存数据。在这种情况下,用户可能无法获取绝对最新的数据,但无论网络连接多么不稳定,都能体验到更快的加载速度。缓存会定期更新,因此在会话期间使用缓存以避免网络请求是安全的。

请注意,缓存在应用重启后保持不变,仅在重新安装应用或手动清理时才会清除。

Adapty SDK 在本地以两个层次存储用户引导:上述定期更新的缓存以及备用用户引导。我们还使用 CDN 更快地获取用户引导,并在 CDN 无法访问时使用独立的备用服务器。该系统旨在确保您始终获得最新版本的用户引导,同时在网络连接不佳的情况下也能保证可靠性。

loadTimeout默认值:5 秒

此值限制该方法的超时时间。如果达到超时时间,将返回缓存数据或本地备用内容。

请注意,在极少数情况下,此方法可能比 loadTimeout 中指定的时间稍晚超时,因为该操作在内部可能由多个不同请求组成。

响应参数:

参数描述
Onboarding一个 AdaptyOnboarding 对象,包含:用户引导标识符和配置、远程配置以及其他几个属性。

获取用户引导后,调用 CreateOnboardingView 方法。

CreateOnboardingView 方法的结果只能使用一次。如果需要再次使用,请重新调用 CreateOnboardingView 方法。在不重新创建的情况下调用两次可能会导致 AdaptyUIError.viewAlreadyPresented 错误。

AdaptyUI.CreateOnboardingView(onboarding, (view, error) => {
    // handle the result
});

参数:

参数是否必填描述
onboarding必填用于获取所需用户引导视图的 AdaptyOnboarding 对象。
externalUrlsPresentation

可选

默认值:InAppBrowser

控制用户引导中链接的打开方式。可用选项:

- AdaptyWebPresentation.InAppBrowser - 在应用内浏览器中打开链接(默认)

- AdaptyWebPresentation.ExternalBrowser - 在设备外部浏览器中打开链接

使用示例请参阅自定义用户引导中链接的打开方式

成功加载用户引导及其视图配置后,您可以在移动应用中展示它

使用默认目标受众用户引导加速获取

通常情况下,用户引导几乎可以即时获取,因此您无需担心加速此过程。但是,如果您拥有大量目标受众和用户引导,且用户的网络连接较弱,获取用户引导可能需要比预期更长的时间。在这种情况下,您可能希望显示默认用户引导,以确保流畅的用户体验,而不是完全不显示用户引导。

为此,您可以使用 GetOnboardingForDefaultAudience 方法,该方法为所有用户目标受众获取指定版位的用户引导。但是,务必理解,推荐的方式是通过 getOnboarding 方法获取用户引导,详见上方获取用户引导部分。

建议使用 GetOnboarding 而非 GetOnboardingForDefaultAudience,因为后者有以下重要限制:

  • 兼容性问题:在支持多个应用版本时可能产生问题,需要向后兼容的设计,否则较旧版本可能显示不正确。
  • 无个性化:仅显示”所有用户”目标受众的内容,无法根据国家、归因或自定义属性进行定向。

如果对您的使用场景而言,更快的获取速度超过了这些缺点,请按如下所示使用 GetOnboardingForDefaultAudience。否则,请按上方所述使用 GetOnboarding

Adapty.GetOnboardingForDefaultAudience("YOUR_PLACEMENT_ID", (onboarding, error) => {
    if (error != null) {
        // handle the error
        return;
    }
    
    // the requested onboarding
});

参数:

参数是否必填描述
placementId必填所需版位的标识符。这是您在 Adapty 看板中创建版位时指定的值。
locale

可选

默认值:en

用户引导本地化的标识符。该参数应为由减号(-)分隔的一个或两个子标签组成的语言代码。第一个子标签表示语言,第二个子标签表示地区。

示例:en 表示英语,pt-br 表示巴西葡萄牙语。

fetchPolicy默认值:.reloadRevalidatingCacheData

默认情况下,SDK 会尝试从服务器加载数据,若失败则返回缓存数据。我们推荐此选项,因为它能确保用户始终获取最新数据。

但是,如果您认为用户的网络连接不稳定,可以考虑使用 .returnCacheDataElseLoad,在缓存存在时返回缓存数据。在这种情况下,用户可能无法获取绝对最新的数据,但无论网络连接多么不稳定,都能体验到更快的加载速度。缓存会定期更新,因此在会话期间使用缓存以避免网络请求是安全的。

请注意,缓存在应用重启后保持不变,仅在重新安装应用或手动清理时才会清除。

Adapty SDK 在本地以两个层次存储用户引导:上述定期更新的缓存以及备用用户引导。我们还使用 CDN 更快地获取用户引导,并在 CDN 无法访问时使用独立的备用服务器。该系统旨在确保您始终获得最新版本的用户引导,同时在网络连接不佳的情况下也能保证可靠性。