携帯版Googleアドセンス::PHPにアドセンスを組み込む

By uchida - 08/12/12 - このエントリをはてなブックマークに追加このエントリをYahoo!ブックマークに追加このエントリをdel.icio.usに追加このエントリをFC2ブックマークに追加

グーグルアドセンスとはサイトに広告を表示させクリック報酬型でお金が貰えるサービスです。
携帯サイトを作成するのに必要ではないのですが、きっと興味のある方も沢山おられると思いましたので記事にしてみました。

まずhttps://www.google.com/adsense/にログインして、AdSensの設定タグを選択します。
そこから各プロダクトの一覧が表示されますので、モバイル コンテンツ向け AdSenseを選択します。

ステップその1 広告タイプの選択
まず、1ページに表示できる広告数は1枚にかぎりですという注意文があります。
もし他サービス広告などを表示していた場合はアカウントを削除される恐れがありますのでご注意下さい。

広告ユニットをセレクトボックスから選択します。
・テキスト広告およびイメージ広告(デフォルト)
・テキスト広告のみ
・イメージ広告のみ

ステップその2 広告スタイルの選択
・形式
シングルとダブルから選択できます。こちら1つの広告か2つ続きの広告かの選択になります。
・マークアップ言語
サイトを構築している言語を選択します。お使いの言語が分からないときは以下で確認できます。
wml … 新規ブラウザでサイトを表示した時、wmlタイトルのポップアップが表示される場合
XHTML … ソースコードが<?XML…から始まっている場合
chtmlまたはhtml … ソースコードが<!DOCTYPE HTML…から始まっている場合

・文字エンコード
サイトを構築している文字コードを選択します。
携帯サイトの場合はキャリアによりエンコードが違うため「自動検出」を選択しましょう。
・色
手抜きをするとクリック数に影響がでるみたいなので、ここは慎重に選びましょう。
ただ、簡単に再作成できますので何度でもチャレンジできます。

ステップその3 広告チャネルを選択
・チャンネル
チャンネルを選択します。各サイトごとにパフォーマンスの集計を行うことができます。
複数サイトを運用する場合は、各サイトごとのチャンネルを作成すればよいでしょう。
また、オプションでターゲットを指定することができます。

ステップその4 広告コードを取得
・サーバサイトのスクリプト言語
こちらのページで選択した言語で広告を表示するプログラムが自動生成されます。

以上でadsenseの設定は終了です。では、実際プログラムに組み込むにはどうしたらよいのでしょうか?

アドセンスを表示するプログラムを作成する

広告を表示するプログラムをPHPのサンプルを交えて解説します。

$GLOBALS['google']['ad_type']='text_image';
$GLOBALS['google']['channel']='**********';
$GLOBALS['google']['client']='pub-************';
$GLOBALS['google']['format']='mobile_single';
$GLOBALS['google']['https']=$_SERVER['HTTPS'];
$GLOBALS['google']['host']=$_SERVER['HTTP_HOST'];
$GLOBALS['google']['ip']=$_SERVER['REMOTE_ADDR'];
$GLOBALS['google']['markup']='xhtml';
$GLOBALS['google']['oe']='utf8';
$GLOBALS['google']['output']='xhtml';
$GLOBALS['google']['ref']=$_SERVER['HTTP_REFERER'];
$GLOBALS['google']['url']=$_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
$GLOBALS['google']['useragent']=$_SERVER['HTTP_USER_AGENT'];

このソースはgoogleが自動作成したPHPソースの先頭です。
AdSens設定で変化が起こるのはこの部分になります。
他の部分はクラスにまとめるのがよいでしょう。また、プロキシサーバーを使用している場合サーバーの変数名に違いがあるので注意が必要です。※せっかくクリックされてもカウント対象にならないので。。。
同サイトに複数設定のあるアドセンスを使用する場合はこれらの変数を変更するようにします。チャンネルごとにファイル分けすれば管理が楽になります。

$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);

    return $googleAdsenseMobile;
  }
  fclose($google_ad_handle);
}

googleが作成したプログラムの最後に実行処理が書かれています。これをサイトに合わせましょう。
このサンプルはテンプレートを使用したサイトのプログラムの例です。

//echo  fread($google_ad_handle, 8192);

この部分を変数に持たせ、それを返しています。この変数の中にHTMLの文字列が入ります。
これをテンプレートに組み込めば完成です。
簡単にかつ管理し易くするのであれば、実行プログラムをメソッド化し、それ以外のプログラムを別PHPプログラムファイルに振り分けるのがよいでしょう。

   function getGoogleAdsense($管理キー) {
        // ライブラリ取り込み
        require_once $管理キー. '.php';

        //アドセンスハンドル取得
        $google_ad_handle = @fopen(google_get_ad_url(), 'r');
        if ($google_ad_handle) {
              while (!feof($google_ad_handle)) {
                  $googleAdsenseMobile = fread($google_ad_handle, 8192);

                  return $googleAdsenseMobile;
             }

            fclose($google_ad_handle);
        }

        return;
   }

以上です。アドセンスは簡単に実装できますがとても奥が深いですので、アドセンスの設定やチャンネルの設定を行い、トライ&エラーで収益を上げるよう頑張ってみてください。