Unreal 引擎 SDK 集成: 实现深度链接

简介

深层链接是指向应用程序内部特定内容的链接。当用户在已安装应用程序的设备上点击深层链接时,应用程序将打开并显示特定产品或体验。

奇异跟踪链接可以包括深度链接和延迟深度链接(更多信息请参阅我们的深度链接常见问题奇异链接常见问题)。

下面的说明将告诉您如何

  1. 访问导致您的应用程序被打开的跟踪链接、
  2. 读取深度链接目的地,以及
  3. 显示相应内容。

注释

  • 本文假定您的组织正在使用Singular Links- Singular 于 2019 年推出的新追踪链接技术。Singular的老客户可能正在使用Singular较早的跟踪链接(传统链接)。 要支持使用传统链接进行深度链接,请参阅使用传统链接处理深度链接
  • 需要在 Singular 的 "应用程序 "页面设置应用程序 的深度链接目的地(请参阅 "配置深度链接 URL")。

深度链接的先决条件

iOS 和 Android 设置

按照Singular 链接先决条件中的说明启用深度链接。

处理深度链接

Singular SDK 提供了一种处理机制,用于读取导致应用程序被打开的跟踪链接的详细信息。

要使用处理程序

  1. 实现OnSingularLinkResolved接口。
  2. 在初始化 Singular SDK 前注册OnSingularLinkResolved委托,将该类注册为深度链接的处理程序。
  3. 初始化 Singular SDK 时,它会获取跟踪链接并调用OnSingularLinkResolved方法,将跟踪链接的详细信息传递给它。覆盖此方法可读取链接详细信息并进行处理。

以下示例代码展示了这三个步骤:


  // 添加到应用程序的包含部分
  #include "SingularLinkParams.h"
  #include "SingularDelegates.h"
  
  // 将此方法添加到您的类中
  void YourClass::SingularLinksResolved(const FSingularLinkParams& linkParams) { 
const FString deeplink = linkParams.SingularLinksParams["deeplink"]; const FString passthrough = linkParams.SingularLinksParams["passthrough"]; const bool isDeferred = linkParams.SingularLinksParams["isDeferred"]; } ... // 在调用初始化之前调用此代码 USingularDelegates* singularDelegates = CreateDefaultSubobject<USingularDelegates>(TEXT("SingularLinksHandler")); singularDelegates->OnSingularLinksResolved.AddDynamic(this, &YourClass::SingularLinksResolved); ...
SingularLinksResolved 方法详细信息
说明 奇异链接 的回调方法读取跟踪链接的详细信息并进行处理。
签名
public void OnSingularLinksResolved(const FSingularLinkParams& linkParams)

:FSingularLinkParams 对象包含以下值:

  • Deeplink - 在 Singular 平台的 "管理链接 "页面中配置的深度链接目的地。
  • Passthrough - 添加到链接的直通参数(如果有)。
  • IsDeferred - 链接是否配置为延迟深度链接。