Publicidad

Los anuncios publicitarios ocupan un lugar dentro del diseño de una aplicación, ya sea en la parte superior o inferior de la pantalla del dispositivo. Permanecen en la pantalla mientras los usuarios interactúan con la aplicación y pueden actualizarse automáticamente después de un cierto período de tiempo. Si es nuevo en la publicidad móvil, es un excelente lugar para comenzar.Estudio de caso .

Esta guía le muestra cómo integrar banners deAdMob en una aplicación para Android. Además de fragmentos de código e instrucciones, también incluye información sobre el tamaño adecuado de los banners y enlaces a recursos adicionales.

requisitos previos

Añadir AdView a la disposición

El primer paso para exhibir una pancarta es colocar AdView en el diseño de la Activity o el Fragment en el que desea que aparezca. La forma más sencilla de hacerlo es agregar uno al archivo de diseño XML correspondiente. Aquí hay un ejemplo que muestra una actividad de AdView :

# main_activity.xml
...
  <com.google.android.gms.ads.AdView
      xmlns:ads="http://schemas.android.com/apk/res-auto"
      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="ca-app-pub-3940256099942544/6300978111">
  </com.google.android.gms.ads.AdView>
...

Tenga en cuenta los siguientes atributos obligatorios:

  • ads:adSize - Ponga aquí el tamaño de anuncios que desea usar. Si no desea utilizar el tamaño estándar definido por la constante, puede establecer un tamaño personalizado en su lugar. Vea la sección de tamaño de banner de abajo para más detalles.
  • ads:adUnitId - Ponga aquí el identificador único asignado a cada bloque de anuncios en su aplicación donde los anuncios se van a mostrar. Si muestra anuncios publicitarios en diferentes actividades, cada una requerirá un bloque de anuncios.

Puede crear alternativamente AdView mediante programación:

Java

AdView adView = new AdView(this);

adView.setAdSize(AdSize.BANNER);

adView.setAdUnitId("ca-app-pub-3940256099942544/6300978111");
// TODO: Add adView to your view hierarchy.

Kotlin

val adView = AdView(this)

adView.adSize = AdSize.BANNER

adView.adUnitId = "ca-app-pub-3940256099942544/6300978111"
// TODO: Add adView to your view hierarchy.

Pruebe siempre con anuncios de prueba

Al crear y probar sus aplicaciones, asegúrese de usar anuncios de prueba en lugar de anuncios de producción en vivo. El no hacerlo puede dar lugar a la suspensión de su cuenta.

La forma más sencilla de cargar anuncios de prueba es usar nuestro ID de bloque de anuncios de prueba dedicado para banners de Android:

ca-app-pub-3940256099942544/6300978111

Se ha configurado especialmente para devolver anuncios de prueba para cada solicitud, y puede usarlo en sus propias aplicaciones mientras codifica, prueba y depura. Solo asegúrese de reemplazarlo con su propio ID de bloque de anuncios antes de publicar su aplicación.

Para obtener más información acerca de cómo funcionan los anuncios de prueba móvil del anuncio del SDK, ver Prueba anuncio .

Cargar un anuncio

Una vez que el AdView está en su lugar, el siguiente paso es cargar un anuncio. Eso se hace con el loadAd() método en el AdView clase. Se necesita una AdRequest parámetro, que contiene información de tiempo de ejecución (tal como la orientación info) acerca de una solicitud de anuncio única.

Aquí hay un ejemplo que muestra cómo cargar un anuncio en el onCreate() método de un Activity :

Actividad principal (extracto)

Java

package ...

import ...
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdView;

public class MainActivity extends AppCompatActivity {
    private AdView mAdView;

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        MobileAds.initialize(this, new OnInitializationCompleteListener() {
            @Override
            public void onInitializationComplete(InitializationStatus initializationStatus) {
            }
        });

        mAdView = findViewById(R.id.adView);
        AdRequest adRequest = new AdRequest.Builder().build();
        mAdView.loadAd(adRequest);
    }
}

Kotlin

package ...

import ...
import com.google.android.gms.ads.AdRequest
import com.google.android.gms.ads.AdView

class MainActivity : AppCompatActivity() {

    lateinit var mAdView : AdView

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        MobileAds.initialize(this) {}

        mAdView = findViewById(R.id.adView)
        val adRequest = AdRequest.Builder().build()
        mAdView.loadAd(adRequest)
    }
}

¡Eso es! Su aplicación ahora está lista para mostrar anuncios publicitarios.

eventos publicitarios

Para personalizar aún más el comportamiento de su anuncio, puede enlazar una serie de eventos en el ciclo de vida del anuncio: carga, apertura, cierre, etc. Puede detectar estos eventos a través de la AdListener clase.

Para utilizar un AdListener con AdView , llame a la setAdListener() método:

Java

