デスクトップとモバイルのハイブリッドWebサイトを作成していますが、すべて同じページを共有しています。つまり、デスクトップとモバイルの2つの別々のURLを持っていません。可能であれば、ネイティブFacebookアプリでFacebookリンクを開くようにしています。それ以外の場合は、通常のURLに移動します。それを自動的に処理するFacebookスキームには何かありますか?
基本的に、モバイルアプリがインストールされていない場合、またはユーザーがデスクトップを使用している場合は、https://www.facebook.com/pages/ [pageid]にアクセスしてください。
モバイルアプリがインストールされている場合は、ここに移動します。
fb:// page/[pageid]
簡単な方法は、CSSメディアクエリです。
デバイス幅が小さい場合はfb://リンクを表示します。より大きな画面サイズの通常のhttp://リンク。
[〜#〜]編集[〜#〜]
<a href="https://facebook.com/page" class="large-screen">Clicky</a>
<a href="fb://page/mypage" class="small-screen">Clicky</a>
次に、CSS Mediaクエリを使用すると、画面のサイズに応じてリンクの1つが非表示になります。
[〜#〜]更新[〜#〜]
CSSを使用する代わりに、タイムアウトでX秒後にHTTP URLを開いた直後にディープリンクURLを開こうとすることにより、JavaScriptでより満足のいくユーザーエクスペリエンスを作成できます。
setTimeout(function () { window.location = "https://www.facebook.com"; }, 25);
window.location = "fb://";
HTTP URLは常に読み込まれますが、ディープリンクが使用できない場合、ディープリンクを開こうとすると、警告なしに失敗し、Webバージョンにフォールバックします。
出典: https://www.quora.com/How-does-Bitlys-Deep-Linking-detect-if-the-user-already-has-the-app-installed