App Open

Los anuncios de carga de aplicación (App Open) son un formato especial cuyo propósito es permitir la monetización de las pantalla de carga de las aplicaciones.

Estos anuncios se pueden cerrar en cualquier momento y están pensados para ser mostrados cuando la aplicación realiza una transición a primer plano.

Integración

Este formato de anuncio solo se puede integrar a través de código, implementando cualquiera de las dos integraciones posibles que se describen a continuación.

Manual

En este tipo de integración, es necesario crear una instancia de la clase AppOpenAd y utilizar los métodos loadAd() y showAd() para realizar la carga y mostrado del anuncio bajo demanda. El publisher es el responsable de decidir cuándo se debe mostrar el anuncio e implementar la lógica necesaria.

A continuación, se muestra un ejemplo sencillo de integración:

class MainActivity : Activity() {

    private var appOpenAd: AppOpenAd? = null
    
    override fun onCreate(savedInstanceState: Bundle?) {
        ...
        appOpenAd = AppOpenAd(this, "Ad Unit ID de Wortise").also {
	    it.loadAd()
        }
    }
    
    override fun onDestroy() {
        ...
        appOpenAd?.destroy()
    }
    
    fun showAppOpen() {
        if (appOpenAd?.isAvailable == true) {
            appOpenAd?.showAd(this)
        }
    }
}

Además, la clase AppOpenAd ofrece los siguientes métodos adicionales para configurar su comportamiento:

// Establece si se debe cargar un nuevo anuncio tras cerrar el anterior
appOpenAd.autoReload = true

// Muestra un anuncio inmediatamente si está disponible. En caso contrario,
// solicita la carga de un nuevo anuncio
appOpenAd.tryToShowAd(activity)

Vía Manager

El SDK ofrece una implementación estándar de App Open para facilitar la integración de este formato de anuncios.

Para realizar este tipo de integración, es necesario que la aplicación extienda la clase Application y, dentro de ella, crear una instancia de AppOpenManager, tal y como se muestra en el siguiente ejemplo:

class MyApplication : Application() {

    private val appOpenManager by lazy {
        AppOpenManager(this, "Ad Unit ID de Wortise")
    }

    override fun onCreate() {
        ...
        appOpenManager.loadAd()
    }
}

Con esta simple integración, la aplicación mostrará anuncios cada vez que se realice una transición de segundo a primer plano.

Igualmente, la clase AppOpenManager ofrece los mismos métodos que AppOpenAd para configurar su comportamiento y mostrar los anuncios bajo demanda.

Configuración del listener

Como en el resto de formatos, se puede añadir un listener para recibir los diferentes eventos que sucedan durante el ciclo de vida del anuncio. Para ello, es necesario implementar la interfaz AppOpenAd.Listener como se muestra en el siguiente ejemplo:

appOpenAd.listener = object : AppOpenAd.Listener() {

    override fun onAppOpenClicked(ad: AppOpenAd) {
        // Invocado cuando el anuncio ha sido clickeado
    }
    
    override fun onAppOpenDismissed(ad: AppOpenAd) {
        // Invocado cuando el anuncio ha sido cerrado
    }
    
    override fun onAppOpenFailedToLoad(ad: AppOpenAd, error: AdError) {
        // Invocado cuando el anuncio no se ha podido cargar
        // (por error o falta de inventario)
    }
    
    override fun onAppOpenFailedToShow(ad: AppOpenAd, error: AdError) {
        // Invocado cuando el anuncio no se ha podido mostrar
    }
    
    override fun onAppOpenImpression(ad: AppOpenAd) {
        // Invocado cuando el anuncio ha generado una impresión
    }

    override fun onAppOpenLoaded(ad: AppOpenAd) {
        // Invocado cuando el anuncio ha sido cargado
    }
    
    override fun onAppOpenShown(ad: AppOpenAd) {
        // Invocado cuando el anuncio ha sido mostrado
    }
}

Última actualización