让网站用户知道有可用的 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 应用程序的主要内容,如果未能解决你的问题,请参考以下文章

将补丁应用到 Asp.Net MVC 网站

在有新版本可用时更新 ios 应用程序

如何知道试用版在 iOS 应用中可用

如何将文件从网站下载到用户的 iCloud

通过网站执行任务并返回 iOS 应用程序

iOS iTunes 商店国家