- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
!!!Android AdMob
[Android][Eclipse][Java]
http://jp.admob.com/
!!アカウントロックについて
""突然アカウントがロックされることがあるので【注意】
*先日、警告もなく、いきなりアカウントをロックされた。
*Web を確認すると、[「開発中にAdMobを使う場合には忘れずにテストモードにしないとアカウントロックをされてしまう」|http://workshop.iphonework.biz/2011/01/25/%E3%80%90%E3%83%AC%E3%83%9D%E3%83%BC%E3%83%88%E3%80%91%E7%AC%AC%E5%9B%9B%E5%9B%9E-iphone-developer-workshop/]らしい
*確かに[「実際に経験してみないとわからない」|http://workshop.iphonework.biz/2011/01/25/%E3%80%90%E3%83%AC%E3%83%9D%E3%83%BC%E3%83%88%E3%80%91%E7%AC%AC%E5%9B%9B%E5%9B%9E-iphone-developer-workshop/]
*不正をした覚えはまったくないので、問い合わせをするも、回答なし(こちらもWebをみると、まぁそんな対応のようだ)
*ということで、[AdMaker|http://jp.ad-maker.net/]に乗り換えた。
*まだ、締めは来ていないのでなんともいえないが、自分の場合、パフォーマンスはAdMobよりよいかも。(結果的にはAdMobに数千円没収されたがよかったかな)
*まだ、締めは来ていないのでなんともいえないが、自分の場合、パフォーマンスは[AdMaker|http://jp.ad-maker.net/]のほうが、AdMobよりよいかも。(結果的にはAdMobに数千円没収されたがよかったかな)
*ということで、Android アプリにAdmobを導入しようと思っている方へ参考になれば幸い。
!!アカウントの登録
*[アカウントの登録方法|http://typea.info/blg/glob/2010/07/android_admob_1.html]
!!Android SDK インストールの仕方
*Admob Android SDKは、AdMob 広告をアプリケーションにインストールするのに必要なコードを含んでいる。
!!ステップ1
*プロジェクトのルートディレクトリに libs サブディレクトリを作成する。
*Android の activitycreator toolを使った場合、すでに作成されているはず。
*AdMob JAR(admob-sdk-android.jar)をそこにコピーする。
{{ref_image admob_eclipse01.jpg}}
!Eclipse プロジェクトでは
*プロジェクトのコンテキストメニューから、プロパティを開く
*Java Build Path を選択
*Libraries タブを選択
*Add JARs をクリック
*OK で、アプリケーションにAdMobのSDKを追加する。
{{ref_image admob_eclipse02.jpg}}
!!ステップ2
!パブリッシャーIDの確認
::サイト及びアプリケーション タブから、アプリケーションの設定と管理を選択
{{ref_image admob10.jpg}}
::ここにある。
{{ref_image admob11.jpg}}
!AndroidManifest.xml に、以下のようにパブリッシャーIDを記述
:
<meta-data android:value="a14xxxxxxxxxxxx" android:name="ADMOB_PUBLISHER_ID"/>
</application>
!!ステップ3
!パーミッションの追加
::android.permission.INTERNET を追加
{{ref_image admob_eclipse03.jpg}}
::オプションで、以下のいずれかを追加
*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...
{{ref_image admob_eclipse04.jpg}}
*一度、AdManager.setTestDevices を呼び出すことでデバイスIDを取得できる
AdManager.setTestDevices( new String[] {
AdManager.TEST_EMULATOR, // Android emulator
"E83D20734F72FB3108F104ABC0FFC738", // My T-Mobile G1 Test Phone
} );
}
*一旦テスト広告へのリクエストが成功したら、アプリケーションからのテスト広告へのクリックが正しく機能しているか確認する。
*テスト広告の結果は AdManager.setTestAction で変更される。
{{ref_image admob_eclipse05.jpg}}