【问题标题】:How can I send user to App Store to install app, or to app with variables from a website?如何将用户发送到 App Store 以安装应用程序,或从网站发送到带有变量的应用程序?
【发布时间】:2012-12-01 22:19:02
【问题描述】:

我正在从网站上寻找一种方法,以确定设备上是否安装了 Apple 应用程序。这可能是一种将用户发送到 App Store 并从那里转发到相关应用程序的链接形式,或者是一种检测方法,当检测到应用程序丢失时提示用户安装该应用程序。我正在寻找的关键是没有错误消息(如果可能的话),但更重要的是,如果用户确实安装了该应用程序,则不会提示用户安装它。

普遍接受的解决方案 (Is it possible to register a http+domain-based URL Scheme for iPhone apps, like YouTube and Maps?) 自 IOS 6 或适用于 iPhone/iPad/iPod Touch 的 Chrome 发布以来不再有效。

我们将不胜感激地收到有关此问题的任何帮助。 :)

【问题讨论】:

  • 从 iOS 6 开始,您可以将所需应用的元数据添加到您的 html 中,并且操作系统将显示一个横幅,邀请您打开应用或下载它,具体取决于它是否安装。

标签: iphone ios ipad ios6


【解决方案1】:

这是您需要在服务器上托管并链接到电子邮件、社交媒体等的页面的具体示例。只需替换为您的应用程序的 URI 和您的 App Store 链接。请注意,iframe 适用于更多浏览器。

<!DOCTYPE html>
<html>
    <body>
        <script type="text/javascript">
            window.onload = function() {
                // 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);
            };
        </script>
        <iframe id="l" width="1" height="1" style="visibility:hidden"></iframe>
    </body>
</html>

因此,如果用户安装了您的应用程序,则带有 URI 的链接将成功,并且您将存在浏览器,然后才能触发重定向到 App Store 的脚本。如果用户没有您的应用,则重定向成功(在简短的丑陋错误消息之后)。

还有第二种可能性(避免错误消息)首先依赖于 cookie,而 javascript 重定向仅作为后备。逻辑如下:

当没有应用程序的用户首先点击指向您应用程序的链接时,他或她会被直接重定向到 App Store。这是通过指向您的应用程序的链接来实现的,该链接实际上是您的服务器上使用重定向动态生成的页面。您创建一个 cookie 并在您的后端记录 IP 地址、操作系统、操作系统版本等的“数字指纹”。

当用户安装并打开应用程序时,您会收集另一个“数字指纹”并将其发送到您的后端。现在您的后端知道该链接已安装在对与您的应用关联的链接的任何后续访问中,您的服务器会根据随请求发送的 cookie 确保动态生成的重定向页面指向应用,而不是应用商店。

这避免了丑陋的重定向,但涉及大量工作。我在Branch 工作,我们在那里构建了它,并将它提供给任何想要使用它的开发人员。如果您对从头开始构建它有任何疑问,请随时与我们联系。

【讨论】:

    【解决方案2】:

    您可以使用Custom URL Scheme 来实现。

    在 javascript 方面(网络),您可以使用以下问答中提供的 javascript 示例(Ievgen 的回答): Determine if an app exists and launch that app on iOS

    【讨论】:

    • 问题是关于从网站上确定它。
    • @Moxy 答案也涵盖了这一点。
    • 所以我没有认为现有的解决方案不再有效。我还注意到目标是不显示错误消息。请在下次回答之前阅读问题。
    • 如果您不想要“confirm()”消息框,为什么不简单地删除对confirm() 的函数调用,然后做任何您喜欢的事情?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-23
    • 1970-01-01
    • 2012-01-29
    • 1970-01-01
    相关资源
    最近更新 更多