https://developers.google.com/mobile-ads-sdk/docs/android/fundamentals

ここに全部書いてあるので、再度説明するまでもないですが、少しハマリがあったのでそれについて書き留めておきます。

SDKのVersionは適切なものを指定

上記のドキュメントに習って以下の行をAndroidManifest.xmlへ追加したらビルドエラー。

android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"

現行のAdMobのライブラリを使うためには、target SDKはAPI Level 14である必要がある。ここで情弱な自分は「え?自分のアプリはAndroid version 2.2(API Level 8)も対応したいんですけど・・・」と焦った。

AndroidManifest.xmlで以下のようにしておけば問題なくビルドできてAndroid 2.2の端末でも動きました。

<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="14" />

バナーのサイズはpxではなくdp指定で

  • AdViewをLinearLayoutなどの中で表示する場合、実際に広告表示されるまでAdViewはHeight:0である
  • よってLinearLayoutでwrap_content指定していると、表示された瞬間にむにゅっと高さが伸びる
  • そこでminHeightを指定しようとして少しハマり

https://developers.google.com/mobile-ads-sdk/docs/android/intermediate

ここにAdSize.BANNERの高さは50pxと書いてあったので、minHeight=”50px”としたら実際の寸法と合わなかった。minHeight=”50dp”としたらぴったり。まあ当然ですね。