mucchinのAndroid戦記

AndroidアプリへのAdMob広告の設定方法・表示方法

AndroidアプリへAdMobの広告を設定する方法、表示させる方法は?

これまでのAdMob関連記事の続編になります。
Androidアプリで広告収入を得る方法 「AdMob」
Androidアプリで広告収入を得れるAdMobへの登録方法
AdMobへのAndroidアプリの登録とSDKのダウンロード方法

今回は、上記までの記事のように、AdMobへ広告を掲載するAndroidアプリケーションの登録と、AdMob SDKのダウンロードまで完了しているとして、次の段階であるAndroidアプリへAdMob広告を設定方法もしくは表示方法を説明します。


基本的には、Android AdMob SDKのjavadocや、PDFファイルを見れば、設定は出来ると思います。
全て英語で書かれたドキュメントですが、なんとか私もそのPDFファイルを見て設定できました。
以下の手順で、Androidアプリへ広告を設定していきます。

AdMob SDKのインポート

まずは、広告を掲載したいAndroidアプリのプロジェクトに、Android AdMob SDKのjarファイルのインポートを行います。
以前、jarファイルをインポートする方法を書いた記事がありますが、以下の記事を参照して、admob-sdk-android.jarをインポートしてください。
jarファイルで提供されているライブラリのインポート方法

AdMob SDKのPDFのマニュアルやjavadocとは、微妙に手順が違いますが、同じ事です。


Android Manifestファイルの編集

次は、Android Manifestファイル(AndroidManifest.xml)へ、パブリッシャーID(publisher ID)を記述します。
AndroidManifest.xmlを開きます。
これは直接XMLに記述するしかないので、Eclipseでマニフェストファイルを開いたのなら、「AndroidManifest.xml」というタブを選択してください。
マニフェストファイルに記述されている、以下の部分を探してください。

</application>

その行のすぐに、以下を追加してください。

<meta-data android:name=”ADMOB_PUBLISHER_ID” android:value=”xxxxxxxxxxxxx”/>

上の「xxxxxxxxxxxxx」には、あなたがAdMobに登録したAndroidアプリのpublisher IDを記述します。
これはアプリ毎に一つ割り当てられるIDです。
Publisher IDの調べ方は、
AdMobにログインして、「サイト及びアプリケーション」のページへ行きます。
すると、下の方に、あなたが登録しているAndroidアプリの一覧があります。
Publisher IDを調べたいAndroidアプリの「設定を管理」というボタンを押すと、以下のような画面が表示されます。

上記の赤でモザイク入れてる部分に、Publisher IDが記述されています。
ちなみに黒でモザイク入れてる部分は、アプリ名が表示されています。


パーミッションの追加

AdMob広告を掲載するAndroidアプリに、以下のパーミッションを付与します。
必須:android.permission.INTERNET
任意:android.permission.ACCESS_COARSE_LOCATION
任意:android.permission.ACCESS_FINE_LOCATION
パーミッションの設定方法は、以下の記事を参照してください。
Eclipseでのパーミッション(Permission)の設定方法

任意としているパーミッションは、LOCATION関係ですね。
このパーミッションを有効にしていると、AdMobの広告が、その位置情報に応じて適した広告が表示される(らしい)ので、問題なければ有効にしておくといいのではないかと思います。


attrs.xmlの追加

AdMob広告を掲載するAndroidアプリの、/res/values/のディレクトリに、attrs.xmlというXMLを追加します。
XMLを追加する手順は、以下の記事を参考にして下さい。
EclipseでのXMLの追加方法
(上記記事の手順4で「Values」を選択する。)

そして、XMLの中身は、以下のようにします。


<?xml version=”1.0″ encoding=”utf-8″?>
<resources>
<declare-styleable name=”com.admob.android.ads.AdView”>
<attr name=”backgroundColor” format=”color” />
<attr name=”primaryTextColor” format=”color” />
<attr name=”secondaryTextColor” format=”color” />
<attr name=”keywords” format=”string” />
<attr name=”refreshInterval” format=”integer” />
</declare-styleable>
</resources>


もし既にattrs.xmlが存在するのであれば、新たに追加する必要はありません。
その場合は、上記のdeclare-styleableタグとその子要素を追加してください。


スポンサーリンク




レイアウトへのAdMob広告の追加

さて、いよいよAndroidアプリへ、AdMob広告を追加します。
AdMob広告を表示させたいレイアウトのXMLファイルを開きます。
EclipseでレイアウトXMLを開いたのなら、「layout」タブではない方のタブを開いて、直接XMLを編集します。
以下のような行が、最初の方にあると思います。
xmlns:android=”http://schemas.android.com/apk/res/android”
この下に、以下の行を追加します。
xmlns:myapp=”http://schemas.android.com/apk/res/jp.mucchin.xxxxx
上記の太字部分は、広告を掲載するAndroidアプリのパッケージを書きます。
ここでスペルをミスすると、あとでコンパイルが通らないので気をつけてください!
私はここでつまづいて、無駄な時間を使っちゃいました…。

そして、AdMob広告のViewを追加します。
Google MapのMapViewを追加するのと同じような手順です。
追加したいところに、以下を記述します。


<com.admob.android.ads.AdView
android:id=”@+id/ad”
android:layout_width=”fill_parent”
android:layout_height=”wrap_content”
myapp:backgroundColor=”#000000″
myapp:primaryTextColor=”#FFFFFF”
myapp:secondaryTextColor=”#CCCCCC”/>


AdMob広告のテストモード

先ほどの手順で、AdMob広告の設定はひとまず完了です。
ですが、エミュレータからですと、表示させる広告が無いという事で、ちゃんとAdMob広告が表示されないことがあります。
ですので、テストモードで、広告表示のテストをしてみます。
AdMob広告を表示させるActivityの、onCreate()メソッドあたりで、以下の1行をコールしてください。


AdManager.setTestDevices( new String[] {
  AdManager.TEST_EMULATOR,
});


これでテストモードが有効になります。
以下のような画面が表示されます。

LogCatでログを見ると、「AdMob Test Android Web Ad」とログが出ているはずです。

また、複数のレイアウトにAdMob広告を設置する場合は、Androidアプリ起動時に、上記のコードを一回実行してあげるだけで、そのアプリでの広告は全てテストモードになるみたいです。
なので、Activity毎に、上記のコードを入れる必要はありません。


テストして、AdMob広告のレイアウトや表示位置に問題が無ければ、上記のコードをコメントアウトして、終了です。
コメントアウトして、エミュレータで起動させても、AdMob広告が何も表示されないかと思いますが、以下のログが出ていれば、表示する広告が無いから出ていないだけで、正常に動作しています。
「Server replied that no ads are available」


広告の表示位置や色等、適切な位置や色というのは、アプリによって様々だと思います。
あとは、実際にAndroidアプリを公開して、クリック率等を検証して、最も適切な位置や色を、色々と検証して、報酬アップを目指しましょう!