読者です 読者をやめる 読者になる 読者になる

ほげほげ(仮)

仮死状態

AndroidアプリにAdMobを設置する

Android


AndroidアプリへのAdMobの設置方法ですが、他のサイトの通りにやったら
下のようなエラーメッセージが出て、広告が表示されませんでした。


could not find com.admob.android.ads.AdMobActivity, please make sure it is registered in AndroidManifest.xml


たぶん、AdMobの仕様が変わってるんでしょうね。

念のためにメモしておきます。

AdMobの登録方法して、JARファイルをビルドパスに追加します。

細かい方法は他のサイトでも紹介されてますので省略します。

AndroidManifest.xmlの編集

次のように編集します。

    <meta-data android:value="AdMobのパブリッシャーID" android:name="ADMOB_PUBLISHER_ID" />
    <activity android:name="com.admob.android.ads.AdMobActivity" 
	           android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
                   android:configChanges="orientation|keyboard|keyboardHidden" />
    <receiver android:name="com.admob.android.ads.analytics.InstallReceiver" android:exported="true">
        <intent-filter>
            <action android:name="com.android.vending.INSTALL_REFERRER" />
        </intent-filter>
    </receiver>
</application>
<uses-permission android:name="android.permission.INTERNET"/>

attrs.xml作成

/res/values/attrs.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>

レイアウト.xml作成

とりあえずAdMobを表示するだけのレイアウトを作成します。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:admobsdk="http://schemas.android.com/apk/res/パッケージ名"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
        <com.admob.android.ads.AdView     
            android:id="@+id/ad" 
            android:layout_width="fill_parent" 
            android:layout_height="wrap_content"
            admobsdk:backgroundColor="#000000"
            admobsdk:primaryTextColor="#FFFFFF"
            admobsdk:secondaryTextColor="#CCCCCC"/>
</LinearLayout>

Activityにテスト用コードを追加

テスト用のコードを追加します。

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    // テスト用
    AdManager.setTestDevices( new String[] { 
        AdManager.TEST_EMULATOR,
    });
}

実行

これで実行すると、テスト用の広告が表示されるはずです。

公開するときはテスト用のコードをコメントアウトなり削除なりすれば正しい広告が出ます。

AdMobはたまに広告が出ない場合があるので、出ないときは何回か実行してみましょう。

参考

ここまで書いたことはすべてAdMobのSDKに入っているJavadocにすべて書かれています。

Javadocを見ながらやれば間違えることはなさそうです。