我正在寻找功能,当用户收到消息时 - 让我们通过WhatsApp应用程序说 - 包含以某个方案(前缀)开头的链接,当用户点击该链接时,我的应用程序将被调用。 / p>
据我所知,此功能已作为“自定义网址方案”提供,但我现在也注意到,Universal Links也有类似的功能。那么,“自定义URL方案”有什么问题吗?我不想使用Universal Links,因为我不希望我的应用程序仅限于iOS 9。
此外,看起来Android也具有客户URL的这一功能,但在最新的Android版本6.0中,它提到here它们还具有“App Links”功能,该功能仅适用于Android 6.0。那么,这两者之间有什么区别?
我不想限制我的应用仅适用于iOS9或Android 9.因此我认为传统的“自定义网址方案”对我来说暂时更具吸引力。
此外,我想确保当用户点击WhatsApp上的链接时“自定义URL方案”能够正常工作,或者只有当网页浏览器上的链接或邮件时,它才会起作用。
答案 0 :(得分:1)
自定义方案的网址不会在许多Android应用程序(短信,电子邮件,WhatsApp,环聊,您的名字)中显示为链接,这实际上使您的应用程序无法打开它们。但是,iOS不允许定义scheme + host + path like android does。
一个可能的(hacky)解决方案是浏览器嗅探(我知道,邪恶,但是对于明确定义的行为的非标准扩展,特别是如果一开始没有任何内容被破坏)在您通过可通过HTTP访问的URL。
您可以检查请求是否来自您提供原生应用的iOS平台;然后你必须确保设备安装了你的应用程序(这会变得更加丑陋和丑陋;请参阅here for example),然后只有重定向到{{1}},这会向用户显示提示他们是否想要打开应用程序内的地址。 (在iOS 4,Safari浏览器的iPhone 4上测试过。)