FacebookのURLクリックでアプリを開く

クラウドソーシングの依頼ネタです。

FacebookグループへのURLをクリックした相手が、アプリで開けるようにしたいようです。

URLスキームを使用してFacebookアプリを開く

Facebookには、"fb"というURLスキームが用意されているようです。

よって、スマホのFacebookへのリンクを、「fb:〜」のように Javascript で差し替えれば良いことになります。

URLスキームを利用して、アプリが入ってたらアプリ起動、入ってなかったらストアへ

    <div style="width: 0; height: 0; overflow: hidden;">
        <iframe id="launch_frame" name="launch_frame"> </iframe>
    </div>

    <a href="https://www.facebook.com/Facebookページ固有の文字列/">サイトを開く</a>

    <script>
        // アプリを開く。アプリがインストールされていなければサイトを開く。
        function launchApp() {
            var IOS_SCHEME = 'fb://page?id=FacebookページID';
            var IOS_STORE = 'https://apps.apple.com/jp/app/facebook/id284882215';
            var ANDROID_SCHEME = 'fb://page/FacebookページID';
            var ANDROID_PACKAGE = 'https://play.google.com/store/apps/details?id=com.facebook.katana&hl=ja&gl=US';
            var PC_SITE = 'https://www.facebook.com/Facebookページ固有の文字列/'

            var userAgent = navigator.userAgent.toLowerCase();
            // iPhone端末ならアプリを開くかApp Storeを開く。
            if (userAgent.search(/iphone|ipad|ipod/) > -1) {
                launch_frame.location.href = IOS_SCHEME + '://';
                setTimeout(function() {
                    location.href = IOS_STORE;
                }, 500);
            }
            // Android端末ならアプリを開くかGoogle Playを開く。
            else if (userAgent.search(/android/) > -1) {
                document.location = 'intent://#Intent;scheme=' + ANDROID_SCHEME
                        + ';package=' + ANDROID_PACKAGE + ';end';
            }
            // その他・不明・PCなどの場合はサイトを開く。
            else {
                document.location = PC_SITE;
            }
        }

        // ページ読み込み時に実行
        window.onload = function() {
            launchApp();
        }
    </script>

参考

  • Facebookページをスマホアプリで直接開くリンクの仕込み方 [SNS]
    https://16deza.com/open-facebookpage-in-app-directly/
  • Web側から特定アプリがインストールされているか判定・処理する方法 #魔法のランプ編
    https://qiita.com/oigus-k/items/03044da9a9f7f1754346
  • URLスキームを利用して、アプリが入ってたらアプリ起動、入ってなかったらストアへ!を実現。
    https://qiita.com/tarusawa_ken/items/9d9a8b7b6ca8b6984eb9
  • スマホからURLスキームでfbアプリを呼び出す方法について

その他

Posted by iwadjp