5

我正在从网站上寻找一种方法,以确定设备上是否安装了 Apple App。这可能是一种将用户发送到 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上不起作用。

任何有关此问题的帮助将不胜感激。:)

4

2 回答 2

0

You can use a Custom URL Scheme to achieve that.

On the javascript side (web) you can use the javascript example presented on the following Q&A (answer by Ievgen): Determine if an app exists and launch that app on iOS

于 2012-12-13T22:46:32.630 回答
0

这是您需要在服务器上托管并链接到电子邮件、社交媒体等的页面的具体示例。只需替换为您的应用程序的 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工作,我们在那里构建了它,并将它提供给任何想要使用它的开发人员。如果您对从头开始构建它有任何疑问,请随时与我们联系。

于 2015-02-23T19:39:54.017 回答