繁体   English   中英

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

[英]Opening apps from Safari with iOS 9 Universal Links

在这种情况下:

  1. Twitter的官方应用程序已注册,可处理iOS 9上具有Universal Links的twitter.com URL
  2. 用户从Safari启动并安装了Twitter的官方应用程序
  3. 用户单击Twitter声明的URL之一的链接

怎么了? 它是否保留在Safari中或切换到Twitter的应用程序?

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

留在Safari中。


更新:一种解决方法是拥有另一个也用于通用链接的子域。 与Twitter示例保持一致,如果Twitter使用ul.t.co进行链接,则twitter.com上单击ul.t.co的用户被带到Twitter应用程序中。 Branch的用户将从通用链接的“功能”中受益。


这似乎是通用链接的固有限制。 如果有人解决了这个问题,我很想听听解决方案。

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

因此,我建议检查navigator.agent和:

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

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

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

切换到Twitter的应用(iOS 9.1测试使用Twitter的应用程序v6.39),除非你已经把它关闭(见注释st.derrick于2015年9月24日在iOS9:通用链接不工作 )。

直接从苹果网站

使用通用链接使您的应用能够处理指向您网站的链接

重点放在您的网站上。 此功能使用了很多东西的组合,其中之一就是共享Web凭据。 总结如下:

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

为了实现访问权限,必须创建一个关联:

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

简而言之,是的,但也没有。 它必须得到所有机构/部门的支持(网站和应用程序,就像交接一样)。 在您的情况下,如果twitter包含适当的通用链接证书(以及Apple包括权利),则它将像以前那样重定向它们。

为了明确回答您的问题,该技术本身可以通过将用户直接发送到有问题的应用程序来完全绕开 Safari,而不是通过向您自己的应用程序(com.apple.developer .associated-domains),即使我理解您的意思。 不是为Safari开发的

留在萨法里。

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

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

苹果的文档

通用链接使iOS 9用户可以在WKWebView和UIWebView视图以及Safari页面中点击指向您网站的链接时打开您的应用程序,此外还可以导致调用openURL:的链接,例如出现在Mail,Messages和其他应用程序中的链接。应用。

对于运行9.0之前的iOS版本的用户,点击指向您网站的通用链接可在Safari中打开该链接。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM