4

尝试从我的网络应用程序(apple-mobile-web-app-capable)调用我的本机 iOS 应用程序时遇到了一些麻烦。每当我在 Safari 中按下按钮以使用自定义 url 方案打开我的应用程序时,效果都很好。

但是,当我将它添加到主屏幕时,我遇到了错误:无法显示 URL。重定向到 http 或 https 可以正常工作,但如果我调用 mysupercustomurlscheme:// 我会收到上面的错误消息。

我尝试通过 document.location.href、window.location 等打开它,但似乎没有任何效果,而且我已经没有想法了。

如果有人有任何想法,我将非常感激听到他们的声音。

提前致谢!

4

2 回答 2

1

好的,这是一种有点笨拙的方法,但它确实有效,并且可能会帮助一些试图实现相同目标的可怜人。

首先,创建一个简单的 HTML 链接,显然,常规 HTML 链接在 Mobile Safari 中打开,而不是在 Web 应用程序的全屏视图中打开。关联

在redirect.html 中,您只需使用一些简单的javascript 重定向用户。window.location = "mysupercustomurlscheme://"

就是这样!这当然不是最好的方法,但它“相当”无缝。至少我是这么想的,如果您有任何其他建议,请告诉我。

希望这对某人有帮助!

于 2012-01-17T10:34:06.550 回答
1

只是想发布一个 Tobias 引用的示例。您需要在您的服务器上托管并链接到电子邮件、社交媒体等。只需替换为您的应用程序的 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 的脚本。如果用户没有您的应用程序,则重定向成功(在简短的丑陋错误消息之后)。我是Branch的开发人员,我们使用它,因此请随时与实施中的问题联系。

于 2015-02-23T19:43:33.010 回答