adjust-icon

设置深度链接

深度链接是一种 URI (统一资源标志符,Uniform Resource Identifier),能将用户带到应用中的特定页面,在用户与链接互动后直接呈现相关内容,优化用户体验。

根据用户是否已经安装您的应用,针对 Adobe Experience SDK 的 Adjust iOS Extension 支持两种类型的深度链接:

  • 直接深度链接 :如果用户已经安装了您的应用,那么链接就会打开指定页面。
  • 延迟深度链接 :如果用户尚未安装您的应用,链接会将用户转到应用商店进行安装。安装后,应用会打开指定页面。

您可以向 Adjust 发送深度链接信息,来对用户进行再归因。当用户与深度链接交互时,您可以将这些数据发送给 Adjust,更新用户的归因信息。

  1. 首先,使用您的深度链接 URI 创建一个 ADJDeeplink 实例。ADJDeeplink 类会验证该 URI,并检查格式化字符串,以确保处理成功。

  2. 然后调用 processDeeplink 函数来处理深度链接,并将信息发送至 Adjust。

ADJDeeplink 类构造函数需要以下参数:

deeplink: NSURL

打开应用的深度链接 URI。

processDeeplink 函数需要以下参数:

adjustDeeplink: ADJDeeplink

您创建的 ADJDeeplink 实例。

针对 Adobe Experience SDK 的 Adjust iOS Extension 默认自动打开延迟深度链接。要控制此行为,或在深度链接打开之前进行验证,请配置扩展,在通过延迟深度链接打开应用时调用一个函数。

  1. AdjustAdobeExtensionConfig 实例上调用 setDeferredDeeplinkReceivedBlock
  2. 调用AdjustAdobeExtension.setConfiguration进行设置的配置。

setDeferredDeeplinkReceivedBlock 函数需要以下参数:

deeplinkResponseBlock: CallbackDeeplinkResponseBlock

返回 boolean 值的函数。如果该函数返回 false,那么 Extension 就不会打开延迟深度链接。

教程:创建延迟深度链接函数

如果您已按照集成指南中的说明进行了操作,那么您就已经配置了 Adjust Extension,可以处理和打开深度链接。如果您尚未进行这些操作,请参考设置深度链接处理相关说明完成操作。

在本教程中,您将了解如何使用 setDeferredDeeplinkReceivedBlock 方法,创建能控制深度链接功能的回传函数。该函数会根据下列条件打开链接:

“如果深度链接包含 "no_open",那么应用就不会将其打开。”

结果将如下:

您需要进行下列操作:

  1. 在 App Delegate 中找到您的 AdjustAdobeExtensionConfig 实例。在下一行中,以函数块为参数,调用 setDeferredDeeplinkReceivedBlock 方法。该函数块会以参数形式接收深度链接。
  1. setDeferredDeeplinkReceivedBlock 函数块中添加 if 块,以检查深度链接是否包含字符串 "no_open"。如果包含,则返回 false
  1. 最后返回 true,来打开所有不包含 "no_open" 的深度链接。

完成了!当用户通过延迟深度链接打开您的应用时,Adjust Extension 就会检查链接中是否包含字符串 "no_open"。如果包含该字符串,应用就不会打开深度链接。