让网站用户知道有可用的 iOS 应用程序
Posted
技术标签:
【中文标题】让网站用户知道有可用的 iOS 应用程序【英文标题】:Letting website users know that there is an iOS app available 【发布时间】:2012-08-10 20:05:35 【问题描述】:在 ios6 中,当用户访问您的网站并使用 iOS 设备时,有一种简单的方法可以让他们选择下载您的应用程序。
(我知道如何检测用户代理、编写 js 等。只是想看看是否有人为此编写了一个快速的不错的库。)
但是,由于该应用尚不可用,是否有任何好的解决方案可以让我们的用户知道我们有一个应用,并让他们下载它?但是,如果他们已经下载或关闭了该对话框,就再也不要显示该消息了吗?
编辑: 这是我过去使用过的,但由于我觉得它对用户很烦人而将其删除。只是寻找轻量级的例子。
/**
* Checks if this device is an iphone
*
* @version $Revision: 0.1
*/
puc.isIphone = function()
return (
(navigator.platform.indexOf("iPhone") != -1) ||
(navigator.platform.indexOf("iPod") != -1)
);
//end
/**
* Checks if this device is an ipad
*
* @version $Revision: 0.1
*/
puc.isIpad = function()
return (navigator.platform.indexOf("iPad") != -1);
//end
/**
* Function that checks if we are using a mobile browser and presents an option to view a differnt site
*
* @access public
*/
puc.mobile = function()
if (puc.isIphone() || puc.isIpad())
// Add link to remove cookie
$('#copyright').append('<p><a id="remove-iphone-cookie">Reset Mobile Preferences</a></p>');
// Allow Deleting of the cookie
$('#remove-iphone-cookie').click(function()
$.cookie('use_mobile', null);
alert('Preferences have been reset.');
return false;
);
if ($.cookie('use_mobile') == null)
var conf = confirm('Would you like to download the PUC Mobile iOS app?');
if (conf)
document.location = 'http://itunes.apple.com/us/app/puc/id424617272?mt=8&ls=1';
$.cookie('use_mobile', 'true');
else
// Never ask them again, unless they empty their cookies
$.cookie('use_mobile', 'false');
//end
//end if mobile
//end mobile
【问题讨论】:
只是关于这个主题的注释:如果您要走这条路线,请注意显示此消息的频率和位置。如果用户访问您网站的首页,请确保您可以提示他们下载您的应用程序(或通过消失的下拉横幅让他们知道),但对于指向您网站特定区域的任何深层链接,请不要不建议应用程序,用户想要访问您的内容,如果需要额外步骤或他们看到烦人的弹出窗口,他们只会离开您的网站。反正只是我的两美分:) 【参考方案1】:您的问题的第一部分很简单,您可以在浏览器上检测用户代理(iPhone、iPod、iPad 等的搜索...更多:http://p2p.wrox.com/content/articles/identifying-iphone-safari-user-agent)
你的问题的第二部分是你会在哪里出现不足。您将无法确定用户是否安装了该应用程序,因为 Apple 不会在其生态系统之外(尤其是通过网络)共享任何用户信息。因此,您需要至少在第一次向所有用户显示信息。然后,您可以设置一个 cookie 来跟踪他们看到的信息,但不能保证该 cookie 存在多长时间。
祝你好运!
【讨论】:
我知道怎么检测用户代理,写js等等。只是想看看是否有人为此编写了一个快速的不错的库。是的,我知道用户需要 cookie。我只是在寻找一个已经有人写过的很好的解决方案。 啊,这个问题的焦点大不相同。 :) 检查一下以进行检测:quirksmode.org/js/detect.html 无论您使用什么来检测,在检测/推广您的应用程序与您的网站时都会遇到同样的问题。 是的,刚刚添加了我已经使用的代码。猜猜我认为有人会有更优雅的东西。【参考方案2】:一旦您检测到 iOS 设备,例如此处的第二个示例 (http://www.w3schools.com/js/js_popup.asp),您始终可以使用 javascript 发送确认警报,而不是“您按下确定” ' 重定向到 AppStore URL,它将自动在 AppStore 中打开
【讨论】:
是的,刚刚添加了我已经使用的代码。猜猜我认为有人会有更优雅的东西【参考方案3】:嗯,你可以看看有没有安装应用。
如果应用程序侦听自定义 url 方案,您只需尝试使用它打开一个 url,如果浏览器在设置的超时后仍在页面上,则未安装。这是您实现打开应用程序或应用程序商店的链接。
这很棘手,因为如果确实安装了应用程序,您无法取消,该链接将始终打开您的应用程序。
【讨论】:
有趣的想法。但我认为它存在太多陷阱,无法成为可行的解决方案。以上是关于让网站用户知道有可用的 iOS 应用程序的主要内容,如果未能解决你的问题,请参考以下文章