[Android] Android Studio でのAdMob広告の実装

無料でアプリを公開して広告を貼りましょう。定番はGoogleがやっている AdMob です。
 
admob01

Android Studio 2.2.2
Android 7.0

 

sponsored link

AdMob Banner

 
このAdMob広告の設定は、Google Mobile Ads SDKを使った今までの方法です。
Firebaseを使うAdMob設定とは異なりますので注意してください。

Google的にはFirebaseに移行したいのでしょうけれど、まだSDKの方法でないと支障がでるケースを考えて残してあるのでしょう。
基本的にはAndroid Admob ガイドに沿って進めますが情報が古いこともあったりします。

ここでの実装はxmlファイルにIDを書くやり方と、
コードで記述する方法について試してみます。

  1. AdMobを実装、xmlレイアウトファイルを使って
  2. レイアウトファイル無しでコードのみ
 

AdMob の実装

 
手順は以下のようになります

  1. Google Repository のダウンロード
  2. gradle に com.google.android.gms:play-services を設定
  3. マニフェストでネットワーク権限などを設定
  4. レイアウトファイルにAdView、AdUnit の記述
  5. com.google.android.gms.ads クラスのインポート
  6. AdView と AdRequest の記述
     

Google Repository のダウンロード

 
SDKのExtras のカテゴリーに Google Repository があるか確認してください。無ければダウンロードします。
 
スクリーンショット 2015-04-03 19.04.33
 

com.google.android.gms:play-services を設定

 
「build.gradle (Module: app)」ファイルの編集
 
スクリーンショット 2015-04-03 19.43.21


 
dependencies に
compile ‘com.google.android.gms:play-services-ads:9.8.0’
を追加(バージョンは随時更新されます)

最新のバージョンを設定するためには
「Project Structure…」から「app」の中の「Dependencies」から
「library dependency」を追加して、「com.google.android.gms:play-services-ads」を検索すると結果として最新バージョンが出てきます。

スクリーンショット 2016-05-23 11.42.30

build.gradle

 
Sync Now と同期を促されるのでSyncする
 

マニフェストでネットワーク権限などを設定

 
アプリの AndroidManifest.xml に meta-data タグとして
android:name=”com.google.android.gms.version”
android:value=”@integer/google_play_services_version”
を追加
 
com.google.android.gms.ads.AdActivity
を宣言
 
INTERNETACCESS_NETWORK_STATE
の権限をマニフェストで宣言
 
AndroidManifest.xml

 

レイアウトファイルにAdView、AdUnit の記述

 
xmlns:ads=”http://schemas.android.com/apk/res-auto”
の追加
RelativeLayoutなので
android:layout_alignParentBottom=”true”
にてBottomに設定します

activity_main.xml

 
ちなみに
ca-app-pub-3940256099942544/6300978111
このIDはテスト用です
本番では、UnitIDをAdMobから取得した正式なものを使います
 

Activityの記述

 
com.google.android.gms.ads クラスのインポート
AdView と AdRequest の記述
 
やり方としてレイアウトをどうするかによってxml ファイルで調整するか、java コードで書くケースがあります。こちらでは前者のタイプでやってみます。

MainActivity.java

 
これで実行してみると
 
admob01

広告がボトムに表示されました。
 

 

コードのみで実装

 
動的な表示、あるいはまとめてコントロールしたい場合などにおいてxmlファイルでの記述は使いにくいので、コードで記述してみます。Manifestやbuild.gradleは同じです。
 
MainActivity.java

 
IDはテスト用ですから本番と入れ替えたり、切り分けをしてください。
 

 

AdMob パブリッシャー ID を取得

 
Googleのサイトから手続きをします

AdMob ヘルプセンター

 
最終的には、
ca-app-pub-XXXXXXXXXXXXXXXX/NNNNNNNNNN のような形式のIDが取得できます
 
 
関連ページ:

  1. AdMob 広告を Android Studio で設定
  2. AdMob 表示、非表示の切り替え
  3. インタースティシャルの設置
  4. Interstitial広告をクラスにまとめる

Reference:
Android向けMobile Ads SDK