Wortise SDK - Android

Esta guía le muestra cómo integrar anuncios publicitarios de Wortise en una aplicación de Android. Además de los fragmentos de código y las instrucciones, también incluye información sobre el tamaño adecuado de los banners y enlaces a recursos adicionales. Si tiene alguna pregunta, no dude en enviarnos un correo electrónico a support@wortise.com.

Aquí están los pasos básicos de integración:

  1. Echa un vistazo a los archivos de nuestro repositorio.
  2. Agrega nuestro SDK (y dependencias) a tu proyecto.
  3. Crea bloques de anuncios en tu aplicación.
  4. Verifica la integración de visibilidad de anuncios en tu
    dispositivo.
  5. (Opcional) Configura la mediación de las redes de publicidad disponibles.
  6. ¡Mirá como aumentan tus ingresos!

1. Integración del SDK

En primer lugar, es necesario añadir los siguientes repositorios Maven dentro del bloque repositories del fichero build.gradle

repositories {
    maven { url 'http://maven.wortise.com/artifactory/public' }
    maven { url 'https://s3.amazonaws.com/moat-sdk-builds' }
    maven { url 'http://repository.adincube.com/maven' }
}

Una vez añadido, se puede proceder a integrar el SDK y los adaptadores para ad networks. Para ello, hay que introducir las siguientes líneas dentro del bloque dependencies del mismo fichero build.gradle

implementation 'com.wortise:android-sdk:0.15.2-nc'
implementation 'com.wortise:adapter-admob:15.0.0.0'
implementation 'com.wortise:adapter-applovin:8.1.0.0'
implementation 'com.wortise:adapter-facebook:4.28.1.0'
implementation 'com.wortise:adapter-mopub:5.3.0.1'
implementation 'com.wortise:adapter-ogury:3.0.23.3'
implementation 'com.wortise:adapter-adincube:2.6.3.0'

En caso de no tenerlo ya, es necesario activar la compatibilidad con Java 8 en el proyecto. Esto se puede lograr añadiendo estas líneas adicionales dentro del bloque android, también en el mismo fichero build.gradle

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}

El paso siguiente, es solicitar el permiso ACCESS_FINE_LOCATION en el lugar de la aplicación que creas mas conveniente. Este permiso es necesario para recopilar datos del usuario, y mostrarle los mejores anuncios basado en su localización real. Puedes omitirlo, pero es probable que no se llegue a conseguir el CPM Premium.

En el Manifest:

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />

Ejemplo de solicitud en el Activity principal:

private static final String[] PERMISSIONS = {
    Manifest.permission.ACCESS_FINE_LOCATION,
    Manifest.permission.ACCESS_COARSE_LOCATION,
    Manifest.permission.GET_ACCOUNTS
};

ActivityCompat.requestPermissions(this, PERMISSIONS, 100);

Ahora vamos a integrar las siguientes lineas, para inicializar el SDK con Geosmart, en algún activity principal de la aplicación:

ConsentManager.requestIfNeeded(this, granted -> {
    WortiseSdk.initializeWithGeosmart(this, "tu zone ID");
    DataManager.requestUserInfo(this, true);
});

Con esto, el SDK de Wortise ya se encuentra integrado y listo para su uso.

2. Formato banner

Los anuncios de banner son anuncios de imagen o de texto rectangulares que ocupan un lugar dentro del diseño de una aplicación. 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 eres nuevo en la publicidad móvil, son un excelente lugar para comenzar.

Integración

Existen dos formas diferentes de realizar la integración de un banner. A continuación se detallan
ambas opciones.

XML

<com.wortise.ads.AdView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:adHeight="50"
    app:adWidth="320"
    app:zoneId="<Zone ID de Wortise>" />

JAVA

public class MainActivity extends Activity {
    private AdView mAdView;
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        ...
        mAdView = new AdView(this);
        mAdView.setAdHeight(50);
        mAdView.setAdWidth(320);
        mAdView.setZoneId("<Zone ID de Wortise>");
        
        // Por ejemplo, añadímos el AdView en un FrameLayout
        FrameLayout frameLayout = findViewById(R.id.frame);
        frameLayout.addView(mAdView);
        mAdView.loadAd();
    }
    
    @Override
    public void onDestroy() {
        ...
        mAdView.destroy();
    }
    
    @Override
    public void onPause() {
        ...
        mAdView.pause();
    }
    
    @Override
    public void onResume() {
        ...
        mAdView.resume();
    }
}

Configuración listener

Se puede añadir un listener a cualquier instancia de AdView para recibir los diferentes eventos que
sucedan durante su ciclo de vida. Para ello, es necesario implementar la interfaz AdView.Listener y utilizar el método setListener.

Ejemplo

mAdView.setListener(new AdView.Listener() {
    @Override
    public void onAdClicked(@NonNull AdView ad) {
        // Llamado cuando el usuario hace click sobre el banner
    }
    
    @Override
    public void onAdFailed(@NonNull AdView ad, @NonNull AdError error) {
        // Llamado cuando la carga de un anuncio falla (por error o falta de inventario)
    }
    
    @Override
    public void onAdLoaded(@NonNull AdView ad) {
        // LLamado cuando se ha cargado un anuncio con éxito
    }
});

3. Formato Intersticial

Integración

Al contrario que los banners, los interstitials únicamente se pueden integrar a través de código. A
continuación se muestra un sencillo ejemplo para entender su funcionamiento.

Ejemplo

public class MainActivity extends Activity {
    private InterstitialAd mInterstitial;
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        ...
        mInterstitial = new InterstitialAd(this, "<Zone ID de Wortise>");
        mInterstitial.loadAd();
    }
    
    @Override
    public void onDestroy() {
        ...
        mInterstitial.destroy();
    }
    
    public void showInterstitial() {
        if (mInterstitial.isAvailable()) {
            mInterstitial.showAd();
        }
    }
}

Configuración listener

Al igual que en el caso de los banners, se puede añadir un listener para recibir los diferentes eventos
que sucedan durante el ciclo de vida del interstitial. Para ello, es necesario implementar la interfaz
InterstitialAd.Listener y utilizar el método setListener.

Ejemplo

mInterstitial.setListener(new Interstitial.Listener() {
    @Override
    public void onInterstitialClicked(@NonNull InterstitialAd ad) {
        // Llamado cuando el usuario hace click sobre el interstitial
    }
    
    @Override
    public void onInterstitialDismissed(@NonNull InterstitialAd ad) {
        // Llamado cuando el interstitial es cerrado
    }
    
    @Override
    public void onInterstitialFailed(@NonNull InterstitialAd ad, @NonNull AdError error) {
        // Llamado cuando la carga del interstitial ha fallado (por error o falta de inventario)
    }
    
    @Override
    public void onInterstitialLoaded(@NonNull InterstitialAd ad) {
        // Llamado cuando el interstitial ha cargado con éxito
    }
    
    @Override
    public void onInterstitialShown(@NonNull InterstitialAd ad) {
        // Llamado cuando se muestra el interstitial
    }
});

4. ProGuard

No es necesario realizar ninguna acción al respecto ya que el SDK de Wortise incluye las reglas ProGuard necesarias para su correcto funcionamiento.

Mostrar comentarios