2015-09-25 4 views
8

Я использую admob в своем приложении, он отлично работает, но внезапно он прекратил показывать рекламу вообще. Беллоу мои коды я использовал:Объявление баннера AdMob не отображается

mainActivity.xml:

<com.google.android.gms.ads.AdView 
     android:id="@+id/adView" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerHorizontal="true" 
     android:layout_alignParentBottom="true" 
     ads:adSize="BANNER" 
     ads:adUnitId="@string/banner_ad_unit_id"> 
    </com.google.android.gms.ads.AdView> 

MainActivity.java

 AdView mAdView = (AdView) findViewById(R.id.adView); 

     AdRequest adRequest = new AdRequest.Builder().build(); 

     mAdView.loadAd(adRequest); 

AndroidManifest:

<uses-sdk 
     android:minSdkVersion="9" 
     android:targetSdkVersion="19" /> 

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

<meta-data android:name="com.google.android.gms.version" 
      android:value="@integer/google_play_services_version" /> 

<!--Include the AdActivity configChanges and theme. --> 
<activity android:name="com.google.android.gms.ads.AdActivity" 
      android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" 
      android:theme="@android:style/Theme.Translucent" /> 

Я следовал всем инструкциям с сайта AdMob как я сказал, что он работал несколько дней назад.

пыльник немногочисленны линия от LogCat, которые могут быть связаны с моим вопросом:

09-25 22:44:50.292: E/dalvikvm(18554): Could not find class 'android.app.AppOpsManager', referenced from method com.google.android.gms.common.GooglePlayServicesUtil.zza 

