尝试使用Universal Links设置重定向到应用程序但没有任何事情发生

Cec*_*uez 15 ios swift

所以我在我的网站上有以下apple-app-site-association,位于stage.domain.com/apple-app-site-association:

{
  "applinks": {
    "apps": [],
    "details": [
      {
        "appID": "TEAMID.application.id.goes.here",
        "paths": ["*"]
      }
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

我将我的Associated Domains设置为 applinks:stage.domain.com

但是当我尝试导航到stage.domain.comSafari时,它没有注册,我留在浏览器中.还有什么我需要做的吗?我知道我最终需要在应用程序中为各种页面设置路由,但这不是必要的要求吗?它应该只是拉起应用程序没有别的?或者我错过了什么?

另外,我的恢复处理程序:

func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([Any]?) -> Void) -> Bool {

    print("DEBUG GETS TO NSURL?")

    guard userActivity.activityType == NSUserActivityTypeBrowsingWeb,
        let url = userActivity.webpageURL

        else
    {return false}

    print("DEBUG GETS TO URL")

    return true
}
Run Code Online (Sandbox Code Playgroud)

它既没有调试条件.

Dan*_*all 8

你有没有在这里完成调试步骤:https://developer.apple.com/library/content/qa/qa1916/_index.html

我发现在上述参考文献的诊断部分的第一步中链接的验证工具非常有用.它将验证您是否正确设置了应用关联文件,如果不这样做,通常会提供一些指导.

更新:

根据您在下面关于Safari中无法使用的链接的评论,我建议您验证您的测试设备上是否禁用了该域的通用链接设置.

特别:

  • 如果用户打开一个通用的链接,并取到应用程序,没有在状态栏,如果挖掘,将用户带到该链接的网页版右上方的快捷方式,同时禁用通用链接打开应用程序.要重新启用应用的通用链接,您可以将链接粘贴到Notes或消息等应用中,长按它,然后选择"打开... [您的应用]".

  • 另一种可能是Safari中的网页试图通过Javascript打开通用链接或包含在重定向中.这些都不会奏效.

还有在这个博客帖子的详细信息,以及其他一些通用的链接问题一起: https://medium.com/mobile-growth/the-things-i-hate-and-you-should-know-about-apple-universal -links-5beb15f88a29

补充更新:

我怀疑你的情况:当用户直接在通用链接域中键入到Safari地址栏的URL时,Apple不会触发通用链接.假设用户明确地在Safari地址栏中输入了URL,正确的响应是在Safari中打开URL.在这种情况下,Safari会插入横幅,允许用户有意打开应用程序中的链接到页面顶部.

你可以自己测试一下:

  1. 安装Twitter应用程序
  2. 将URL粘贴到Safari的地址栏中的推文.请注意,它会在浏览器中打开推文页面.点击页面顶部"打开"链接的横幅,在Twitter应用中打开它.
  3. 再次打开Safari.现在谷歌"推特"这个词或以其他方式找到一个包含推文链接的页面(而不是在Safari地址栏中键入或粘贴URL)
  4. 请注意,点击链接会打开Twitter应用,而不是Safari中的页面.