重複の可能性:
Admob のデバイス ID を取得するにはどうすればよいですか
私のアクティビティには ListView があり、一番下に広告を配置しました。エミュレーターでアプリを実行すると、テスト広告が表示されます。携帯電話で実行すると、実際の広告が表示されます。携帯電話でテストしたいのですが、実際の広告は表示されません。
デバイス ID を AdRequest に手動で追加する方法を示すメッセージを logcat で検索することについて、AdMob サイトの指示に従いました。問題は、このメッセージが logcat に表示されないことです。これは 4.1 を実行する RAZR です。Aracem が回答した SO の投稿で、エンコードされた文字列が開発者向けオプション設定パネルで利用できることを読み、それを見つけました。このコマンドのガイドを読んだとき、デバイス ID の形式は英数字 (例: "E83D20734F72FB3108F104ABC0FFC738") でしたが、私の電話の値には文字、数字、およびダッシュが含まれています (例: "MQKF-RB61-BBKS-E")。
エンコードされたデバイス ID を XML googleads:testDevicesに追加し、onCreate に手動で AdRequest を追加し、この文字列で addTestDevice を使用しました。どちらも機能しません。
私が気づいたことの 1 つは、動作する名前空間がgoogleadsであり、例に示されているadsではないことです。adsを使用すると、XML でプレフィックス エラーが発生します。4.x から 6.1 への切り替えに伴い、名前空間が変更されたと推測しています。
これは、onCreate が super と setContentView を呼び出すだけの最小限のプロジェクトで実現できます。
レイアウト:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mainLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<ListView
android:id="@+id/list"
android:layout_above="@+id/adView"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
<com.google.ads.AdView
xmlns:googleads="http://schemas.android.com/apk/lib/com.google.ads"
android:id="@id/adView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
googleads:adSize="BANNER"
googleads:adUnitId="@string/admob_id"
googleads:loadAdOnCreate="true"
googleads:testDevices="TEST_EMULATOR, MQKF-RB61-BBKS-E" />
マニフェスト
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-sdk android:minSdkVersion="10" android:targetSdkVersion="16" />
<application android:label="@string/app_name" >
<activity
android:name="mainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.google.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />
</application>