Native Ads

Los anuncios nativos son recursos publicitarios que se presentan a los usuarios a través de componentes de la interfaz que son nativos de la plataforma. Se muestran con los mismos tipos de vistas con los que creas tus diseños, y puedes darles el formato que quieras para que se adapten al diseño visual de la experiencia de usuario de la que forman parte. En términos de programación, esto implica que, cuando se carga un anuncio nativo, tu aplicación recibe un objeto NativeAd que contiene sus recursos y es la propia aplicación (no el SDK de anuncios de Google para móviles) la que los muestra.

A grandes rasgos, debes hacer dos cosas para implementar anuncios nativos correctamente: cargarlos mediante el SDK y, a continuación, mostrar su contenido en tu aplicación. En esta página aprenderás a utilizar el SDK para cargar anuncios nativos.

Requisitos previos

Cargar anuncios

Los anuncios nativos se cargan mediante la clase AdLoader, que tiene su propia clase Builder para personalizarla durante la creación. Al añadir procesadores a la clase AdLoader mientras esta se crea, la aplicación especifica los tipos de anuncios nativos que puede recibir. De esta forma, AdLoader solo solicitará esos anuncios.

Crear un AdLoader

En el siguiente fragmento de código puedes ver cómo crear un AdLoader que puede cargar anuncios nativos unificados:

Java

AdLoader adLoader = new AdLoader.Builder(context, "/6499/example/native")
    .forUnifiedNativeAd(new UnifiedNativeAd.OnUnifiedNativeAdLoadedListener() {
        @Override
        public void onUnifiedNativeAdLoaded(UnifiedNativeAd unifiedNativeAd) {
            // Show the ad.
        }
    })
    .withAdListener(new AdListener() {
        @Override
        public void onAdFailedToLoad(int errorCode) {
            // Handle the failure by logging, altering the UI, and so on.
        }
    })
    .withNativeAdOptions(new NativeAdOptions.Builder()
            // Methods in the NativeAdOptions.Builder class can be
            // used here to specify individual options settings.
            .build())
    .build();

Kotlin

val adLoader = AdLoader.Builder(this, "/6499/example/native")
    .forUnifiedNativeAd { ad : UnifiedNativeAd ->
        // Show the ad.
    }
    .withAdListener(object : AdListener() {
        override fun onAdFailedToLoad(errorCode: Int) {
            // Handle the failure by logging, altering the UI, and so on.
        }
    })
    .withNativeAdOptions(NativeAdOptions.Builder()
            // Methods in the NativeAdOptions.Builder class can be
            // used here to specify individual options settings.
            .build())
    .build()

Preparar lo necesario para el formato UnifiedNativeAd

El primer método que hemos visto sirve para preparar el AdLoader para el formato UnifiedNativeAd:

forUnifiedNativeAd()
Al llamar a este método se configura el AdLoader para solicitar anuncios nativos unificados. Cuando un anuncio se carga correctamente, se llama al método onUnifiedNativeAdLoaded() del objeto procesador.

Cuando el AdLoader solicita un anuncio, Google selecciona y muestra un anuncio que maximiza el rendimiento del editor.

Usar AdListener con un AdLoader

Durante la creación del objeto AdLoader anterior, la función withAdListener asigna un AdListener.

Este paso es opcional. El método utiliza un objeto AdListener como único parámetro, que recibe retrollamadas desde el AdLoader cuando se producen eventos del ciclo de vida del anuncio.

Java

.withAdListener(new AdListener() {
    // AdListener callbacks like OnAdFailedToLoad, OnAdOpened, OnAdClicked and
    // so on, can be overridden here.
})

Kotlin

.withAdListener(object : AdListener() {
    // AdListener callbacks like OnAdFailedToLoad, OnAdOpened, OnAdClicked and
    // so on, can be overridden here.
})

Hay una diferencia importante entre el funcionamiento de los objetos AdListener con anuncios nativos y su funcionamiento con banners e intersticiales. Como el AdLoader tiene sus propios procesadores específicos según el formato (como UnifiedNativeAd.OnUnifiedNativeAdLoadedListener), que se usan cuando un anuncio se ha cargado, no se llama al método onAdLoaded() desde AdListener cuando un anuncio nativo se carga correctamente.

Cargar el anuncio nativo

Cuando termines de crear un objeto AdLoader, llama a su método loadAd() para solicitar un anuncio:

Java

adLoader.loadAd(new PublisherAdRequest.Builder().build());

Kotlin

adLoader.loadAd(PublisherAdRequest.Builder().build())

Ten en cuenta que los AdLoaders usan la misma clase PublisherAdRequest que los banners y los intersticiales. Puedes utilizar los métodos de esa clase para añadir información sobre la segmentación, tal como harías con otros tipos de anuncio.

Cuándo solicitar anuncios

Las aplicaciones que muestran anuncios nativos pueden solicitarlos con antelación a la publicación en sí. En muchos casos, es la práctica recomendada. Por ejemplo, si la aplicación muestra una lista de elementos entre los que también hay anuncios nativos, se pueden cargar los de toda la lista, pero algunos solo se mostrarán cuando el usuario desplace la vista y otros ni siquiera llegarán a aparecer.

Mostrar anuncios nativos unificados

Después de cargar el anuncio, solo queda mostrárselo a los usuarios. Para aprender a hacerlo, consulta nuestra guía sobre los anuncios nativos avanzados.