iOS自定义URL方案与Universal Links和Android对应方案

我正在寻找功能,当用户收到消息时 – 让我们说通过WhatsApp应用程序 – 包含以某个方案(前缀)开头的链接,当用户点击该链接时,我的应用程序将被调用.

我知道这个功能已经可以作为“自定义URL方案”使用,但我现在也注意到Universal Links有类似的东西.那么,“自定义URL方案”有什么问题吗?我不想使用Universal Links,因为我不希望我的应用程序仅限于iOS 9.

此外,看起来Android也具有客户URL的这一功能,但同样,在最新的Android版本6.0上,它提到了here它们还具有“App Links”功能,该功能仅适用于Android 6.0.那么,再说一次,这两者有什么区别?

我不想限制我的应用程序仅适用于iOS9或Android 9.所以我想传统的“自定义URL方案”对我来说暂时更具吸引力.

此外,我想确保当用户点击WhatsApp上的链接时“自定义URL方案”将起作用,或者只有在Web浏览器或邮件上的链接时它才会起作用.

最佳答案 具有自定义方案的网址不会在许多Android应用程序(SMS,电子邮件,WhatsApp,环聊,您的名字)中显示为链接,这实际上使您的应用程序无法打开它们.但是,iOS不允许定义方案主机路径 like android does.

一个可能的(hacky)解决方案是浏览器嗅探(我知道,邪恶,但是对于明确定义的行为的非标准扩展,特别是如果一开始没有任何内容被破坏),您在可通过URL访问的资源上HTTP(S).

您可以检查请求是否来自您提供本机应用程序的iOS平台;然后你必须确保设备安装了你的应用程序(这变得更加丑陋和丑陋;见here for example)然后,只有重定向到yourapp://你的/你的/ uri,这会导致提示向用户显示他们是否想要打开应用程序内的地址. (在iOS 4,Safari浏览器的iPhone 4上测试过.)

点赞