2014-01-15 59 views
1

我正在使用Apple的smart app banner在本站上宣传我的应用程序,但这不适用于iPad或iPhone上的其他浏览器(即Chrome)。检测应用程序是安装在iPad或iPhone上(iOS6和iOS7)

因此,我实现了一个JS插件调用Smart App Banner,但在iOS7中,本机横幅能够检测应用程序已安装并打开它而不是去应用程序商店,是否有可能使用JS并检查是否安装了应用程序并打开应用程序而不是去应用程序商店?

+1

请检查此: - http://stackoverflow.com/questions/2751640/is-there-a-way-to-determine-if-an-iphone-ipad-app-is-installed?rq=1 –

+0

@PiyushDubey谢谢。 – calebo

+0

你的问题解决了吗? –

回答

0

无法通过简单的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); 

对此的缺点是,你不知道是否安装了该应用使按键需要说一些通用的,如“视图中的应用程序”,而不是专门“安装”或“打开”,取决于是否该用户拥有该应用程序。

硬盘版(不这样做)

如果你想知道,在页面加载时,用户是否有应用程序,你将需要:

  1. 保持一在连接到该用户的浏览器中的cookie
  2. 获取用户的数字指纹(IP地址,操作系统,操作系统版本,屏幕大小等)并将其发送到您的后端。将此与Cookie相关联。
  3. 当用户打开您的应用程序时,发送相同的数字指纹。您的后端可以将其与基于浏览器的数字指纹进行匹配,并且请注意,此用户/ cookie具有应用程序
  4. 在随后访问您的网站(其中包含横幅)时,返回页面的服务器应使用cookie来查找该用户拥有该应用程序。如果是这样,请返回带有“打开”文本的横幅。如果不是,则返回带有文本“安装”的横幅。

这是非平凡的,但肯定是可行的。简单的版本可以在几分钟内完成(你只需要弄清楚你想要你的横幅看起来像什么),而硬版本将需要后端和应用程序的修改和无休止的测试和调整,以获得数字指纹和匹配正确。我们在Branch工作了一年,知道它有多痛苦。

希望这会为您提供智能应用横幅的一些可行的解决方案。

相关问题