umeda

【Facebook】1つのURLで、PC・スマホページを振り分ける

Facebookページ内で「いいね!」している方向けのキャンペーンページなどを作成する際、
PC用・スマホ用とURLを分けてタイムラインに投稿することが多いと思いますが、
今回は、リダイレクトファイルを使用することで URLを 1つにまとめた事例をご紹介いたします。
 

【目的】

PC・タブレットからは、PC版Facebookページ(タブページ)へ、
スマホからは、モバイル版公式サイト(※Facebookページではありません)へ遷移させたい。
 

【解説】

リダイレクトファイルを使用することで
OGP情報も生かしたまま、PCとスマホを振り分けつつ URLを 1つにすることができます。
告知や情報をシェアをする場合も、このリダイレクトファイルのURLをお知らせするだけで大丈夫です。
 

【リダイレクトファイルのコード】
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja" dir="ltr" xmlns:og="http://ogp.me/ns#" xmlns:fb="http://www.facebook.com/2008/fbml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta property="og:title" content="【タイトル】" />
<meta property="og:type" content="article" />
<meta property="fb:app_id" content="【アプリID】" />
<meta property="og:url" content="【このリダイレクトファイルのパス】" />
<meta property="og:image" content="【OGP画像のパス】" />
<meta property="og:site_name" content="【サイト名】" />
<meta property="og:description" content="【description】">
<title>【ページタイトル】</title>
<script type="text/javascript">
function checkDevice(device) {
   var ua = navigator.userAgent;
   if (device == 'apple') { return RegExp('iphone|ipod|ipad', 'i').test(ua); }
   else if (device == 'android') { return RegExp('android', 'i').test(ua); }
   else if (device == 'mobile') { return RegExp('iphone', 'i').test(ua) || (RegExp('android', 'i').test(ua) && RegExp('mobile', 'i').test(ua)); }
   else if (device == 'tablet') { return RegExp('ipad|android', 'i').test(ua); }
   else if (device == 'android mobile') { return RegExp('android', 'i').test(ua) && RegExp('mobile', 'i').test(ua); }
   else if (device == 'android tablet') { return RegExp('android', 'i').test(ua); }
   else { return RegExp(device, 'i').test(ua); }
}

if (checkDevice('iphone')) {location.href = 'https://【モバイル用ページ】';}
else if (checkDevice('ipad')) {location.href = 'https://www.facebook.com/pages/【遷移先のFacebookページ】';}
else if (checkDevice('android mobile')) {location.href = 'https://【モバイル用ページ】';}
else if (checkDevice('android tablet')) {location.href = 'https://www.facebook.com/pages/【遷移先のFacebookページ】';}
else{location.href = 'https://www.facebook.com/pages/【遷移先のFacebookページ】';}
</script>
</head>
<body>
</body>
</html>

※『https://www.facebook.com/pages/【遷移先のFacebookページ】』部分は
実際は以下のような形式になります。
https://www.facebook.com/pages/(Facebookページ名)?sk=app_000000000000000(タブページのアプリID)』
 


(参考)

UAごとにリダイレクト/表示切替する方法( Javascript編 / PHP編 ) | superChemical
http://zxcvbnmnbvcxz.com/%E3%83%86%E3%82%B9%E3%83%88/
 

 

こちらでご紹介しました情報は、2013年7月10日現在のものです。 仕様変更により正常に動作しなくなることも考えられますので、 今後のFacebookの公式発表に十分ご注意ください。
新しいウェブ体験を作ろう TAMのPWA開発
お問い合わせはこちら