AdMobの存在がAdsense・GooglePlayと絡んでここ数年ふわふわしてきた印象ですが、ようやく落ち着き始めるような気がします。この記事は初投稿の2014/2/16以後のGoogle Play Services SDKを利用したAdmob実装方法(Android)をメモしたものになっています。
実装する前に
なんでGoogle Play Servicesが関係あるの?という理由の考察です。実装とは関係ないです。
GooglePlayデベロッパープログラムポリシーの更新
2013/11/1にGooglePlayデベロッパープログラムポリシーの原文が更新され、広告のポリシーにAdvertising ID (Android 広告 ID) の使用という項目が追加されました。(日本語化されたのは恐らく2014/1)
2014 年 8 月 1 日から、Play ストアにアップロードされたすべての更新や新着アプリには、広告目的で使用する端末 ID として広告 ID(端末で利用可能な場合)を使用する必要があります。
広告IDってなに?
広告IDはAndroid Developersに記載してあるAdvertising IDにあたるもので、広告目的のための匿名の識別子です。広告事業者はこの識別子を利用して利用者の興味に基づく広告(インタレストベース広告)が配信できますが、匿名ということでオプトアウトすることができます。
- 端末内に(いつの間にか)存在している
Google設定
というグレーの色したアイコンのアプリを起動 -
広告
を選択 - 広告IDをリセットできる!
- オプトアウトもできる!
AdMob + Google Play Service SDK
こちらも2013/11/1ですが、Google Play Service SDKを使った新バージョンのアナウンスがありました。
http://adsense-ja.blogspot.jp/2013/11/android-admob-sdk.html
従来の「AdMob SDK」にいくつかの大幅な改良を加えた最新のバージョンを、「Google Mobile Ads SDK」と名称を変え、Google Play 開発者サービス 4.0 の一部としてご利用いただけます。
要するに、AdMob + Google Play Service SDKはデベロッパープログラムポリシーに準拠した実装方法ということになります。
[2015/5追記] 現在はAdMob以外の主要広告SDKも広告IDを利用した実装になっています。広告IDに対応していない広告SDKはポリシー違反になるので気をつけてください。
アカウント登録(Web)
Admobアカウントがなければ登録します。簡単。
https://apps.admob.com/
[補足1]
AdMobのサポート窓口はGoogle+のAdMobコミュニティのようです。
https://plus.google.com/communities/111749199605556639073
[補足2]
2015/4にアプリの読み込み時や終了時の表示にインタースティシャル広告は禁止、といった明確なガイドラインが公開されたのでインタースティシャル導入時は気をつけてください。
https://support.google.com/admob/answer/6201362?hl=ja&ref_topic=2745287
広告作成(Web)
AdMobページの収益化タブ
から新しい広告ユニットを作成します。広告フォーマットがバナーとインタースティシャルがありますが、この選択で実装方法も変わります。(ちなみにインタースティシャルは全画面広告のことです)
作成が完了したら広告ユニットIDを控えてください。
[補足]
広告ユニットIDは新しいAdmobの識別子で、Adsense公式ブログの2013/12/25の記事で紹介されています。
実装(アプリ)
公式の実装手順ドキュメントは以下のページになります。
https://developers.google.com/mobile-ads-sdk/docs/admob/android/quick-start
とてもわかりやすいのでここの通り実装すれば問題ないです。
[補足1]
各ライフサイクル(onResume,onPause,onDestroy)における適切な処理も必要になります。
https://developers.google.com/mobile-ads-sdk/docs/admob/android/play-migration
githubに公開されているサンプルも参考になるかと思います。
https://github.com/googleads/googleads-mobile-android-examples
[補足2]
Proguardの記述方法は、「よくある質問」に記載されています。
https://developers.google.com/mobile-ads-sdk/docs/admob/android/faq?hl=ja#proguard
[補足3]
play-service全体のライブラリは少し巨大なので、AdMobだけが必要であれば以下のような記述でおKです。
compile 'com.google.android.gms:play-services-ads:7.3.0'
Admobのドキュメントはbuild.gradleの記述が更新されないことが多いのでAndroidDevelopersのページを適宜確認した方が良いです。
http://developer.android.com/google/play-services/setup.html
以上です。