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 [email protected].

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/libs-release-local' }
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.14.0'
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.ads:adapter-adincube:2.6.3.0'

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.READ_CONTACTS" /> <uses-permission android:name="android.permission.GET_ACCOUNTS" />

Ejemplo de solicitud en el Acivity principal:

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

Ahora vamos a integrar las siguientes dos lineas, que pertenecen a Geosmart, en algún activity principal de la aplicación:

Geosmart.initialize(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.