目次
Android AdMob
[Android][Eclipse][Java]
http://jp.admob.com/
アカウントロックについて
突然アカウントがロックされることがあるので【注意】
- 先日、警告もなく、いきなりアカウントをロックされた。
- Web を確認すると、「開発中にAdMobを使う場合には忘れずにテストモードにしないとアカウントロックをされてしまう」らしい
- 確かに「実際に経験してみないとわからない」
- 不正をした覚えはまったくないので、問い合わせをするも、回答なし(こちらもWebをみると、まぁそんな対応のようだ)
- ということで、AdMakerに乗り換えた。
- まだ、締めは来ていないのでなんともいえないが、自分の場合、パフォーマンスはAdMakerのほうが、AdMobよりよいかも。(結果的にはAdMobに数千円没収されたがよかったかな)
- ということで、Android アプリにAdmobを導入しようと思っている方へ参考になれば幸い。
アカウントの登録
Android SDK インストールの仕方
- Admob Android SDKは、AdMob 広告をアプリケーションにインストールするのに必要なコードを含んでいる。
ステップ1
- プロジェクトのルートディレクトリに libs サブディレクトリを作成する。
- Android の activitycreator toolを使った場合、すでに作成されているはず。
- AdMob JAR(admob-sdk-android.jar)をそこにコピーする。
Eclipse プロジェクトでは
- プロジェクトのコンテキストメニューから、プロパティを開く
- Java Build Path を選択
- Libraries タブを選択
- Add JARs をクリック
- OK で、アプリケーションにAdMobのSDKを追加する。
ステップ2
パブリッシャーIDの確認
- サイト及びアプリケーション タブから、アプリケーションの設定と管理を選択
- ここにある。
AndroidManifest.xml に、以下のようにパブリッシャーIDを記述
: <meta-data android:value="a14xxxxxxxxxxxx" android:name="ADMOB_PUBLISHER_ID"/> </application>
ステップ3
パーミッションの追加
- android.permission.INTERNET を追加
- オプションで、以下のいずれかを追加
- android.permission.ACCESS_COARSE_LOCATION
- android.permission.ACCESS_FINE_LOCATION
ステップ4
res/values/attrs.xml を作成
- 以下の記述を追加
- 既にある場合、declare-styleable 要素を追記
<?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>
ステップ5
- パッケージ名が設定されているAndroidManifest.xml を含んでいる xmlns 行を追加することで、レイアウト要素へ attrs.xmlファイルへの参照を作成
例えば、パッケージ名が、com.example.SampleApp の場合、以下の様になる
xmlns:myapp="http://schemas.android.com/apk/res/com.example.SampleApp"
- 一つの広告を含むシンプルなスクリーンは、以下の様になる
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:myapp="http://schemas.android.com/apk/res/com.example.SampleApp" 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" myapp:backgroundColor="#000000" myapp:primaryTextColor="#FFFFFF" myapp:secondaryTextColor="#CCCCCC" /> </LinearLayout>
ステップ5.5
SDKのバージョンアップによりAndroidManifest.xmlに、以下のような記述をしなければならなくなったようだ(詳しい確認は後日行う)
<!-- AdMob Activity --> <activity android:name="com.admob.android.ads.AdMobActivity" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:configChanges="orientation|keyboard|keyboardHidden" /> <!-- Track Market installs from AdMob ads --> <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> <!-- The application's publisher ID assigned by AdMob --> <meta-data android:value="a1496ced2842262" android:name="ADMOB_PUBLISHER_ID"/> <!-- use a separate publisher id here to aid in tracking intersitial statistics --> <meta-data android:value="a1496ced2842262" android:name="ADMOB_INTERSTITIAL_PUBLISHER_ID" />
ステップ6
テストモードの利用
- AdMob 広告をアプリケーションに統合する場合、テストモードの利用を推奨
- テストモードの場合、広告は常に返される
- テストモードは、デバイス単位に有効化する。
- デバイスのテストモードを有効化されている場合、最初の広告リクエスト時にLogCatで以下の様なメッセージを確認できる。
To get test ads on the emulator use AdManager.setTestDevices...
- 一度、AdManager.setTestDevices を呼び出すことでデバイスIDを取得できる
AdManager.setTestDevices( new String[] { AdManager.TEST_EMULATOR, // Android emulator "E83D20734F72FB3108F104ABC0FFC738", // My T-Mobile G1 Test Phone } ); }
- 一旦テスト広告へのリクエストが成功したら、アプリケーションからのテスト広告へのクリックが正しく機能しているか確認する。
- テスト広告の結果は AdManager.setTestAction で変更される。
YAGI Hiroto (piroto@a-net.email.ne.jp)
twitter http://twitter.com/pppiroto
Copyright© 矢木 浩人 All Rights Reserved.