mAdView.setAdListener(new AdListener() {
    @Override
    public void onAdLoaded() {
        // Code to be executed when an ad finishes loading.
    }

    @Override
    public void onAdFailedToLoad(LoadAdError adError) {
        // Code to be executed when an ad request fails.
    }

    @Override
    public void onAdOpened() {
        // Code to be executed when an ad opens an overlay that
        // covers the screen.
    }

    @Override
    public void onAdClicked() {
        // Code to be executed when the user clicks on an ad.
    }

    @Override
    public void onAdClosed() {
        // Code to be executed when the user is about to return
        // to the app after tapping on an ad.
    }
});

Kotlin

mAdView.adListener = object: AdListener() {
    override fun onAdLoaded() {
        // Code to be executed when an ad finishes loading.
    }

    override fun onAdFailedToLoad(adError : LoadAdError) {
        // Code to be executed when an ad request fails.
    }

    override fun onAdOpened() {
        // Code to be executed when an ad opens an overlay that
        // covers the screen.
    }

    override fun onAdClicked() {
        // Code to be executed when the user clicks on an ad.
    }

    override fun onAdClosed() {
        // Code to be executed when the user is about to return
        // to the app after tapping on an ad.
    }
}

Cada uno de los métodos reemplazables en AdListener corresponde a un evento en el ciclo de vida de un anuncio.

Métodos reemplazables
onAdLoaded() El onAdLoaded() se ejecuta método cuando un anuncio tiene carga terminada. Si desea retrasar la adición de los AdView a su actividad o fragmento hasta que esté seguro se carga un anuncio, por ejemplo, puede hacerlo aquí.
onAdFailedToLoad() El onAdFailedToLoad() método es el único que incluye un parámetro. El parámetro de error de tipo LoadAdError describe lo que ha producido un error. Para obtener más información, consulte la documentación de depuración anuncio errores de carga .
onAdOpened() Este método se invoca cuando el usuario toca un anuncio.
onAdClosed() Cuando un usuario regresa a la aplicación después de ver la URL de destino de un anuncio, se invoca este método. Su aplicación puede usarlo para reanudar actividades suspendidas o realizar cualquier otro trabajo necesario para estar listo para la interacción.Consulte la AdMob AdListener ejemplo de una implementación de los métodos de publicidad de escucha en la aplicación para Android API de demostración.

En la siguiente tabla se enumeran los tamaños de banner estándar.

Tamaño en dp (ancho x alto) Descripción Disponibilidad Constante de tamaño de anuncio
320x50 Bandera Teléfonos y tabletas BANNER
320x100 Pancarta grande Teléfonos y tabletas LARGE_BANNER
300x250 Rectángulo mediano IAB Teléfonos y tabletas MEDIUM_RECTANGLE
468x60 Banner de tamaño completo de IAB tabletas FULL_BANNER
728x90 Tabla de clasificación de IAB tabletas LEADERBOARD
Proporcionada anchura x altura adaptativa Pancarta adaptativa Teléfonos y tabletas N / A
Anchura de la pantalla x 32 | 50 | 90 Bandera inteligente Teléfonos y tabletas SMART_BANNER
Más información sobre Banderas de adaptación , destinado a sustituir banners inteligentes .

Para definir un tamaño de banner personalizado, establecer sus desear AdSize , como se muestra aquí:

Java

AdSize adSize = new AdSize(300, 50);

Kotlin

val adSize = AdSize(300, 50)

Aceleración de hardware para anuncios de video

Para que los anuncios de vídeo para mostrar con éxito en vistas de su anuncio de la bandera, la aceleración de hardware debe estar habilitado.

La aceleración de hardware está habilitada de manera predeterminada, pero algunas aplicaciones pueden optar por deshabilitarla. Si esto se aplica a su aplicación, le recomendamos habilitar la aceleración de hardware para las clases de actividad que usan anuncios.

Habilitación de la aceleración de hardware

Si su aplicación no se comporta correctamente con la aceleración de hardware activada globalmente, también puede controlarla para actividades individuales. Para activar o desactivar la aceleración de hardware, puede utilizar el android:hardwareAccelerated atributo para el <application> y <activity> elementos en su AndroidManifest.xml . El siguiente ejemplo habilita la aceleración de hardware para toda la aplicación, pero la deshabilita para una actividad:

<application android:hardwareAccelerated="true">
    <!-- For activities that use ads, hardwareAcceleration should be true. -->
    <activity android:hardwareAccelerated="true" />
    <!-- For activities that don't use ads, hardwareAcceleration can be false. -->
    <activity android:hardwareAccelerated="false" />
</application>

Consulte la guía de aceleración HW para obtener más información acerca de las opciones para el control de la aceleración de hardware. Tenga en cuenta que las vistas de anuncios individuales no se pueden habilitar para la aceleración de hardware si la Actividad está deshabilitada, por lo que la Actividad en sí debe tener habilitada la aceleración de hardware.

Recursos adicionales

Ejemplos en GitHub

  • Los banners ejemplo: Java | Kotlin

  • Las características avanzadas de Evaluación: Java | Kotlin

  • Banner RecyclerView aplicación de ejemplo: Java

Tutoriales en vídeo de Mobile Ads Garage

Historias de éxito