使用iOS 9 Universal Links从Safari打开应用程序

时间:2015-06-30 21:27:29

标签: ios ios9 ios-universal-links

在这种情况下:

  1. Twitter的官方应用程序已注册处理iOS 9上的Universal Links处理twitter.com网址
  2. 用户从Safari启动并安装了Twitter的官方应用程序
  3. 用户点击Twitter声明的网址之一的链接
  4. 会发生什么?它是否留在Safari中或切换到Twitter的应用程序?

5 个答案:

答案 0 :(得分:3)

Does it stay within Safari or switch to Twitter's app?

留在Safari。

更新:一种解决方法是拥有一个也用于Universal Links的第二个子域。保持Twitter的例子,如果Twitter使用ul.t.co获取链接,那么点击ul.t.co 的twitter.com上的用户将被带入Twitter应用程序。 Branch的用户可以从这个"功能"中受益通用链接。

这似乎是Universal Links的固有限制。如果有人解决了这个问题,我很乐意听到解决方案。

请注意,仍然可以在iOS 9的浏览器中触发URI方案 - 我们在我的公司Branch执行此操作。您需要注意的是,您无法像在iOS 8及更低版本中那样在iframe中触发URI方案。

所以我建议检查navigator.agent和:

  1. 如果是iOS 9,如果您想尝试打开Twitter应用,请设置window.location = 'twitter://';。如果他们没有安装Twitter,用户将看到错误消息。

  2. 如果是iOS 8或更低版本,您仍然可以在iframe中触发URI方案,如果未安装该应用,用户将看不到错误消息。

答案 1 :(得分:3)

Does it stay within Safari or switch to Twitter's app?

切换到Twitter应用程序(使用Twitter应用程序v6.39在iOS 9.1上测试),除非您已将其关闭(请参阅st.derrick于2015年9月24日在iOS9: Universal Links does not work中的评论)。< / p>

答案 2 :(得分:2)

直接来自Apples Website

  

使用通用链接启用您的应用程序处理您网站的链接

重点关注您的网站。此功能使用许多内容的组合,其中一个是共享Web凭据。其总结如下:

  

访问共享网络凭据需要获得应用,网站和用户的许可。

为了满足访问权限,必须创建关联:

  

将apple-app-site-association文件添加到您的网站。此文件必须包含该网站要与之共享凭据的所有应用程序的应用程序标识符,并且必须正确签名。

所以简而言之,是的,但也没有。它必须得到所有机构/团体的支持(网站和应用程序,就像切换一样)。在您的情况下,如果Twitter包含适用于通用链接的证书(以及Apple包括权利),那么它将重定向它们,因为它已经存在。

要专门回答您的问题,该技术本身可用于完全绕过整个Safari,方法是将用户直接发送到相关应用,而不是通过添加特定权利来进行http调用到你自己的应用程序(com.apple.developer.associated-domains),即使我明白你的意思。它不适用于Safari

答案 3 :(得分:0)

住在萨法里。

从我的经验来看,当点击来自其他应用程序(iMessage,Mail,Slack等)的链接以及从safary中的google搜索结果中点击时(如果结果链接到applinks-page),应用程序会打开

答案 4 :(得分:0)

它打开官方Twitter应用程序中的链接。

来自Apple's docs

  

通用链接可让iOS 9用户在点按链接时打开您的应用   您的网站在WKWebView和UIWebView视图和Safari页面中   除了导致调用openURL的链接外,例如那些   发生在邮件,消息和其他应用程序中。

     

对于运行早于9.0版本的iOS的用户,请点按   通往您网站的通用链接可在Safari中打开链接。