通用链接常见问题
通用链接行为可能会受到多种因素的影响。如果您的通用链接在测试或生产模式中出现异常,请查阅本指南,了解解决办法。如果在尝试本文解决办法后问题依旧存在,请联系我们。
常见问题
我的 URL 语法和编码正确吗?
如果您的深度链接未定向至指定目的地,或链接返回 HTTP 404 错误,请首先检查您的 URL 语法和编码。
URL 通常使用以下语法:scheme://host:port/path?query-string#fragment-id
URL 的每个部分会执行不同的功能,并且使用特定的字符来标识和分隔各个值。Scheme 和 host 不区分大小写,但路径和查询字符串区分大小写。URL 构成出现错误则会影响其正常打开。
设置深度链接时,请注意以下条件:
- 如果需要向已包含查询参数的 URL 查询字符串添加 Adjust 参数,请使用
&
。否则,URL 中第二个?
之后的所有信息将被删除。- 正确示例:
https://abcd.adj.st/my?path=location&client=name&adjust_t=klm012
- 错误示例:
https://z9pm.adj.st/my?path=location&client=name?adjust_t=klm012
- 正确示例:
- 如果您的查询字符串已进行编码,请以
/
开头或确保它是deeplink
参数的一部分。
如果您的应用尚未安装,并且不满足这些条件,则浏览器将移除 adjust_t
参数。Adjust 需要使用此参数来确定点击来源,否则我们将返回 HTTP 404 错误 URL not found
。
示例
根据 URL 的设置方式,您的深度链接可能出现以下行为:
深度链接设置 | 链接 URL 示例 | 行为 |
---|---|---|
链接 URL + deep_link 参数 | https://app.adjust.com/r40ncx7?deep_link=adjust%3A%2F%2F%3Fpath | 打开应用内的特定页面 |
通用链接 (Universal Link) | https://abcd.adj.st/%3Fpath?adjust_t=r40ncx7 | 打开应用内的特定页面 |
通用链接 (Universal Link) | https://abcd.adj.st/?path&adjust_t=r40ncx7 | 若应用已安装则打开应用,但无法打开特定应用内页面。 |
通用链接 (Universal Link) | https://abcd.adj.st%3Fpath?adjust_t=r40ncx7 | 无效并返回错误 |
我为什么看不到归因数据和/或推广活动层级?
如果深度链接 URL 中的归因数据或推广活动层级不可用,则可能是设置问题导致的。请检查设备 ID 参数和推广活动参数(如适用)是否由于后备或回传中的编码错误而被截断。例如,确定 URL 中没有空格或无效字符。
我的应用已经安装,但为何还是会被转到应用商店?
通常而言,此行为意味着您的深度链接打开应用失败,并且,作为后备,我们已重定向至商店。要进行测试,请按照以下步骤操作:
按照我们的测试说明,以现有用户身份检查通用链接和带有 deep_link 参数的链接。
如果您的测试成功,并且应用打开,则考虑深度链接打开失败时,点击此链接的环境。然后检查这种情况下是否需要任何其他参数。
- 例如,如果从 Slack 中点击 JSR 通用链接,则应出现
adjust_deeplink_js=1
标记,这有助于在重定向至商店之前加载 Scheme。如果在带有adjust_deeplink_js
标记的情况下,您的链接仍未正常工作,则 App Scheme 可能未被正确输入 Campaign Lab。
- 例如,如果从 Slack 中点击 JSR 通用链接,则应出现
请确保链接 URL 中的后备或回传没有 编码错误 。此类错误可能导致参数丢失,进而导致整个链接无法正常发挥作用。
我的深度链接为什么没有正确打开应用内的位置?
如果您的链接能打开应用,但无法打开正确位置,请查看是否是链接或应用设置出现了问题。
- 将通用链接域名 (
https://abcd.adj.st/
) 或 scheme (myapp://
) 设置在浏览器环境中点击。 - 请联系您的开发者,检查应用内的路径设置是否正确。
只有深度链接附加了 Adjust 链接或 Adjust 参数时,Adjust 才会接收其传入的点击数据,而只含有应用专属域名的直接深度链接不会向 Adjust 返回任何数据。
发送点击数据:
myapp://welcome?adjust_t=abc123&adjust_campaign=re-engage_my_users&adjust_adgroup=apac&adjust_creative=promo1
https://z9pm.adj.st/welcome?adjust_t=abc123&adjust_campaign=re-engage_my_users&adjust_adgroup=apac&adjust_creative=promo1
不发送点击数据:
myapp://welcome
要接收针对已安装应用或深度链接再归因的点击数据,请务必在 Adjust SDK 中安装 SDK 点击 (iOS; 安卓)。
触发 SDK 点击的深度链接会在 Datascape 中报告为点击。您也可以使用 click
回传在原始数据中查看这些信息。要具体查看哪些点击来自深度链接 SDK 点击,请附加 {is_deeplink_click}
参数。
通用链接相关问题
我的通用链接为何无法打开已安装的应用?
请查看您的通用链接设置是否正确。
检查 Apple 打开链接时所处的环境。Apple 不允许在 Safari 外重定向至通用链接,因此,您需要在浏览器环境中托管 原始通用链接或 scheme。例如,两者分别为
https://abcd.adj.st/
和myapp://
。在测试设备上安装应用后,访问托管原始通用链接或 scheme 的页面,然后选择通用链接。
如果您的应用 未打开 :
- 在 Safari 中打开测试 HTML 页面,选择分享图标。这时,您应当看到 "用其他应用打开" (Open in...) 菜单,您的应用是菜单中的一个选项。这就意味着 Associated Domains 配置正确,Apple App Site Association (AASA) 文件下载正确。如果未能在菜单中看到您的应用选项,可能需要卸载并重装应用。
- 请验证测试和生产环境中的 Bundle ID 一致。
- 确保 AppView 中的 iOS Bundle ID 和 App Prefix 正确无误。如果设置正确,您的应用依旧无法打开,请咨询您的开发者,进一步检查通用链接或 scheme 应用关联。
- 请检查您的链接中是否包含
target=“_blank”
属性:
这种情况下,应用会在测试中打开,但在生产环境中无法打开。
例如,启用了 target=“_blank”
属性后,您的 HTML 代码如下:
<a href="[https://abcd.adj.st](https://abcd.adj.st/)" target="_blank">Universal Link to App</a>
要解决这个问题,请参考下方示例,移除相关值:
<a href="[https://abcd.adj.st](https://abcd.adj.st/)">Universal Link to App</a>
我的应用已经安装,但为何还是会被转到应用商店?
- 请参照我们通用链接测试说明中的步骤进行操作。此外,请查看上文 "我的通用链接为何无法打开已安装的应用?" 一节的内容,按照其中的说明操作。
- 请考虑通用链接打开失败时,点击此链接的环境。然后检查这种情况下是否需要任何其他参数。
- 例如,如果从 Slack 中点击 JSR 通用链接,则应出现
adjust_deeplink_js=1
标记,这有助于在重定向至商店之前加载 Scheme。如果在有adjust_deeplink_js
标记的情况下,您的链接仍未正常工作,则 App Scheme 可能未被正确输入 AppView 的应用设置中。
- 例如,如果从 Slack 中点击 JSR 通用链接,则应出现
应用安装后,深度链接或延迟深度链接为何无法打开应用正确位置?
如果您的链接能打开应用,但无法打开正确位置,请查看是否是链接或应用设置出现了问题。
- 将通用链接域名 (
https://abcd.adj.st/
) 或 scheme (myapp://
) 设置在浏览器环境中点击。 - 请联系您的开发者,检查应用内的路径设置是否正确。
如果您以现有用户的身份进入了正确的路径,而以新用户的身份却无法进入,则通过测试控制台检视您的设备,并确保您被归因于该点击。如果未归因于此点击,请通过测试控制台清除设备,然后重试。
如果您被归因于此点击,请检查您的设备是否包含 deeplink
参数。如不包含,请确保没有编码错误以及 deeplink
参数之前没有特殊字符截断 URL。
最后,如果包含 deeplink
参数,则确保路径能够显示。如果未能显示,则说明由于某些原因路径已被切断。请联系 support@adjust.com 获取帮助。
Facebook 或 Instagram 帖文中的通用链接为何无法运行?
请确保您的通用链接中附加了路径,否则即便用户已经安装了应用,也会被转到应用商店中。提供的路径不需要有效。
附加路径的参数示例:https://abcd.adj.st/path?adjust_t=abc123
我可以在电子邮件推广活动中使用通用链接吗?
多数情况下, iOS 不允许在 Safari 之外重定向至通用链接。也就是说,所有使用 SFSafariViewController 的环境都会受到影响。
用户可能在多种环境中打开邮件,例如浏览器或其他不支持通用链接的邮件应用。因此,最佳做法是使用 JSR 链接或 Adjust 的ESP 集成之一。
我为什么看不到归因数据和/或推广活动层级?
检查 Adjust 参数是否带有 adj_
或 adjust_
前缀。不带有 adj_
或 adjust_
前缀的 Adjust 参数会被忽略,您可能无法看到这些参数的数据。
安装已经正确归因,我的合作伙伴为何还是收不到归因回传?
- 请查看您是否在通用链接中添加了点击 ID 参数。
- 请确保链接 URL 中的后备或回传没有 编码错误 。
- 确认点击 ID 参数是否带有
adj_
或adjust_
前缀。
我在 iOS 12.2 和 12.3 的 Safari 中打开 JSR 通用链接时遇到了问题,为什么?
对于 iOS 12.2 和 12.3,在 Safari 环境中点击 JSR 通用链接时,不一定总是能正确打开,尤其是当 referrer HTTP 标头不可读的情况下,例如,使用隐身模式时。
因此,对于 Safari 推广活动,我们建议使用原始通用链接。但这不适用于包装了 URL 的电子邮件推广活动。
自 iOS 13 起将不会有此问题,因为我们可以使用 scheme 作为后备方案。但是,这会导致额外的弹出窗口。