Integración del SDK

Configurar proyecto

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

repositories {
maven { url 'https://maven.wortise.com/artifactory/public' }
}

Una vez añadido, se puede proceder a integrar el SDK . Para ello, hay que introducir la siguiente línea dentro del bloque dependencies del mismo fichero build.gradle (elige la versión del SDK más adecuada para tu app, según si integra las Support Libraries o AndroidX):

Support Libraries
AndroidX
Support Libraries
implementation 'com.wortise:android-sdk:1.0.4'
AndroidX
implementation 'com.wortise:androidx-sdk:1.0.4'

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
}

Solicitar permisos

El paso siguiente es solicitar los permisos en el lugar de la aplicación que creas mas conveniente. Estos permisos son necesarios para recopilar datos del usuario, y así poder mostrar los mejores anuncios en base a su localización real y atributos varios. Puedes omitir este paso, pero es probable que no se llegue a conseguir el CPM Premium.

Añade los siguientes permisos en el fichero AndroidManifest.xml:

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

Además, si tu aplicación está dirigida a Android 10 o superior (por ejemplo, el valor de targetSdkVersion es 29 o mayor), es necesario añadir el siguiente permiso adicional:

<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />

Al añadir el permiso ACCESS_BACKGROUND_LOCATION, Google Play obliga a rellenar la declaración de permisos de ubicación para publicar la app.

La opción más recomendable es obtener la aprobación de Google para poder utilizar dicho permiso.

En caso de no poder obtenerla, puedes declarar temporalmente que la app no cumple actualmente con las políticas de Google Play, para poder utilizar el permiso hasta el próximo 29 de Marzo. Una vez alcanzada esta fecha, deberás publicar una actualización de la app sin el permiso, para cumplir con las políticas de Google Play y evitar cualquier tipo de inconveniente.

Ejemplo

Ejemplo de solicitud en el Activity principal:

Java
Kotlin
Java
private static final String[] PERMISSIONS = {
Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.ACCESS_COARSE_LOCATION,
Manifest.permission.ACCESS_BACKGROUND_LOCATION,
Manifest.permission.GET_ACCOUNTS,
Manifest.permission.READ_CONTACTS,
Manifest.permission.READ_PHONE_STATE
};
ActivityCompat.requestPermissions(this, PERMISSIONS, 100);
Kotlin
private val PERMISSIONS = arrayOf(
Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.ACCESS_COARSE_LOCATION,
Manifest.permission.ACCESS_BACKGROUND_LOCATION,
Manifest.permission.GET_ACCOUNTS,
Manifest.permission.READ_CONTACTS,
Manifest.permission.READ_PHONE_STATE
)
ActivityCompat.requestPermissions(this, PERMISSIONS, 100)

Inicializar SDK

Nuestra recomendación es inicializar el SDK en la clase Application de la app, aunque también se puede realizar en algún Activity principal.

Para ello, es necesario integrar el siguiente código en el método onCreate:

Java
Kotlin
Java
WortiseSdk.initialize(this, "tu app key");
Kotlin
WortiseSdk.initialize(this, "tu app key")

Listener de inicialización

Existen dos maneras posibles para conocer cuando el SDK finaliza su inicialización:

Pasando un listener como último parámetro del método WortiseSdk.initialize

Java
Kotlin
Java
WortiseSdk.initialize(this, "tu app key", () -> {
// Este listener será llamado cuando la inicialización finalice
return Unit.INSTANCE;
});
Kotlin
WortiseSdk.initialize(this, "tu app key") {
// Este listener será llamado cuando la inicialización finalice
}

Utilizando el método WortiseSdk.wait

Java
Kotlin
Java
WortiseSdk.wait(() -> {
// Este listener será llamado cuando la inicialización finalice
return Unit.INSTANCE;
});
Kotlin
WortiseSdk.wait {
// Este listener será llamado cuando la inicialización finalice
}

Detener SDK

En caso de querer detener por completo el SDK (para evitar mostrar anuncios, por ejemplo, a los usuarios que han pagado para no recibirlos), además de no realizar la inicialización, es necesario ejecutar la siguiente línea de código en cualquier momento:

Java
Kotlin
Java
WortiseSdk.stop(this);
Kotlin
WortiseSdk.stop(this)

Con ello, el SDK detendrá y cancelará todo proceso pendiente que pudiera acabar resultando en el mostrado de un anuncio.

Compartir datos de los usuarios

Si la aplicación conoce algunos datos de los usuarios (edad, género, etc.), dicha información puede ser compartida con el SDK para que podamos mostrar anuncios de mayor interés, y así poder obtener un eCPM superior.

Para compartir esta información, es necesario hacer uso de los métodos que proporciona la clase DataManager, tal y como se muestra a continuación:

Java
Kotlin
Java
// Compartir la edad
DataManager.setAge(context, 20);
// Compartir el género
DataManager.setGender(context, UserGender.MALE);
// Compartir direcciones de email
DataManager.setEmails(
context,
);
DataManager.addEmail(context, "[email protected]");
Kotlin
// Compartir la edad
DataManager.setAge(context, 20)
// Compartir el género
DataManager.setGender(context, UserGender.MALE)
// Compartir direcciones de email
DataManager.setEmails(
context,
)
DataManager.addEmail(context, "[email protected]")

Igualmente, se puede hacer uso del método DataManager.requestAccount(context) para solicitar al usuario que comparta su dirección de email con el SDK.