使用Apple Universal Linking强制打开应用程序

时间:2016-12-22 10:17:00

标签: ios ios-universal-links

我在我的应用中设置了通用链接。

现在,当我在Safari浏览我的网站并访问UL注册链接时,它会在safari中打开并询问我是否要在我的应用程序中打开。

有没有办法在应用中始终打开?没有提示在应用程序中打开,只是在安装时打开,否则继续在safari中。

1 个答案:

答案 0 :(得分:10)

这里有两个不同的问题:

1。在Safari中,通用链接的URL需要位于与其出现的页面不同的域/子域

Apple非常保守,允许使用Universal Links。 Safari中的一个限制是,如果用户已经在浏览同一个站点,则不允许打开应用程序(这种页面感觉 - 如果用户努力在Safari而不是应用程序中打开网站,则可能会令人讨厌如果该网站上的每个链接都试图打开该应用,尤其是如果该应用未正确配置深层链接路由

解决方法是为要打开应用的链接使用单独的域/子域。例如,如果您的网站位于example.com,请将您要打开该应用的任何链接指向link.example.com,然后将没有该应用的用户重定向回主网站或转发到App Store。这实际上是我们在Branch.io建立的系统(您可以考虑使用它而不是自己重新构建它!)

2。您所描述的不是通用链接行为

Universal Links会在打开应用程序之前 要求用户确认,即使是第一次。他们总是立即打开应用程序,甚至没有请求网页,直到/除非用户明确禁用它们(这实际上很容易做到)。您所描述的是自定义URI方案的行为,因此我怀疑您可能在Universal Link指向的页面上有某种自动重定向到应用程序的URI方案。在大多数情况下,这实际上不是最好的主意,因为没有应用程序的用户会看到一个讨厌的错误消息。