深度链接

Adjust SDK 允许您使用深度链接将用户定向至应用中的特定页面。您也可以收集关于深度链接及其内容信息,以备之后使用。

深度链接分两类:

  • 直接深度链接:​ 如果用户的设备上已经安装了应用,就会发生直接深度链接。在这种情况下,深度链接会将用户转到链接中指定的页面。
  • 延迟深度链接​ :如果用户设备上尚未安装应用,那么就会发生延迟深度链接。在这种情况下,深度链接会先将用户转到设备应用商店,进行应用下载和安装。用户安装并打开应用后,SDK 就会将用户重定向至链接中指定的页面。

用户通过跟踪链接打开应用后,您就能使用 SDK 访问深度链接 URL。

直接深度链接

如果用户设备上已经安装了您的应用,在用户与包含深度链接的跟踪链接互动时,应用就会打开。然后,您就能解析深度链接信息,以备之后使用。为此,您需要选择唯一的 scheme 名称。

您可以进行设置,在用户与深度链接互动时启动特定活动。为此,请进行下列操作:

  1. 在您的 AndroidManifest.xml 文件中为活动指定唯一的 scheme 名称。
  2. intent-filter 部分添加到活动定义中。
  3. 使用您选择的 scheme 名称指定 android:scheme 属性值。

例如,您可以设置名为 MainActivity 的活动按如下方式打开

<activity     android:name=".MainActivity"     android:configChanges="orientation|keyboardHidden"     android:label="@string/app_name"     android:screenOrientation="portrait">

    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>

    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <data android:scheme="adjustExample" />
    </intent-filter>
</activity>

要在用户点击跟踪链接时打开您的应用,请将其 scheme 名称作为 deep_link 参数添加至 Adjust 跟踪链接。不含任何额外信息的跟踪链接形式如下: https://app.adjust.com/abc123?deep_link=adjustExample%3A%2F%2F

重要提示:
deep_link 参数必须进行 URL 编码

遵照上述示例,用户在与跟踪链接互动时,您的应用就会打开。应用打开后会启动 MainActivity 活动。您将在 MainActivity 类中收到有关 deep_link 参数内容的信息。SDK 会解码参数内容。

您可以设置 deep_link 参数内容的发送位置。为此请设置活动的 android:launchMode 属性。您可以在 AndroidManifest.xml 文件中找到该信息。请查看 安卓官方文档 ,了解更多关于 android:launchMode 属性的信息。

SDK 会在活动的 Intent 对象中传递深度链接信息。为此应用会使用活动的 onCreateonNewIntent 方法。启动应用并触发这些方法之一后,就可以访问深度链接内容了。您可以在应用的其他位置使用这些信息。

您可以按以下两种方式提取深度链接内容:

Java

延迟深度链接

Adjust SDK 默认自动打开延迟深度链接。无需额外设置。如果您想禁用或改变该行为,则需要设置一个延迟深度链接回传。

延迟深度链接回传

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

如果想打开深度链接,请在委托函数中返回 true 。如果不想打开,请返回 false

Java

Javascript

示例

通过深度链接进行再归因

Adjust 支持使用深度链接进行再交互推广活动。要了解更多信息,请参阅如何在深度链接中附加归因数据

要对用户进行再归因,您需要在应用中对 Adjust SDK 做一个额外调用。应用接收到深度链接内容时,向 appWillOpenUrl(Uri, Context) 方法添加一个调用。此时,Adjust SDK 就会在深度链接中寻找新的归因信息。如果 SDK 找到新信息,就会将其转发至 Adjust 后端进行再归因。

Java

Javascript

链接解析

有的电子邮件服务提供商 (ESP) 会针对营销推广活动使用自有的自定义跟踪域名。如果您需要通过自定义域名跟踪点击,就要设置 SDK 以解析链接。为此,请调用 AdjustLinkResolution 类的 resolveLink 方法。此时,Adjust SDK 就会跟随自定义链接,在打开深度链接时进行解析。这样,您就能记录用户与电子邮件推广活动的互动了。

resolveLinkWithUrl 方法带有下列参数:

  • url - 打开应用的深度链接。
  • resolveUrlSuffixArray - 需要解析的已设置推广活动自定义域。
  • adjustLinkResolutionCallback - 包含最终 URL 的回传。

该方法会比对深度链接和 resolveUrlSuffixArray中的域。如果找不到任何匹配,就会按原样转发深度链接 URL。如果找到了匹配,就会尝试解析链接并返回得出的深度链接,并将其保存在 callback 参数中。此时,您就可以使用返回的深度链接进行用户再归因了。为此,请将深度链接传递至 Adjust.appWillOpenUrl 方法。

请注意:
在尝试解析 URL 时,Adjust SDK 会追溯最多 10 个重定向,并将其返回的最新 URL 作为 callback URL。也就是说,如果要追溯的重定向超过 10 个,那么 SDK 就会返回第 10 个 重定向 URL。

Java