Вид странной проблемы здесь: всякий раз, когда я устанавливаю тестовый режим через xml, я получаю ожидаемые тестовые объявления в своем эмуляторе. Однако, когда я пытаюсь сделать то же самое программно, я, кажется, получаю настоящую рекламу. Согласно документации Admob, эти два метода должны быть эквивалентными, нет? Вот мой xml-код:
<com.google.ads.AdView
android:id="@+id/adView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
ads:adSize="BANNER"
ads:adUnitId="xxxxxxxxxxx"
ads:loadAdOnCreate="true">
</com.google.ads.AdView>
И вот соответствующий код Java:
@Override
public void onCreate(Bundle savedInstanceState) {
requestWindowFeature(Window.FEATURE_NO_TITLE);
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
AdRequest adRequest = new AdRequest();
adRequest.addTestDevice(AdRequest.TEST_EMULATOR);
}
Как уже упоминалось ранее, если я вставляю рекламные объявления: testDevices = "TEST_EMULATOR, TEST_DEVICE_ID" в указанный выше код xml, я получаю тестовое объявление просто отлично. Есть идеи?
Я считаю, что вам нужно вызвать.loadAd(adRequest) в объекте AdView.
См. Документацию Google AdMob здесь.
В разделе Добавить com.google.ads.AdView.
Вам не нужно называть это программным путем.
Мне потребовалось некоторое время, пока я не узнал, каким устройством является AdMob sdk, что ожидало бы, потому что я думал, что это связано с реальным устройством, например (adb devices)
Но вот комментарий из официальной документации, которая его выяснила.
"Будет сообщение журнала с кодом, необходимым для добавления текущего устройства в список тестовых устройств"
Вы можете получить сообщение, похожее на него
I/Ads(26674): To get test ads on this device, call adRequest.addTestDevice("F1254CDFBA84BDC27F5C7C6E12445D06");
Все, что вам нужно сделать, это поместить этот идентификатор в свой макет xml, как показано ниже.
<com.google.ads.AdView
android:layout_alignParentBottom="true"
android:id="@+id/adView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
ads:adSize="BANNER"
ads:adUnitId="@string/publisherId"
ads:loadAdOnCreate="true"
ads:testDevices="TEST_EMULATOR, F1254CDFBA84BDC27F5C7C6E12445D06" />
Надеюсь, это поможет вам, ребята,
Пауло Мигель Альмейда