Google AdSense には、レスポンシブ広告ユニットというものがあります。自動でサイズ調整してくれるため、特に画面解像度が多彩なスマホに使うときに便利なのですが。
使用する場所によっては、レクタングル (正方形に近い形) になってしまうと、ちょっと邪魔に感じる場合もあります。
これがずっと気になっていたんですけど、割と簡単に解消できたので、その方法をメモしておきます。
コードを修正して「auto」を「horizontal」に変更
こんな簡単な方法があったとは。
レスポンシブ広告ユニットのコードの中にある「data-ad-format=”auto”」という箇所の「auto」を「horizontal」に変更するだけです。
1 2 3 4 5 6 7 | <ins class="adsbygoogle" style="display:block;" data-ad-client="ca-pub-1234" data-ad-slot="5678" data-ad-format="auto"></ins> <!-- ここの auto を --> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <script>(adsbygoogle = window.adsbygoogle || []).push({});</script> |
上記の “auto” を、
1 2 3 4 5 6 7 | <ins class="adsbygoogle" style="display:block;" data-ad-client="ca-pub-1234" data-ad-slot="5678" data-ad-format="horizontal"></ins> <!-- horizontal に変更 --> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <script>(adsbygoogle = window.adsbygoogle || []).push({});</script> |
“horizontal” に変更するだけ!簡単!
ちなみに、AdSense のコードに手を加えるなんて、ちゃんと調べないとちょっと怖いですけど。これは Google のヘルプで説明されている方法なので、間違いないです。(ちなみに、上記コードの例もヘルプから引用しています)
デフォルトでは、レスポンシブ広告コードの data-ad-format タグには “auto” という値が設定され、これにより、レスポンシブ広告ユニットでサイズの自動調整が有効になります。ただし、data-ad-format の値を “rectangle”(レクタングル)、”vertical”(縦長)、”horizontal”(横長)、またはこれらをカンマで区切って組み合わせた値(”rectangle, horizontal” など)に変更すると、レスポンシブ広告ユニットで一般的な形状を設定できます。
と、いうわけで。横長以外にも、”rectangle” (レクタングル) や、”vertical” (縦長) にすることも可能です。
こちらのヘルプには、中盤あたりから「レスポンシブ広告コードの高度な機能の例」として、他にも以下の機能が説明されています。
- 一般的な形状を指定する場合 (今回のはこれ)
- 幅の拡張範囲と高さの固定値を指定する
- 画面の幅ごとに正確なサイズを指定する
- 広告ユニットを隠す
まとめ
広告の形を変えたいだけなら、この方法で行けるので、かなり簡単です。
レスポンシブ広告ユニットのサイズを何とかしたくて、ググった時によく出てきたのは「画面の幅ごとに正確なサイズを指定する」方法でした。
こちらは、CSS3 のメディアクエリを使用するので、少々、難易度お高め。
もっと簡単な方法があってよかった。