4

Web アプリ (apple-mobile-web-app-capable) からネイティブ iOS アプリケーションを呼び出そうとすると、少し問題が発生します。Safari でカスタム URL スキームを使用してアプリを開くボタンを押すと、問題なく動作します。

ただし、ホーム画面に追加すると、次のエラーが表示されます: URL を表示できません。http または https へのリダイレクトは正常に機能しますが、 mysupercustomurlscheme:// を呼び出すと、上記のエラー メッセージが表示されます。

document.location.href、window.location などで開いてみましたが、うまくいかないようで、アイデアが尽きてしまいました。

誰かが何かアイデアを持っているなら、私は彼らを聞いてとても感謝しています.

前もって感謝します!

4

2 に答える 2

1

Tobias が参照しているものの例を投稿したかっただけです。サーバーでホストし、メールやソーシャル メディアなどにリンクする必要があります。アプリの URIApp 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 に答える
1

さて、これはやや不器用な方法ですが、機能し、同じことを達成しようとしている貧しい魂を助けるかもしれません.

まず、単純な HTML リンクを作成します。通常の HTML リンクは、Web アプリの全画面表示ではなく Mobile Safari で開くようです。リンク

redirect.html では、単純な JavaScript を使用してユーザーをリダイレクトするだけです。window.location = "mysupercustomurlscheme://"

以上です!これは確かに最善の方法ではありませんが、「かなり」シームレスです。それが少なくとも私が思いついたものです。他の提案があれば教えてください。

これが誰かを助けることを願っています!

于 2012-01-17T10:34:06.550 に答える