No hay espacio suficiente para mostrar el anuncio (AdMob)

Estoy intentando mostrar anuncios de AdMob en mi actividad, pero siempre da error que "no hay suficiente espacio para mostrar el anuncio".

Mi archivo XML es:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <com.google.ads.AdView android:id="@+id/adMobadView" android:layout_width="fill_parent" android:layout_height="fill_parent" ads:adSize="BANNER" ads:adUnitId="@string/admobid" android:layout_alignParentBottom="true" android:gravity="bottom|center_horizontal" ads:loadAdOnCreate="true" /> </RelativeLayout> 

Mi archivo Java:

  AdView ad=(AdView)findViewById(R.id.adMobadView); AdRequest re = new AdRequest(); re.setTesting(true); re.setGender(AdRequest.Gender.FEMALE); ad.loadAd(re); 

LogCat :

  02-18 14:16:17.869: W/webcore(813): Can't get the viewWidth after the first layout 02-18 14:16:17.979: I/Ads(813): onReceiveAd() 02-18 14:16:17.979: W/Ads(813): Not enough space to show ad! Wants: <320, 50>, Has: <288, 430> 

El relleno izquierdo y derecho de su RelativeLayout consume el espacio requerido por su AdView.

Cambie RelativeLayout config a:

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" ... android:paddingLeft="0dp" android:paddingRight="0dp" ... > 

Probablemente también desee cambiar su configuración de AdView a:

 <com.google.ads.AdView android:id="@+id/adMobadView" android:layout_width="match_parent" android:layout_height="wrap_content" ... /> 

Ya que no desea que su AdView consuma toda la pantalla.

Compruebe las dimensiones de la pantalla y los rellenos, y ver si realmente se ajusta.

También, trate de cambiar el Adview a esto:

  <com.google.ads.AdView android:id="@+id/adMobadView" android:layout_width="320dp" android:layout_height="50dp" ads:adSize="BANNER" ads:adUnitId="@string/admobid" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" ads:loadAdOnCreate="true" /> 
 to show ads inside relative layout you can follow this design <RelativeLayout android:id="@+id/relativeLayoutpopular" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_above="@+id/bottomBar" android:layout_below="@+id/relativeLayoutadd" android:layout_marginTop="5dp" > <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:paddingTop="3dp"> <com.google.ads.AdView xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads" android:id="@+id/adView" android:layout_width="fill_parent" android:layout_weight="0.9" android:layout_height="wrap_content" ads:adSize="SMART_BANNER" android:background="#2d2f2f" ads:adUnitId="admobId" /> </LinearLayout> </RelativeLayout> 

Tuve el mismo problema con NativeExpressAdView. Si agrega relleno o margen a su diseño, creo, no es una buena idea fijar el ancho del tamaño del anuncio. Sugger que hacer en programaticamente

  1. Primer paso: obtener el tamaño dp de la pantalla witdh

    
    

    DisplayMetrics displayMetrics = context.getResources (). GetDisplayMetrics ();
    // float dpHeight = displayMetrics.heightPixels / displayMetrics.density;
    DpWidth = displayMetrics.widthPixels / displayMetrics.density;

2. Segundo paso:


MAdView.setAdSize (nuevo AdSize ((int) dpWidth, 150));

Simplemente establezca los márgenes a 0dp en res-> values-> dimens.xml

 <dimen name="activity_horizontal_margin">0dp</dimen> <dimen name="activity_vertical_margin">0dp</dimen> 
  • ¿Cómo configurar el android para mostrar la orientación vertical?
  • Comparación de diseños de diseño de Android
  • Cómo leer el valor de string.xml en android?
  • Eliminar el efecto sombra en el botón android
  • Cómo cambiar los dispositivos predeterminados de vista previa de diseño en Android Studio
  • Android: ¿Alinear el botón en la parte inferior derecha de la pantalla usando FrameLayout?
  • Cambiar el diseño mientras cambia la orientación en tiempo de ejecución en un fragmento sin volver a crear la vista
  • Java.lang.UnsupportedOperationException: No se puede convertir a dimension: type = 0x12
  • ¿Cómo obtener layout_weight de forma programática?
  • Configuración de Android LinearLayout de fondo mediante programación
  • ¿Qué sucede si utilizo el mismo id para varios widgets en diferentes diseños?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.