通用链接不适用于网页链接

时间:2019-07-03 10:08:45

标签: ios asp.net-mvc amazon-web-services safari ios-universal-links

我知道在这个问题上有很多类似的问题,我尽力追随其中的许多问题,但仍然没有解决我的问题。任何帮助将不胜感激。

我有一台运行ASP.NET MVC的AWS服务器,并将文件apple-app-site-association放在.well-known文件夹下(使用适当的Web.config来分配mime类型)。我认为故事的这一部分没有配置错误,原因如下:

  1. 我在安装应用程序时查看了iPhone控制台日志,并且在访问我的apple-app-site-association文件时未报告任何错误。
  2. 如果我将链接粘贴到Note中,则通过单击该链接确实可以直接打开我的应用程序(不提示任何内容)。
  3. 当我扫描包含链接URL的QR码时,它会提示您使用我的应用打开它。

但是,如果我的网页包含一个使用<a href="...">元素的链接,那么当我使用Safari或Chrome打开该网页时,单击该链接甚至不会提示我的应用;它只是在浏览器中打开链接。无论如何尝试,都无法建立此类链接来打开我的应用。

我在使用Validation Tool测试URL时确实遇到问题,但是我找不到原因。它只是说“无法提取应用程序链接所需的信息”,而没有任何有助于我识别问题的额外信息。此外,为什么测试失败,但是上面的2.和3.有效?我不明白。

我也确实通过了Branch的考试。

有问题的链接的URL是一个https URL,与包含该链接的网页具有相同的域。

我可能要提到的一件事:当直接访问该URL时,服务器将响应服务器端重定向(取决于User-Agent到App Store或Google Play)。我也尝试过修改该URL,以使其响应包含客户端重定向的普通网页,但这没有什么区别。我网页上的链接仍在浏览器中打开,而不是打开我的应用程序。在带有客户端重定向的新页面中,如果我要打开App Store,它将提示我,如果我选择不,然后将页面向下拖动一点,我的确会看到“在应用程序中打开***”选项。出现(另一个证明事情应该正确的证据),但这不是我想要的;我想链接直接打开我的应用程序(例如,在Instagram等中)。

1 个答案:

答案 0 :(得分:0)

经过两天的挖掘,我终于找到了答案。问题恰恰是因为包含链接的网页和链接URL属于同一域。根据{{​​3}}(尽管是中文),自iOS v.9.2起,仅当页面和链接不是完全相同的域时,通用链接才会直接打开我的应用程序,而无需提示。这意味着使用其他子域也可以,而且确实可以,就像我刚刚尝试过的那样。

这也表明人们不必为官方this page担心太多;在那儿未通过测试并不一定意味着您做错了事。