gpt4 book ai didi

javascript - 检测 iPad 或 iPhone(iOS6 和 iOS7)上是否安装了应用程序

转载 作者:行者123 更新时间:2023-11-28 08:36:17 25 4
gpt4 key购买 nike

我正在使用 Apple 的 smart app banner在网站上推广我的应用程序,但这不适用于 iPad 或 iPhone 上的其他浏览器(即 Chrome)。

因此我实现了一个 JS 插件调用 Smart App Banner ,但在 iOS7 中, native 横幅能够检测应用程序是否已安装并打开它,而不是去应用程序商店,是否可以使用 JS 执行相同的操作并检查应用程序是否已安装并打开应用程序而不是去到应用商店?

最佳答案

使用简单的 JavaScript 调用无法知道应用程序是否已安装。在 Branch Metrics,我们从头开始构建了一个可定制的应用程序下载横幅。让我描述您可以采用的一种基本方法,然后我将描述更高级的版本。

简单版

有一个横幅,上面有一个按钮,上面写着“在应用程序中查看”。单击该按钮时应该执行两件事: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 来查找用户是否拥有该应用程序。如果是这样,则返回带有文本“open”的横幅。如果没有,则返回带有文本“安装”的横幅。

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

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

关于javascript - 检测 iPad 或 iPhone(iOS6 和 iOS7)上是否安装了应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21129417/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com