中文

深度链接

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 参数内容的传递位置。为此,请在您的活动 (activity) 上设置 android:launchMode 属性。您可以在 AndroidManifest.xml 文件中找到它。请参阅安卓官方文档,进一步了解 android:launchMode 属性的信息。

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

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

Java

如果用户设备上尚未安装您的应用,那么就会发生延迟深度链接。用户点击跟踪链接时,会被重定向至 Play 应用商店来下载和安装您的应用。用户首次打开应用时,SDK 就会读取 deep_link 内容。

Adjust SDK 默认自动打开延迟深度链接,无须额外设置。

延迟深度链接回传

您可以控制 Adjust SDK 是否打开延迟深度链接。为此,请向您的 config 对象添加回传方法。

Java

Javascript

通过深度链接进行再归因

请注意:
安卓 SDK v4.14.0 发布后, appWillOpenUrl(Uri) 已经弃用。请换用 appWillOpenUrl(Uri, Context)

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 个重定向 (redirect),并将其中最新的 URL 返回为 回传 URL。也就是说,如果要追溯的重定向超过 10 个,那么 SDK 就会返回 第 10 个 重定向 URL。

Java