设置深度链接

您可以创建深度链接来将用户转到应用中的特定页面。针对用户是否已在设备上安装您的应用,Adjust SDK 会使用不同的逻辑:

  • 直接深度链接​ 用于用户已经安装应用的情况。用户会被转向链接中指定的页面。
  • 如果用户尚未安装应用,那么就会发生 延迟深度链接​ 。链接首先会将用户转向应用商店页面来安装应用。用户安装后,就会被带到链接中指定的页面。

用户通过链接 URL 打开应用后,SDK 就可以读取深度链接数据了。

设置深度链接

如果用户已经安装了您的应用,那么在与包含深度链接的 URL 互动时,应用就会打开。Adjust SDK 中包含的工具能够解析深度链接信息,在应用中使用。

在 v4.30 或更新版本中,SDK 会向安卓和 iOS 项目注入必要的设置。要配置深度链接,请在 Unity Editor inspector 窗口中添加 URL 方案

针对 v4.30 以下版本 Adjust SDK 或 v2019.2 以下版本 Unity Editor(仅限安卓),请在应用层级上设置深度链接。请按照下方链接中的说明,在您的目标平台上设置深度链接:

iOS 深度链接

设置通用链接

运行 iOS 9 或更新版本的设备会使用通用链接处理深度链接。您需要在应用中添加通用链接方案,才能在应用中打开深度链接。为此,请进行下列操作:

  1. 在 Adjust 控制面板中设置通用链接
  2. 在 Apple Developer Portal 中配置应用 Associated Domains
  3. 打开 Unity Editor。
  4. 找到 Adjust prefab 的 DEEP LINKING​ 界面。
  5. iOS Universal Links Domain​ 字段中输入 (一个或多个) 通用链接。将 https:// 协议换成 applinks:

设置自定义 URL 方案

运行 iOS 8 或更旧版本的设备会使用自定义 URL 方案处理深度链接。

  1. 在 Adjust 控制面板中设置深度链接
  2. 打开 Unity Editor。
  3. 找到 Adjust prefab 的 DEEP LINKING​ 界面。
  4. iOS URL Schemes​ 字段中输入 (一个或多个) URL 方案。请只输入方案,不要加 ://

安卓深度链接

安卓设备使用独特的 URI 方案处理深度链接。要设置深度链接,请在 Adjust prefab 的 Android URI Schemes​ 界面添加方案。SDK 会将必要的 XML 标签添加至您的 AndroidManifest.xml

延迟深度链接

禁用延迟深度链接

SDK 默认自动打开延迟深度链接,您可以通过传递一个 布尔​ 参数至setLaunchDeferredDeeplink方法来对此进行配置。

C#
AdjustConfig adjustConfig = new AdjustConfig("{YourAppToken}", AdjustEnvironment.Sandbox);
//...
adjustConfig.setLaunchDeferredDeeplink(true);
//...
Adjust.start(adjustConfig);

设置延迟深度链接委托

您可以配置 Adjust SDK,使其在接收到延迟深度链接时调用一个委托函数。委托函数会以 字符串​ 参数的形式接收深度链接。

C#
private void DeferredDeeplinkCallback(string deeplinkURL) {
   //...
}

AdjustConfig adjustConfig = new AdjustConfig("{YourAppToken}", AdjustEnvironment.Sandbox);
adjustConfig.setDeferredDeeplinkDelegate(DeferredDeeplinkCallback);
Adjust.start(adjustConfig);

示例

启用 LinkMe

通过 Adjust SDK,您可以从设备剪贴板复制深度链接信息。配合Adjust LinkMe 解决方案使用时,该功能可在 iOS 15 及更高版本操作系统中设置延迟深度链接。

重要提示:
用户第一次打开应用时,Adjust SDK 会检查剪贴板。设备会显示对话框,询问用户是否允许应用读取剪贴板。

当用户点击 LinkMe URL 时,可以选择将链接信息复制到剪贴板。您可以使用 Adjust SDK 读取系统剪贴板,获取深度链接信息。如果含有深度链接信息,SDK 就会将用户转到应用中的正确页面。

要在您的应用中开启剪贴板查看,在 config 对象上调用 setLinkMeEnabled方法并发送 true 参数。

C#
AdjustConfig adjustConfig = new AdjustConfig("{YourAppToken}", AdjustEnvironment.Sandbox, true);
//...
adjustConfig.setLinkMeEnabled(true);
//...
Adjust.start(adjustConfig);