先日設定してみた携帯版 Google AdSense ですが、ちゃんと表示されるようになりました。
2,3日経っても広告が表示されないので何か上手く行っていないのだろうなーと思っていましたが、どうやら IP アドレスが関係していたようです。
jsp 用の貼り付けコードには request.getRemoteAddr() でクライアントの IP アドレスを取得して Google の広告配信サーバに通知しています。
当方の環境では Apache – (mod_proxy) – WebLogic という環境なので request.getRemoteAddr() では必ず Apache の IP アドレス、つまり 127.0.0.1 が返ってしまいます。
これを request.getHeader("X-Forwarded-For") として実際のクライアントの IP アドレスを取得するように変更したところ即座に広告が表示されるようになりました。
ただ、PC やソフトバンクの携帯でアクセスした際には広告が表示されるのに DoCoMo の携帯でアクセスしても広告が表示されないという奇妙な状況が続いています。
広告配信サーバには User-Agent(ブラウザや携帯キャリアの種別がわかる) も渡しているので、IP アドレスと組み合わせれば携帯からのアクセスのみ広告を表示しないようなこともできる仕組みになっています。
DoCoMo だけ弾くのはやや不可解ですね。
とはいえ、表示される広告は当方の環境では1種類しかない状態です。
まだまだこれから入稿が増え、チューニングされていく状況にあるのかもしれません。