2011-04-19 15 views
10

Estoy usando Google AdMob Ads SDK 4.0.4 para Android¿Cómo hacer que AdView "ocupe" espacio incluso mientras solicita un anuncio? (Android)

De manera predeterminada, AdView no tendrá tamaño hasta que se cargue el anuncio. Lo cual podría causar problemas si tiene botones arriba o abajo del anuncio.

El usuario podría hacer clic accidentalmente en el anuncio si el anuncio se devolvió en el momento exacto en que está a punto de hacer clic en un botón.

En antiguo admob SDK Lo resolví usando setGoneWithoutAd (falso). De esta forma, el espacio se conservará incluso cuando el anuncio aún no se haya devuelto.

En el nuevo SDK (anuncios de Google AdMob SDK 4.0.4) me las arreglo para hacer lo mismo por el uso de este solución rápida: reservar el espacio, poniendo el anuncio de alguna disposición que tiene width = "320dp" y height = "50DP"

<LinearLayout 
         android:layout_width="320dp" 
         android:layout_height="50dp" > 
        <com.google.ads.AdView android:id="@+id/adview" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         ads:adUnitId="xxxxxxxxxxx" 
         ads:adSize="BANNER"/> 
</LinearLayout> 

funciona, pero no estoy seguro si esto es un método adecuado. (¿voy a correr en el famoso "no hay suficiente espacio para mostrar publicidad!" cuestión?)

para resumir la pregunta: ¿Cómo (correctamente) hacer que AdView "ocupe" espacio incluso mientras se solicita un anuncio?

¡Gracias de antemano!

Respuesta

5

Ha intentado:

<com.google.ads.AdView android:id="@+id/adview" 
        android:layout_width="320dip" 
        android:layout_height="50dip" 
        ads:adUnitId="xxxxxxxxxxx" 
        ads:adSize="BANNER"/> 

utilizo AdWhirl para servir a mis anuncios para mí y la forma en que tengo es con miras fijo similar a esto con dimensiones fijas. Parece que lo tienes configurado para envolver el contenido, haciendo que la vista desaparezca cuando no hay nada allí. Pruébalo y cuéntame cómo funciona.

+2

Esperaba una solución que no implicara una codificación estricta del tamaño en el diseño :-( – James

0

Primero debe decidir el tamaño del anuncio que desea. Hay un par de predefinidos.

La forma más fácil de trabajar con es SMART_BANNER, se adaptará es ancho para que coincida con la anchura de la pantalla actual, y su altura será de 32, 50 o 90 dp para alturas de protección < = 400, (> 400 & & < = 720) o> 720 dp respectivamente.

Una vez conocido el tipo de banner se le solicite, se declara en adSize propiedad y reservar el espacio para este uso layout_width y layout_height propiedades.

Por ejemplo para una SMART_BANNER se puede hacer algo como esto:

<com.google.android.gms.ads.AdView 
    android:id="@+id/adView" 
    android:layout_width="match_parent" 
    android:layout_height="@dimen/ad_banner_height" 
    ads:adSize="SMART_BANNER" 
    ads:adUnitId="xxxxxxxxx"/> 

Y usted pueda ad_banner_height a los siguientes valores:

values/dimens/ad_banner_height --> 32dp 
values-h400dp/dimens/ad_banner_height --> 50dp 
values-h720dp/dimens/ad_banner_height --> 90dp 

Para otros tamaños de banner, marque: https://firebase.google.com/docs/admob/android/banner#banner_size

Cuestiones relacionadas