Как внедрить Admob AdView в Android-приложение

Я хочу использовать Admob в своем приложении. Я загрузил SDK и выполнил шаги. Иногда я получаю взамен рекламу, но в большинстве случаев я получаю запись в LogCat, в которой говорится: «Сервер не нашел рекламы» или что-то в этом роде. Тестовый режим включен, говорится на сайте Admob. Я думаю, что я могу делать что-то не так. Где я могу получить пошаговое руководство по вставке рекламы AdMob в приложения для Android? Сайт разработчика Admob скорее отсутствует.

Кроме того, давайте предположим, что все прошло хорошо и теперь я хочу развернуть приложение. Как отключить тестовый режим для рекламы Admob?

Спасибо.


person WeNeigh    schedule 30.08.2010    source источник
comment
Они обновили статью простым способом, проверьте этот developers.google.com/ mobile-ads-sdk/docs/android/основы   -  person swiftBoy    schedule 25.07.2012


Ответы (5)


просто следуйте инструкциям на этом сайте: http://developer.admob.com/wiki/Android#AdMob_Android_SDK

Я так понимаю, вы не активировали тестовый режим для своего устройства или эмулятора?!

AdManager.setTestDevices( new String[] {                 
   AdManager.TEST_EMULATOR,             // Android emulator
   "E83D20734F72FB3108F104ABC0FFC738",  // My T-Mobile G1 Test Phone
} );  
person Mark    schedule 05.11.2010

Загрузите JAR-файл AdMob http://www.admob.com/my_sites/.

Создайте пакет на своем проекте и назовите его "libs" и вставьте туда этот файл AdMob.jar

Щелкните правой кнопкой мыши свой проект, выберите библиотеку, добавьте туда путь к только что сохраненному файлу ADMOB.jar.

Если вы создаете свой AdView в своем XML, вы можете добавить эту строку.

Это пример для тестирования. Когда вы получите собственный идентификатор от ADMob, поместите его на adUnitID и сотрите тестовую строку.

 com.google.ads.AdView

    android:id="@+id/adView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    ads:adSize="BANNER"
    ads:adUnitId="a14f59e5c442767"
    ads:testDevices="TEST_EMULATOR, TEST_DEVICE_ID"
    ads:loadAdOnCreate="true"

</com.google.ads.AdView>

Теперь перейдите к своему .java, который вызывает этот макет, и создайте свой AdView.

AdView adView = (AdView)this.findViewById(R.id.adView1);
adView.loadAd(new AdRequest());

Вот как я это делаю, и до сих пор это работало хорошо.

Извините за плохой английский, слишком много кода и без сна!

person LuizAurio    schedule 09.03.2012

Кажется, что это могло измениться на

AdRequest request = new AdRequest();
request.addTestDevice(AdRequest.TEST_EMULATOR);
request.addTestDevice("E83D20734F72FB3108F104ABC0FFC738"); // My T-Mobile G1 test phone

см. http://code.google.com/mobile/ads/docs/android/intermediate.html

Согласно комментарию Тома ниже, значение, предоставляемое для addTestDevice, на самом деле является хешем MD5 идентификатора устройства. Вы можете получить это из logcat.

person Caltor    schedule 29.07.2011
comment
Я думаю, важно отметить, что значение, предоставляемое для addTestDevice, на самом деле является хешем MD5 идентификатора устройства, если он доступен (на основе разрешений в Manifest.xml). Я не уверен, как еще он присваивает эти значения, но может быть интересно проверить и задокументировать. - person Tom; 12.01.2014

Просто добавьте разрешение на главный фестиваль Android:

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

Проверьте это один раз.

Затем добавьте этот код:

AdManager.setTestDevices( new String[] {                 
   AdManager.TEST_EMULATOR,                 // Android emulator
   "E83D20734F72FB3108F104ABC0FFC738",      // My T-Mobile G1 Test Phone
} );  
person Narasimha    schedule 04.01.2011
comment
Похоже, AdManager не включен в последнюю версию AdMob SDK (см. 6.4.1). Кроме того, почему необходимо добавить разрешение на местоположение? - person Tom; 12.01.2014

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

Мне потребовалось некоторое время, пока я не понял, какое устройство является SDK AdMob, чего я ожидал, потому что я думал, что это что-то связанное с реальным устройством, например (устройства adb)

Но вот комментарий из официальной документации, который прояснил это.

Появится сообщение журнала с кодом, необходимым для добавления текущего устройства в список тестовых устройств.

Вы можете получить сообщение, похожее на это

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" />

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

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

person Paulo Miguel Almeida    schedule 09.08.2013