При установке режима тестирования программным способом появляются реальные объявления Admob

1

Вид странной проблемы здесь: всякий раз, когда я устанавливаю тестовый режим через 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, я получаю тестовое объявление просто отлично. Есть идеи?

Теги:
admob

2 ответа

1
Лучший ответ

Я считаю, что вам нужно вызвать.loadAd(adRequest) в объекте AdView.

См. Документацию Google AdMob здесь.

В разделе Добавить com.google.ads.AdView.

  • 0
    Хороший человек, это сработало. Оказывается, что если вы собираетесь установить тестовый режим программно, вам также необходимо загрузить объявление программным способом, как вы и предлагали. Поэтому я удалил ads: loadAdOnCreate = "true" из моего xml и добавил ваш код в Java, и это сработало. Благодарю.
1

Вам не нужно называть это программным путем.

Мне потребовалось некоторое время, пока я не узнал, каким устройством является 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" />

Надеюсь, это поможет вам, ребята,

Пауло Мигель Альмейда

Ещё вопросы

Сообщество Overcoder
Наверх
Меню