深度链接问题排查

许多因素都可能影响您的深度链接行为。如果您的深度链接在测试或生产模式中出现异常,请查阅本指南,以确保您的设置正确。 

如果查看此处所列步骤后,您的问题仍然存在,请联系support@adjust.com或您的专属客户经理。 

常见问题

我的 URL 语法和编码正确吗?

如果您的深度链接未定向至指定目的地,或链接返回 HTTP 404 错误,请首先检查您的 URL 语法和编码。 

URL 通常使用以下语法:scheme://host:port/path?query-string#fragment-id

URL 的每个部分会执行不同的功能,并且使用特定的字符来标识和分隔各个值。Scheme 和 host 不区分大小写,但路径和查询字符串区分大小写。URL 构成出现错误则会影响其正常打开。

设置深度链接时,请注意以下条件:

  • 如果需要向已包含查询参数的 URL 查询字符串添加 Adjust 参数,请使用 &连接。URL 中第二个 ? 之后的所有信息将被删除。 
    • 例如,https://abcd.adj.st/path?path_param=value&adjust_t=abc123
  • 如果您的查询字符串已进行编码,请以 / 开始,或确保它是深度链接参数的一部分 

如果您的应用尚未安装,并且未达到这些条件,则浏览器将移除 adjust_t 参数。Adjust 需要使用此参数来确定点击来源;如果没有此参数,我们将返回 HTTP 404 错误 URL not found

示例

根据 URL 的设置方式,您的深度链接可能出现以下行为:

跟踪链接 URL + deep_link 参数 - 打开应用:https://app.adjust.com/r40ncx7?deep_link=adjust%3A%2F%2F%3Fpath

通用链接 - 打开应用:https://abcd.adj.st/%3Fpath?adjust_t=r40ncx7

通用链接 - 打开商店:https://abcd.adj.st/?path&adjust_t=r40ncx7

通用链接 - 无效,并且返回错误:https://abcd.adj.st%3Fpath?adjust_t=r40ncx7

控制面板中未显示归因数据和/或推广活动级别

如果在深度链接跟踪链接 URL 中未看到归因数据或推广活动级别,则可能是由于设置问题所导致。请检查设备 ID 参数和推广活动参数(如适用)是否由于后备或回传中的编码错误而被截断。例如,确定 URL 中没有空格或无效字符。 

我的应用已经安装完成,但仍定向至商店

通常而言,此行为意味着您的深度链接打开应用失败,并且,作为后备,我们已重定向至商店。要进行测试,请按照以下步骤操作:

  1. 按照我们的测试说明,以现有用户身份检查通用链接带有 deep_link 参数的跟踪链接。 
  2. 如果您的测试成功,并且应用打开,则考虑深度链接打开失败时,点击此链接的环境。然后检查这种情况下是否需要任何其他参数。 
    1. 例如:如果从 Slack 中点击 JSR 通用链接,则应出现 adjust_deeplink_js=1 标记。这能在重定向至商店前,从Adjust控制面板里读取 Scheme。如果在出现了 js 标记的情况下,您的链接仍未正常工作,则您的 App Scheme 可能未正确输入控制面板。 
  3. 请确保跟踪链接中的后备和回传 URL 没有编码错误

我的深度链接打开了应用,但不在指定目的地 

通常而言,应用打开后,Adjust 的工作就完成了。为了测试此问题是否由您的链接或应用设置导致,请将通用链接域 (https://abcd.adj.st/) 或 Scheme (myapp://) 设置在浏览器环境中,然后由此点击。 

如果您的链接确实打开了应用,但未在正确位置打开,请联系您的开发团队,以确保应用内的路径设置正确。 

通用链接问题排查

我的通用链接无法打开已安装的应用

首先,请检查 Apple 打开链接时所处的环境。Apple 不允许重定向至通用链接,因此,您需要采用原始通用链接 (https://abcd.adj.st/) 或 Scheme (myapp://),并且必须将其设置在浏览器环境中。使用安装了应用的测试设备访问页面,然后点击深度链接。 

如果应用打开:检查是否有未编码回传或后备 URL。 

如果应用未打开:通用链接或方案未正确与您的应用关联。

我可以在电子邮件推广活动中使用通用链接吗? 

很遗憾,iOS 不允许重定向至通用链接,因此,使用 SFSafariViewController 的任何环境都会受到影响。

我在 iOS 12.2 和 12.3 的 Safari 中打开 JSR 深度链接时遇到了问题

对于 iOS 12.2 和 12.3,在 Safari 环境中点击 JSR 通用链接时,不一定总是能正确打开。这尤其影响 referrer HTTP 标头不可读的实例,例如,使用隐身模式时。 

因此,对于 Safari 推广活动,我们建议使用原始通用链接。但这不适用于包装了 URL 的电子邮件推广活动。

自 iOS 13 起,将不会有此问题,因为我们可以使用 Scheme 作为后备方案。但是,这会导致额外的弹出窗口。

利用跟踪链接 + deep_link 参数对深度链接进行问题排查

我的深度链接无法在 Facebook 贴文上正常工作

通过 Facebook 贴文开展的推广活动需要使用附加了深度链接参数的 Adjust 跟踪链接 URL。此外,深度链接参数必须附加路径,否则用户将定向至商店(即使已安装应用,也将如此)。提供的路径不需要有效。 

附加路径的参数示例:https://app.adjust.com/abc123?deeplink=adjust%3A%2F%2Fsuch_path

延迟深度链接问题排查

安装后,延迟深度链接未在正确的位置打开应用  

如果安装后,延迟深度链接未将您定位至正确的应用内位置,请首先检查此路径是否确实存在。可通过执行以下测试来完成检查。  

如果您以现有用户的身份进入了正确的路径,而非以新用户的身份进入,则通过测试控制台检视您的设备,并确保您归因于该点击。如果未归因于此点击,请通过测试控制台清除设备,然后重试。 

如果您归因于此点击,请检视您的设备,确保其包含深度链接参数。如果不包含,请确保深度链接参数之前没有编码错误或特殊字符截断 URL。

最后,如果已包含深度链接参数,则确保路径按预期显示。如果未按预期显示,则表示由于某些原因,深度链接已被切断。请联系 support@adjust.com 或您的专属客户经理获取帮助。 

清除设备后,我的延迟深度链接未正常工作

偶尔在进行测试时,即便通过测试控制台清除了设备,延迟深度链接还是会在点击后持续留存一段时间。

如果出现这种情况,您的测试可能如下:

  1. 点击深度链接,安装应用,然后打开

  2. 卸载应用

  3. 通过测试控制台清除设备

  4. 运行其他测试(点击、安装、打开),并且延迟深度链接不正确工作  

在这种情况下,请再次卸载应用,通过测试控制台清除设备,然后再次运行测试。完成此操作后,延迟深度链接应可再次按预期工作。

有关此主题