For the complete documentation index, see llms.txt. This page is also available as Markdown.

排查应用间跟踪中的 Universal Links 问题

参加 PXA 课程

通用链接在操作系统(OS)层级进行验证,并且需要由用户发起的操作,例如点击网页链接,才能打开移动应用。

排查通用链接

1

验证来自合作伙伴应用的点击是否为用户发起的点击

假设该链接不是普通的锚点标签,而是实例化一个新的 WebView (见本页底部的说明)。在这种情况下,这不算作用户发起的导航,因此操作系统不会打开通用链接。这是最常见的场景。要解决它,您应考虑在 WebView(WKWebView、UIWebView 或 SFSafariViewController)中使用普通锚点链接,以便通用链接启动应用。

其他非用户实例化点击的例子包括直接将 URL 复制粘贴到搜索栏中,或在 JavaScript 中使用以下方式导航到链接 onload()click().

2

检查你发送用户前往的页面是否支持通用链接

在某些情况下,impact.com 依赖于在后续重定向中配置通用链接,通常是广告主域名。

  • 例如,impact.com 的跟踪域(goto.advertiser.com) 会重定向到 advertiser.com. 通用链接配置在 advertiser.com 域上。因此,务必要确认你发送用户前往的页面已启用通用链接。你可以通过检查广告主域名上的 Apple 关联文件来实现。

  • 在我们的示例中, http://advertiser.com/.well-known/apple-app-site-association,你会注意到 impact.com 跟踪域关联文件默认包含所有子目录。

注意: 尽管在使用 JavaScript 重定向时通用链接不起作用,但 HTTP 3xx 重定向仍会保留对原始用户事件的引用。impact.com 在跟踪中使用 HTTP 3xx 重定向,因此,当满足其他条件时,跟踪域上的点击后链接会成功启动广告主应用。

例如,下面的关联文件将允许以下路径使用通用链接: advertiser.com/item/123 但不会允许以下路径使用通用链接: advertiser.comadvertiser.com/section/furniture.

{
   "applinks":{
      "apps":[
      ],
      "details":[
         {
            "appID":"A1AAA22BBB.com.advertiser.Advertiser",
            "paths":[
               "NOT /section/*",
               "/item/*"
            ]
         }
      ]
   }
} 
3

请确认打开的初始 WebView 也支持通过通用链接进行重定向

有些 WebView 会阻止通用链接,这会导致跟踪链接在 WebView 内打开,而不是打开广告主应用。虽然这种情况不常见,但当 WebView 导航策略设置为 WKNavigationActionPolicyAllow + 2 时,可能会发生。这会导致 WebView 在不尝试通用链接的情况下直接导航到该链接。

4

查看社交媒体政策

某些社交媒体应用,例如 Facebook,会阻止通用链接。如果是这种情况,使用 移动应用中间页 可能会有所帮助,我们建议联系您的 CSM 寻求帮助(或者 请联系支持团队)。impact.com 正在积极探索改进来自社交媒体应用的深度链接和归因的方法。

Apple 进一步说明

如果你实例化一个 SFSafariViewController , WKWebView ,或 UIWebView 对象来处理通用链接,iOS 会在 Safari 中打开你的网站,而不是打开你的应用。但是,如果用户从嵌入式 SFSafariViewController、WKWebView 或 UIWebView 对象中点击通用链接,iOS 会打开你的应用。

请参阅 Apple 的 支持通用链接 帮助文章以了解更多信息。

最后更新于

这有帮助吗?