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, implementado 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:

public class MainActivity extends Activity {

    private AppOpenAd mAppOpenAd;
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        ...
        mAppOpenAd = new AppOpenAd(this, "Ad Unit ID de Wortise");
        mAppOpenAd.loadAd();
    }
    
    @Override
    public void onDestroy() {
        ...
        mAppOpenAd.destroy(this);
    }
    
    public void showAppOpen() {
        if (mAppOpenAd.isAvailable()) {
            mAppOpenAd.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
mAppOpenAd.setAutoReload(true);

// Muestra un anuncio inmediatamente si está disponible. En caso contrario,
// solicita la carga de un nuevo anuncio
mAppOpenAd.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:

public class MyApplication extends Application {

    private AppOpenManager mAppOpenManager;

    @Override
    public void onCreate() {
        ...
        mAppOpenManager = new AppOpenManager(this, "Ad Unit ID de Wortise");
        mAppOpenManager.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:

mAppOpenAd.setListener(new AppOpenAd.Listener() {
    @Override
    public void onAppOpenClicked(@NonNull AppOpenAd ad) {
        // Invocado cuando el anuncio ha sido clickeado
    }
    
    @Override
    public void onAppOpenDismissed(@NonNull AppOpenAd ad) {
        // Invocado cuando el anuncio ha sido cerrado
    }
    
    @Override
    public void onAppOpenFailedToLoad(@NonNull AppOpenAd ad,
                                      @NonNull AdError error) {
        // Invocado cuando el anuncio no se ha podido cargar
        // (por error o falta de inventario)
    }
    
    @Override
    public void onAppOpenFailedToShow(@NonNull AppOpenAd ad,
                                      @NonNull AdError error) {
        // Invocado cuando el anuncio no se ha podido mostrar
    }
    
    @Override
    public void onAppOpenImpression(@NonNull AppOpenAd ad) {
        // Invocado cuando el anuncio ha generado una impresión
    }
    
    @Override
    public void onAppOpenLoaded(@NonNull AppOpenAd ad) {
        // Invocado cuando el anuncio ha sido cargado
    }
    
    @Override
    public void onAppOpenShown(@NonNull AppOpenAd ad) {
        // Invocado cuando el anuncio ha sido mostrado
    }
});

Última actualización