我正在使用Apple的smart app banner在本站上宣传我的应用程序,但这不适用于iPad或iPhone上的其他浏览器(即Chrome)。检测应用程序是安装在iPad或iPhone上(iOS6和iOS7)
因此,我实现了一个JS插件调用Smart App Banner,但在iOS7中,本机横幅能够检测应用程序已安装并打开它而不是去应用程序商店,是否有可能使用JS并检查是否安装了应用程序并打开应用程序而不是去应用程序商店?
我正在使用Apple的smart app banner在本站上宣传我的应用程序,但这不适用于iPad或iPhone上的其他浏览器(即Chrome)。检测应用程序是安装在iPad或iPhone上(iOS6和iOS7)
因此,我实现了一个JS插件调用Smart App Banner,但在iOS7中,本机横幅能够检测应用程序已安装并打开它而不是去应用程序商店,是否有可能使用JS并检查是否安装了应用程序并打开应用程序而不是去应用程序商店?
无法通过简单的JavaScript调用知道应用程序是否已安装。在分支指标中,我们从头构建了一个可自定义的应用程序下载横幅。让我描述一下你可以采取的一种基本方法,然后我将描述更高级的版本。
简易型
有一个按钮,上面写着“在应用程序视图”的一面旗帜。该按钮在点击时应该做两件事: 1.启动URI方案,但在iframe中隐藏错误消息 2.如果未安装应用程序,请使用setTimeout重定向到App Store或Play Store。
在人体中,有如下(这有助于隐藏一个丑陋的错误消息,如果触发应用程序的URI失败):
<iframe id="l" width="1" height="1" style="visibility:hidden"></iframe>
然后,当用户点击该按钮,断火以下脚本:
// Deep link to your app goes here
document.getElementById("l").src = "my_app://";
setTimeout(function() {
// Link to the App Store should go here -- only fires if deep link fails
window.location = "https://itunes.apple.com/us/app/my.app/id123456789?ls=1&mt=8";
}, 500);
对此的缺点是,你不知道是否安装了该应用使按键需要说一些通用的,如“视图中的应用程序”,而不是专门“安装”或“打开”,取决于是否该用户拥有该应用程序。
硬盘版(不这样做)
如果你想知道,在页面加载时,用户是否有应用程序,你将需要:
这是非平凡的,但肯定是可行的。简单的版本可以在几分钟内完成(你只需要弄清楚你想要你的横幅看起来像什么),而硬版本将需要后端和应用程序的修改和无休止的测试和调整,以获得数字指纹和匹配正确。我们在Branch工作了一年,知道它有多痛苦。
希望这会为您提供智能应用横幅的一些可行的解决方案。
请检查此: - http://stackoverflow.com/questions/2751640/is-there-a-way-to-determine-if-an-iphone-ipad-app-is-installed?rq=1 –
@PiyushDubey谢谢。 – calebo
你的问题解决了吗? –