09-25 22:45:07.209: E/Ads(18554): JS: Uncaught ReferenceError: renderAd is not defined (https://googleads.g.doubleclick.net/mads/gma:1) 
09-25 22:45:07.209: E/Web Console(18554): Uncaught ReferenceError: renderAd is not defined:1 
09-25 22:45:07.209: E/Ads(18554): JS: Uncaught ReferenceError: onLoad is not defined (https://googleads.g.doubleclick.net/mads/gma:1) 
09-25 22:45:07.209: E/Web Console(18554): Uncaught ReferenceError: onLoad is not defined:1 

Я получаю сильфона предупреждение повторно, и появляется больше, когда я нажимаю на пустую область, где объявление должно быть представлено

09-25 22:46:10.911: W/PicturePileLayerContent(18554): Warning: painting PicturePile without content! 

Это фильтруется LogCat с «рекламой»

09-25 23:39:25.948: I/Ads(28874): Starting ad request. 
09-25 23:39:25.948: I/Ads(28874): Use AdRequest.Builder.addTestDevice("8FCD71CAAE776558876AAA9BA964245A") to get test ads on this device. 

09-25 23:39:26.919: I/Ads(22050): App index is not enabled 
09-25 23:39:30.432: E/Ads(28874): JS: Uncaught ReferenceError: renderAd is not defined (https://googleads.g.doubleclick.net/mads/gma:1) 
09-25 23:39:30.442: E/Ads(28874): JS: Uncaught ReferenceError: onLoad is not defined (https://googleads.g.doubleclick.net/mads/gma:1) 
09-25 23:39:30.442: I/Ads(28874): Scheduling ad refresh 60000 milliseconds from now. 
09-25 23:39:30.472: I/Ads(28874): Ad finished loading. 

Я искал везде для решения, а также рассмотрел некоторые аналогичные, но не из них помог мне.

+0

Я получаю эту ошибку после добавления builder(). AddTestDevice ("******") '09-26 14: 26: 49.691: E/Ads (28853): JS: Uncaught ReferenceError: renderAd не определен (https://googleads.g.doubleclick.net/mads/gma:1) 09-26 14: 26: 49.701: E/Ads (28853): JS: Неподготовлено ReferenceError: onLoad не определен (https: // googleads.g.doubleclick.net/mads/gma:1) ' – Darshan

ответ

5

Эта проблема решается путем удаления приложения вручную и переустановить, не внося никаких изменений!

+0

Он работает! Ваш вопрос касался не тестирования, не так ли? –

2

Проверьте, есть ли у вас последние версии adMob и GooglePlayServices lib.

+0

Я только что добавил сервисы Google play, которые показывают Rev. 26, я не знаю о версии adMob, нет инструкции для этой библиотеки на официальном сайте. – Darshan

11

Использование ниже строк кода

AdView mAdView = (AdView) findViewById(R.id.adView); 

AdRequest request = new AdRequest.Builder() 
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)  // All emulators 
.addTestDevice("AC98C820A50B4AD8A2106EDE96FB87D4") // My Galaxy Nexus test phone 
.build(); 


mAdView.loadAd(request); 

вместо того, чтобы использовать эту

AdRequest adRequest = new AdRequest.Builder().build(); 

, потому что эта линия будет использоваться, когда ваше приложение будет готово к публикации на Google Play Store.

Вы можете разместить идентификатор своего устройства вместо "AC98C820A50B4AD8A2106EDE96FB87D4".Код, чтобы получить идентификатор устройства:

String android_id = Settings.Secure.getString(getContext().getContentResolver(), 
      Settings.Secure.ANDROID_ID); 

Пожалуйста, прочитайте их внимательно:

https://developers.google.com/admob/android/targeting#test_ads

https://developers.google.com/admob/android/quick-start

Смотрите эту

enter image description here

enter image description here

+1

Я попробовал ваш код, он удалил эти строки из logcat '09-25 23: 39: 25.948: I/Ads (28874): используйте AdRequest.Builder.addTestDevice (" 8FCD71F44FG4H6D7DAAA9BA964245A "), чтобы получить тестовые объявления на этом устройстве, но объявление все еще не отображается !!! – Darshan

+0

Google просил не использовать этот код (вы использовали ранее), когда ваше приложение находится в режиме разработки. Возможно, ваш добавленный идентификатор был уволен. Попробуйте другое электронное письмо и создайте еще один запрос на добавление. –

+0

Я дал некоторые ссылки, пожалуйста, внимательно прочитайте. –

1

Поместите баннер в LinearLayout так же, как это, я столкнулся с той же проблемой, и я установил его кладя его в линейной компоновке

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:ads="http://schemas.android.com/apk/res-auto" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:orientation="vertical" 
    android:layout_alignParentTop="true" 
    android:layout_alignParentRight="true" 
    android:layout_alignParentEnd="true" 
    android:id="@+id/linearLayout"> 

    <com.google.android.gms.ads.AdView 
     android:id="@+id/adView" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     ads:adSize="BANNER" 
     ads:adUnitId="ca-app-pub-8056472942589154/2652831823" 
     android:layout_alignBottom="@+id/saida" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" /> 
</LinearLayout> 
+0

Не работает !. – Darshan

1

В моем случае объявление не появилось, пока я не дал достаточно места для этого.

Раньше это было как

<LinearLayout 
     android:orientation="vertical" 
     android:background="@color/primary" 
     android:layout_width="match_parent" 
     android:layout_height="90dip"> 
      <ImageView 
       android:onClick="goBack" 
       android:clickable="true" 
       android:src="@drawable/ic_arrow_back_white_48dp" 
       android:layout_width="50dip" 
       android:layout_height="50dip"/> 
      <com.google.android.gms.ads.AdView 
       android:layout_gravity="center_horizontal" 
       android:id="@+id/adView" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       ads:adSize="BANNER" 
       ads:adUnitId="@string/dwn_bnr_ad"/> 

Здесь AdView оказывает высоту wrap_content, поэтому он приспосабливается для достижения своей высоты, но его родитель (LinearLayout) имеет строгую высоту 90dip которая Doesnt позволяет AdView для размещения достаточно места для показа рекламы.

Так что я просто изменил высоту LinearLayout к wrap_content тогда все стало нормально

0

ли вы вернуться в свой аккаунт AdMob, чтобы зарегистрировать конкретное приложение для объявлений и получить новый номер больше издателя с «ca-app-pub-» предисловие вместо предисловия «pub»?

Нигде в инструкциях «баннерные объявления 1» на сайте разработчика Google Admob «Google Mobile Ads SDK» не упоминается необходимость вернуться к учетной записи admob, чтобы сделать это.

Эта глупая ошибка удерживала меня в течение нескольких дней.

Смежные вопросы