深度链接常见问题
在测试和生产环境中影响深度链接行为的因素有很多。请参阅本文排查 Adjust 深度链接、通用链接和延迟深度链接的常见问题。如果在尝试本文解决办法后问题依旧存在,请联系 support@adjust.com。
一般深度链接问题
如果您的深度链接未打开预期目标或返回 HTTP 404 未找到 URL 错误,请首先检查 URL 语法和编码。
URL 通常使用以下语法:scheme://host:port/path?query-string#fragment-id
URL 的每个部分都有特定的功能。Scheme 和 host 不区分大小写,但路径和查询字符串区分大小写。URL 结构中的任何错误都可能导致链接无法按预期打开。
设置深度链接时:
- 如果需要向已包含查询参数的 URL 添加 Adjust 参数,请使用
&。请勿添加第二个?,因为第二个?之后的信息可能会被删除。 - 如果您的查询字符串已进行编码,请以
/开头或确保它是deeplink参数的一部分。 - 请确保后备、回传、设备 ID 参数或推广活动参数中没有空格或无效字符。编码问题可能会导致参数被截断。
正确示例:
https://example.go.link/my?path=location&client=name&adjust_t=klm012
错误示例:
https://example.go.link/my?path=location&client=name?adjust_t=klm012
如果应用未安装且 URL 结构不正确,浏览器可能会丢弃 adjust_t 参数。Adjust 需要此参数来识别点击来源。否则,Adjust 会返回 404 URL not found。
这通常意味着深度链接无法打开应用,因此用户被重定向到商店作为后备。
故障排查方法:
- 作为现有用户测试链接。
- 如果应用在测试期间打开,请检查链接最初失败的环境。
- 请检查您的通用链接/Android 应用链接/自定义应用 Scheme 设置是否正确,因为这些是打开应用所需的链接标准
- 请确保后备或回传中没有编码错误,否则可能导致参数丢失导致并中断链接。
如果链接能打开应用但未能打开正确的应用内界面,请检查问题是由链接设置还是由应用设置引起的。
在网页环境中托管您的深度链接,并从测试设备将其打开。如果您使用的是品牌化域名,请直接测试品牌化链接。如果您使用的是 Adjust 旧版 adj.st 链接,则可以测试通用链接域名 (例如 https://abcd.adj.st/) 或应用 Scheme (例如 myapp://)。
如果应用打开但路径错误,请让您的开发者确认应用内路径的配置是否正确。
注意: adj.st 通用链接是传统方法。对于新的安装,我们推荐使用品牌化域名。
归因报告
不会。如果深度链接使用了 Adjust 链接或附加了 Adjust 参数,Adjust 才会接收来自该深度链接的点击数据。仅是使用了应用特定域名或 Scheme 的直接深度链接不会向 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要接收已安装应用的点击数据和深度链接再归因,请在 iOS 或 Android 的 Adjust SDK 中集成 SDK 点击。触发 SDK 点击的深度链接会在 Datascape 中报告为点击,并通过点击回传显示在原始数据中。
如需识别来自深度链接 SDK 的点击,请添加 {is_deeplink_click} 占位符。
如果深度链接 URL 中的归因数据或推广活动层级不可用,则可能是设置问题导致的。请检查设备 ID 参数和推广活动参数 (如适用) 是否由于后备或回传中的编码错误而被截断。例如,确定 URL 中没有空格或无效字符。
通用链接问题
如果安装已正确归因,但您的合作伙伴未收到归因回传,请检查通用链接设置。
请确保:
点击 ID 参数被添加至通用链接。后备或回传中不存在编码错误。点击 ID 参数带有 adj_ 或 adjust_ 前缀。
如果点击 ID 缺失、格式不正确或因编码问题而中断,Adjust 可能会归因安装但无法传递预期的合作伙伴回传数据。
首先,检查通用链接设置是否正确。
然后查看 Apple 是从哪里打开链接的。Apple 不允许重定向至 Safari 之外的通用链接,因此您需要将原始通用链接或 Scheme 托管在网页环境中并从那里点击。
如果您的应用仍未打开:
- 在 Safari 中打开测试 HTML 页面,选择分享图标。如果看到 “打开方式” 选项且其中列出了您的应用,则 Associated Domains 配置正确,并且 Apple App Site Association 文件已下载。
- 如果您没有在列表中看到该应用,请卸载并重新安装该应用。
- 验证测试和生产环境中的 Bundle ID 是否相同。
- 确保 AppView 中的 iOS Bundle ID 和 App Prefix 正确无误。
- 如果应用依旧无法打开,请让您的开发者检查通用链接或 Scheme 应用关联。
另请检查您的链接是否包含 target="_blank"。这在测试中可行,但会在生产环境中失败。从链接中移除归因。
确保通用链接包含路径。如果不附加路径,那么即使用户已经安装了应用也可能被转到应用商店。提供的路径不需要有效。
多数情况下, iOS 不允许在 Safari 之外重定向至通用链接。也就是说,使用 SFSafariViewController 的环境都会受到影响。
由于电子邮件链接可在许多环境中打开,包括不支持通用链接的浏览器和电子邮件应用,因此,Adjust Recommend 使用 JSR 链接或 Adjust ESP 集成。
带有深度链接参数的深度链接
通过 Facebook 贴文开展的推广活动需要使用附加了 deeplink 参数的 Adjust 链接 URL。深度链接参数还必须包含路径。否则即便用户已经安装了应用,也会被转到应用商店中。提供的路径不需要有效。
示例: https://app.adjust.com/abc123?deeplink=adjust%3A%2F%2Fsuch_path
延迟深度链接
当用户在安装应用之前点击深度链接时,就会使用延迟深度链接。安装后,应用应当会打开预期的应用内位置。
如果延迟深度链接未打开正确的位置:
- 检查应用中是否存在该路径。
- 在网页环境中托管应用 Scheme,例如
myapp://,然后点击它。 - 如果现有用户无法使用该路径,请联系您的开发者,确认应用内路径设置是否正确。
- 如果该路径适用于现有用户但不适用于新用户,请在测试控制台中检查设备,确认是否归因于点击。
- 如果设备未被归因,请在测试控制台中清除该设备,然后再次测试。
- 如果设备已归因,请检查设备是否包含
deeplink参数。 - 如果
deeplink参数缺失,请检查是否存在编码问题或是否有特殊字符导致 URL 被截断。 - 如果
deeplink参数存在,但路径缺失,请联系 Adjust 支持团队。
在测试时,延迟深度链接有时会在点击后持续存在一段时间,即使您已在测试控制台中清除该设备。
例如:
- 点击深度链接,安装应用,然后打开。
- 卸载应用。
- 在测试控制台中清除设备。
- 再次进行测试,发现延迟深度链接无法正常工作。
要解决此问题,请再次卸载应用,在测试控制台中再次清除该设备,然后重新运行测试。