Espacio vacío después de que AdMob desaparezca

Tengo la estructura de la disposición:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <com.google.ads.AdView android:layout_width="fill_parent" android:layout_height="wrap_content" ads:adSize="BANNER" /> <LinearLayout style="@style/TitleBar" android:layout_width="fill_parent" android:layout_height="45dip" // title bar </LinearLayout> <RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" // main layout with all needed elements and background!" > </RelativeLayout> </LinearLayout> 

Todo parece bien, hasta que mi AdMob desapareció. Entonces puedo ver la región negra vacía con tamaño de admob.

ACTUALIZACIÓN: mi captura de pantalla: Introduzca aquí la descripción de la imagen

Normalmente veo bloqueo de anuncios aquí, pero cuando recibo onFailedToReceiveAd (la solicitud de anuncio se realizó correctamente, pero no se devolvió anuncio debido a la falta de inventario de anuncios). El anuncio desaparece y mi diseño no llena toda la pantalla.

Lo que describe es extraño … La razón por la que creí que desapareció un anuncio fue en caso de que un anuncio se actualizara y, a continuación, no se publicara ningún anuncio debido a la falta de anuncios en el lado de AdMob. Pero de mi propia prueba, una vez que se carga un anuncio, si una actualización posterior de un anuncio falla, el anuncio anterior permanece en pantalla, no he visto desaparecer los anuncios.

Tal vez podrías mirar a logcat y ver si tienes algún error allí.

He aquí un código que usé para probar la entrega / error de la solicitud de anuncio en mi propia aplicación. En caso de que aparezcan los espacios en blanco después de que un anuncio no se cargue, supongo que podría poner algún código dentro del onFailedToReceiveAd para cambiar el tamaño de AdView

 AdView av = (AdView)findViewById(R.id.adView); // Set AdListener av.setAdListener(new AdListener() { AdView av = (AdView)findViewById(R.id.adView); @Override public void onFailedToReceiveAd(Ad ad, ErrorCode error) { System.err.println("Ad failed: " + ad.toString() + error.toString()); av.setVisibility(AdView.GONE);//By setting visibility to GONE, you hide the AdView, but the AdView won't refresh automaticaly anymore. } @Override public void onReceiveAd(Ad ad) { System.out.println("Ad received: " + ad.toString()); av.setVisibility(AdView.VISIBLE); } }); // Create an ad request. AdRequest adRequest = new AdRequest(); // Start loading the ad in the background. av.loadAd(adRequest); 

Sólo para confirmar su adView tiene esto como parámetro de altura?

 android:layout_height="wrap_content" 

Otra forma de ver esto sería configurar su propio 'anuncio de casa' en AdMob para orientar su aplicación. Luego, cuando AdMob no tenga un anuncio para publicarlo, mostrará su propio anuncio para "rellenar el espacio en blanco".

Utilice la función Establecer Visibilidad para eliminarla del diseño.

SetVisibility ()

Compruebe esta publicación también en ocultar el AdView

  • Implementación de Android recientemente diseñado y directrices de interfaz de usuario en las versiones 2.x
  • ¿Qué sucede si utilizo el mismo id para varios widgets en diferentes diseños?
  • Establece el ancho de relativelayout 1/3 del ancho de la pantalla?
  • Diálogo de Android con diseño personalizado: devolver datos
  • Haga clic en el diseño interior para redireccionarlo a otro diseño
  • Cómo clasificar los componentes de Android según el tamaño de la imagen mediante XML
  • Vinculación de datos de Android en vistas individuales agregadas a LinearLayout mediante programación?
  • Cómo restaurar Colapsing Toolbar Layout Estado tras cambio de orientación de pantalla
  • ¿Cómo hacer esto más eficiente?
  • Android layout: Esta etiqueta y sus hijos pueden ser reemplazados por un <TextView /> y un compuesto drawable
  • Mi clase derivada de SQLiteOpenHelper es enorme
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.