モバイル用Googleアドセンス設置でてこずったので、今後の為にメモっとく
追記:あれ?見直して見るとなんか変かも。あとで直す
コンテンツ用アドセンスは簡単で、javascriptソースを貼り付けるだけでいいんだけど、モバイル用アドセンスをSmartyのテンプレートファイルに表示させたい場合はちょっと面倒(でもないけど、分からなかったので)。
まぁ、ソースを貼るだけっちゃ貼るだけなんだけど。
まずはユーザーエージェントから「pc」か「mobile」かを判断
$agent = $_SERVER['HTTP_USER_AGENT']; if(preg_match("/^DoCoMo/i", $agent) or preg_match("/^(J\-PHONE|Vodafone|MOT\-[CV]|SoftBank)/i", $agent) or preg_match("/^KDDI\-/i", $agent) || preg_match("/UP\.Browser/i", $agent)){ $userAgent = 'mobile'; }else{ $userAgent = 'pc'; }
変数 agent にその情報を格納。
その後、mobileだったら下記を通す。
if($userAgent == 'mobile'){
googleに貼り付けなさいって言われたPHPソース
$google_ad_handle = @fopen(google_get_ad_url(), 'r');
if ($google_ad_handle) {
while (!feof($google_ad_handle)) {
//元はここで広告表示してるけど、今回テンプレートを使うので、
//変数にセット。
//echo fread($google_ad_handle, 8192);
$googleAdsenseMobile = fread($google_ad_handle, 8192);
$o_smarty->assign("googleAdsenseMobile",$googleAdsenseMobile);
}
fclose($google_ad_handle);
}
}
これらは別ファイルにしてインクルードすると良い。
Smartyテンプレート
{if $userAgent == "pc"} {include file="pc版ファイル"} {else} {$googleAdsenseMobile} {/if}
これでOK。