iOS 9 - 重定向到通用 Link 不工作

iOS 9 - Redirect to Universal Link not working

假设我有两个域 - example.com 和 ex.co

example.com 我已经为 iOS 9 和我的 [=13= 配置了通用链接] 文件未签名,如下所示:

{
  "applinks": {
    "apps": [],
    "details": [
      {
        "appID": "JUSTEXAMPLE.com.example.app",
        "paths": [
          "link/example*"
        ]
      }
    ]
  }
}

我的应用程序也有 com.apple.developer.associated-domains 个条目 - applinks:example.com

点击 example.com/link/example?param=value(应用打开)一切正常


但我想做下一件事:

  1. 用户点击 ex.co/abc
  2. 用户获得 301 header(永久重定向)示例。com/link/example?param=value as location
  3. 应用打开,大家都很开心

第一个和第二个执行得很好,但在第三个我只得到空白页,顶部有小横幅,上面写着类似 'Would you like to open this page in app?' 和大 'OPEN' 按钮

PS: both websites are using valid HTTPS

PPS: I can't make apple-app-site-association for ex.co, cause it's going to have many short links, that will redirect to different pages on example.com for different apps

iOS 上的 Safari(9...谁知道下周会发生什么!)仅当用户实际采取特定操作打开 URL 时才响应通用链接。这是一个轻微的概括,但基本上是一个很好的指导方针。 301 重定向不符合条件,因此这就是您的应用无法打开的原因。

您可以使用的解决方法(我们在 Branch.io 中采用)是为 ex.co 域中的每个应用程序使用唯一的路径段(而不是 ex.co/abc,您d 有 ex.co/uniqueappid/abc)。然后你可以根据uniqueappid为每个应用程序单独触发通用链接。