Facebookがウェブページを開いたときに自動でFacebookアプリを起動し、指定したユーザーのページを開く方法

ウェブページを開いたときに、自動でFacebookアプリを起動し、特定のFacebookページ(ユーザーや会社のページなど)を直接表示させたい場合の設定方法をまとめました。
この方法はモバイルユーザーのFacebook誘導を強化したい場合に特に便利です。
ページIDの取得方法
まず、アプリで直接開きたいFacebookページのIDを確認します。
- 自分が管理しているページの場合:「概要(About)」欄で確認できます。
- 他人のページの場合:ページのHTMLソースを表示し、
content="fb://page/585099261681404?referrer=app_link"
などの形で記載されている部分から数字(=ページID)を取得します。
なぜiOSとAndroidで書き方が違うのか
両方のユーザーに快適な導線を用意するため、端末判別(User-Agentなどで)を行い、それぞれ専用の記述に分岐させるのがベストプラクティスです。
iOS(iPhone/iPad)とAndroidは、FacebookアプリのURLスキーム仕様が異なるため、リダイレクト(遷移)用のコードも違います。
自動ジャンプの実装方法
iPhoneの場合
<meta http-equiv="refresh" content="0;fb://page?id=585099261681404">
Androidの場合
<meta http-equiv="refresh" content="0;fb://page/585099261681404">
重要:
- JSやサーバーサイドでUser-Agent判定して、違うファイルに飛ばすのが確実で
- 端末ごとに必ず書き分けましょう。
手動での遷移
ウェブページのあるリンクをクリックすると、Facebookアプリが起動して指定のページを開くと仮定します:
Android:
<a href="fb://page/585099261681404">リンク</a>
iOS:
<a href="fb://page?id=585099261681404">リンク</a>
サンプルパッケージ
ダウンロードをクリック:fb-redirect.rar
説明:index.htmlでクライアントの種類を判別し、それぞれ異なるファイルに遷移させています。こうすることで、異なるクライアントに対して別々のコードを提供することができます。
【補足1】PCの場合はどうなる?
- PCのブラウザで同じリンクやリダイレクトを使っても、Facebookアプリは存在しないためエラーになります。
- PCの場合は自動遷移をせず、通常のFacebookウェブURL(例:https://www.facebook.com/xxxx)へのリンクや案内文を表示するよう分岐しましょう。
【補足2】アプリがインストールされていない場合
- ユーザーがFacebookアプリをインストールしていない場合、リダイレクトやリンクはエラーになることがあります。
- そのため、フェイルセーフとして「Webで開く」ボタンも設置しておくのが安心です。
<a href="https://www.facebook.com/ページのユーザー名やID">Web版で開く</a>
【補足3】SEOに関する注意
- meta refreshやリダイレクトページ自体は検索エンジンにとって評価されにくいため、SEO対策が必要なページでは使いすぎに注意。
- 情報コンテンツは通常ページで、アプリ起動ページは専用ファイルにするのがおすすめ。
【よくあるトラブル・注意点】
- URLスキームの誤記: iOSとAndroidで書き方が異なるので、混同しないよう注意。
- 新しいOSやFacebookの仕様変更: たまにスキームが変更されることがあるため、動作確認は定期的に行う。
- WebViewでは正常動作しない場合も: 一部のアプリ内ブラウザではこの挙動がブロックされることがあります。
- プライバシー/セキュリティ設定によりジャンプが失敗するケースもある(必ずフォールバックを用意)。
まとめ
- FacebookページのIDを取得し、端末ごとに適したURLスキームで自動または手動でアプリを起動する方法を解説しました。
- 端末判別、PC対応、フェイルセーフ(Web版リンク)を組み合わせることで、より良いユーザー体験が実現できます。
- サンプルパッケージも参考に、自社サイトやLPでFacebook流入を強化しましょう。