SDKs:SPS:Android:index
Contenido
CÓMO AGREGAR LA LIBRERÍA SPSLIB EN ANDROID
INTRODUCCIÓN.
La librería SpsLib se encarga de servir y controlar los anuncios a mostrar y la forma de mostrarlos.
SpsLib realiza una petición a nuestro Servidor SSP en busca de anuncios que mostrar, y éste devuelve el anuncio más adecuado en función de dicha petición.
La librería se ejecuta en segundo plano, por lo que no influye en los procesos que se estén ejecutando en la aplicación del cliente.
VERSIONES DE ANDROID SOPORTADAS.
Esta librería soporta todas las versiones de Android superiores a la 2.3 o GINGERBREAD.
ESPACIOS.
El espacio es el elemento que gestiona las características del anuncio a mostrar en su aplicación, tales como el tamaño y posición en pantalla, frecuencia de impresión, tipo de anuncio, etc.
En un mismo Activity (o Fragment) de la aplicación se puede establecer uno o varios espacios, en función de lo que desee el desarrollador. Un espacio sólo puede mostrar un anuncio a la vez.
Para que la librería SpsLib pueda mostrar un anuncio habrá que crear y configurar previamente el espacio con las características deseadas.
Creación de un espacio.
Este paso se realiza desde nuestro panel. Podemos hacerlo bien desde la sección Mis Aplicaciones o bien desde la sección Mis Espacios.
Recuerde que un espacio está asignado a una aplicación, por lo que ésta ha de haber sido creada previamente en el panel.
Si se encuentra en la sección Mis Aplicaciones, elija aquella aplicación de la lista a la que quiera agregar un espacio. En la columna RTB pulse el icono de Crear Espacio.
Si se encuentra en la sección Mis Espacios, pulse directamente el botón Crear Espacio.
Una vez en la sección Crear Espacio, rellene los campos del formulario y pulse el botón "Crear el espacio".
Configuración del espacio.
Configuración RTB del espacio.
Una vez creado el espacio, ha de configurarlo de cara a su comportamiento en nuestro Servidor SSP, que será el encargado de proveer los anuncios. Desde la sección Mis Aplicaciones pulse el botón "Espacios RTB" en la columna RTB de la aplicación a la que pertenece el espacio.
Rellene los campos del formulario y pulse "Añadir Configuración".
A continuación aparecerá el espacio con su configuración en el "Listado de espacios configurados".
Configuración de los cappings.
Si desea limitar el comportamiento del espacio ha de asignarle las limitaciones o cappings correspondientes. Esta configuración no es obligatoria.
Desde la sección Mis Espacios pulse "Gestionar Cappigs".
Seleccione las características del capping a aplicar y pulse el botón "Añadir capping".
A continuación aparecerá el capping creado en la lista "Cappings aplicados". Puede eliminar un capping si lo desea pulsando el botón "Quitar capping".
Si los cappings están configurados correctamente pulse el botón "Configurar estos cappings" para que el sistema los reconozca.
INSTALACION DE LA LIBRERIA.
Disponemos de un repositorio maven para que sus librerías puedan ser utilizadas en Android Studio. Para poder usar la librería SpsLib es necesario realizar varios cambios, tanto en el archivo build.gradle como en el AndroidManifest.xml de su aplicación.
Cambios en el archivo build.gradle.
En el apartado repositories deberá añadir:
repositories { mavenCentral() maven { url 'http://maven.mobeleader.com' } }
La librería SpsLib utiliza dos librerías auxiliares, RegisterLib y UtilsLib. Por tanto, para utilizar la librería SpsLib en su aplicación, en el apartado dependencies deberá añadir:
//noinspection GradleDynamicVersion compile 'com.mobeleader.utils:UtilsLib:+' //noinspection GradleDynamicVersion compile 'com.mobeleader.register:RegisterLib:+' //noinspection GradleDynamicVersion compile 'com.mobeleader.sps:PlusLib:5.+'
Cambios en el archivo AndroidManifest.xml.
Es necesario añadir el siguiente permiso:
<uses-permission android:name="android.permission.INTERNET" />
Se recomienda añadir los siguientes permisos para obtener el mayor rendimiento de la librería:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.READ_PROFILE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.READ_CONTACTS" /> <uses-permission android:name="android.permission.READ_CALENDAR" /> <uses-permission android:name="android.permission.WRITE_CALENDAR" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.GET_ACCOUNTS" /> <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
Cambios en el Proguard.
En caso de que esté utilizando el Proguard (variable minifyEnabled a TRUE en el build.gradle), será necesario añadir en el fichero del Proguard utilizado (proguard-rules.pro por defecto) la siguiente regla:
-keep class com.mobeleader. {*;}
LANZAMIENTO DE LA LIBRERIA.
Lo primero que debe hacer es elegir el Activity (o Fragment) en el que quiera mostrar la publicidad. Recuerde que puede hacerlo en tantos Activities o Fragments como desee. Importe el paquete com.mobeleader.sps:
import com.mobeleader.sps.*;
Una vez importado el paquete, se procederá al lanzamiento de la librería. La librería SpsLib se puede lanzar principalmente de dos maneras: a través de una vista o directamente.
Lanzamiento básico.
Si lo que desea es mostrar el anuncio a través de un banner, en una posición y con unas dimensiones determinadas, ha de utilizar la clase SpsView en su Activity o Fragment. SpsView es el layout o vista en el que se mostrará el anuncio. Las características del layout se establecen mediante el archivo XML.
Añada en el XML del layout del Activity o Fragment la vista *SpsView (en el ejemplo se añade dentro de un LinearLayout):
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:gravity="center_horizontal"> <com.mobeleader.sps.SpsView xmlns:sps="http://schemas.android.com/apk/res-auto" android:id="@+id/spsView" android:layout_width="wrap_content" android:layout_height="wrap_content" sps:spsAppHash="appHash" sps:spsAppSpaceHash="spaceHash" sps:spsLoadSps="true" sps:spsSize="BANNER"/> </LinearLayout>
sps:spsAppHash=“appHash” y sps:spsAppSpaceHash=“spaceHash” son campos obligatorios.
En el campo appHash ha de introducir el código hash de su aplicación, generado al registrarla en el Panel de Mobeleader. Lo puede obtener en la sección Mis Aplicaciones, pulsando el icono de la columna "Hash" de su aplicación.
En el campo spaceHash ha de introducir el código hash del espacio que vaya a gestionar la publicidad, generado al crear dicho espacio en el Panel de Mobeleader. Lo puede obtener en la sección Mis Espacios, pulsando el icono de la columna "Hash" de su espacio.
sps:spsSize=“BANNER" y sps:spsLoadSps=“true" también son campos obligatorios.
El campo spsSize determina el tipo de banner a mostrar, esto es, las dimensiones que ocupará dentro de la pantalla. A continuación se muestra una lista con los tipos de banner que ofrece Mobeleader:
- "IMAGE_SMALL_BANNER" (120 x 20).
- "IMAGE_SMALL_HIGH_BANNER" (120 x 30).
- "IMAGE_MEDIUM_BANNER" (168 x 28).
- "IMAGE_MEDIUM_HIGH_BANNER" (168 x 42).
- "IMAGE_LARGE_BANNER" (216 x 36).
- "IMAGE_LARGE_HIGH_BANNER" (216 x 54).
- "HIGH_BANNER" (300 x 75).
- "MOBILE_POP_UP" (300 x 250).
- "TABLET_FILM_STRIP" (300 x 600).
- "BANNER" (320 x 50).
- "SQUARE_BANNER" (320 x 320).
- "MOBILE_LARGE_BANNER" (320 x 300).
- "MOBILE_LARGE_POP_UP" (320 x 350).
- "TABLET_LARGE_BANNER" (320 x 480).
- "TABLET_BANNER" (480 x 80).
- "TABLET_POP_UP" (550 x 480).
- "INTERSTITIAL" (pantalla completa).
"BANNER" es el spsSize por defecto.
El campo spsLoadSps determina si la librería se lanza automáticamente al cargar el layout SpsView.
Si spsLoadSps es TRUE la librería se lanzará automáticamente sin necesidad de instanciar la clase.
Si spsLoadSps es FALSE la librería podrá ser lanzada en el momento que se desee. Se hará de la siguiente forma dentro del Activity o Fragment:
SpsView spsView = (SpsView) tmp_view.findViewById(R.id.spsView); spsView.loadSps();
En el ejemplo se está haciendo la llamada a SpsView dentro de un Fragment. En caso de hacerlo dentro de un Activity se sustituirá "tmp_view" por "this".
Lanzamiento modal.
El lanzamiento modal consiste en mostrar automáticamente un anuncio interstitial o modal (pantalla completa) en el Activity o Fragment seleccionado.
Si desea mostrar el anuncio directamente, en el onCreate (si es un Activity) o en el onCreateView (si es un Fragment) añada el siguiente código:
SpsLib sps = new SpsLib(context); // La variable "context" es el Context del Activity. En caso de ser un Activity y no un Fragment: "this". sps.setAppHash("appHash"); // Campo obligatorio -> Código hash de la app. sps.setAppSpaceHash("spaceHash"); // Campo obligatorio -> Código hash del espacio. sps.startSps();
setAppHash(“appHash”) y setSpaceHash(“spaceHash”) son campos obligatorios, y funcionan tal como se explica en el lanzamiento básico.
Si desea lanzar la librería en un momento determinado, lo que debe hacer es preparar la librería para su lanzamiento y ejecutarla en el momento que desee. A continuación se muestra un ejemplo utilizando el listener onAdReadyToShow:
SpsLib sps = new SpsLib(context); // La variable "context" es el Context del Activity. En caso de ser un Activity y no un Fragment: "this". sps.setAppHash(appHash); // Campo obligatorio -> Código hash de la app. sps.setAppSpaceHash("spaceHash"); // Campo obligatorio -> Código hash del espacio. sps.setSpsListener(new SpsListener() { public void onIsGoingToShowAd(boolean isGoingToShow) { sps.loadSps(); } }); sps.getReady();
Listeners.
La librería SpsLib está dotada de varios listeners:
- onActive: notifica si la aplicación tiene activada la librería.
- onInactive: notifica en caso de que la aplicación tenga desactivada la librería.
- onLibStart: notifica cuando la librería ha empezado a comprobar los anuncios.
- onIsGoingToShowAd: notifica cuando la librería ha cotejado si debe mostrar anuncio o no. En caso de que vaya a mostrar anuncio devuelve "true" en el argumento, "false" en caso contrario.
- onAdNotShow: notifica cuando la librería no va a mostrar ningún anuncio. Si el motivo por el cual no devuleve un anuncio es un error de la librería, el listener devolvera un objeto JSON con los errores producidos.
- onAdShow: notifica cuando la librería va a mostrar un anuncio.
- onAdReadyToShow: notifica cuando la librería ya tiene elegido y preparado el anuncio a mostrar. Devuelve el tipo de anuncio que se va a mostrar, que podrá ser "INTERSTITIAL" o el tipo de banner (ej: "HIGH_BANNER").
- onPresentScreenAd: notifica cuando el anuncio está en pantalla.
- onActionShow: notifica cuando el anuncio ha realizado la acción de visualizado.
- onActionUrlOpen: notifica cuando el anuncio ha realizado la acción de abrir una URL. Devuelve como string la URL abierta en el argumento .
- onActionCloseButton: notifica cuando el anuncio ha realizado la acción de pulsar sobre el "botón cerrar".
- onAdClose: notifica cuando el anuncio se ha cerrado.
- onLibClose: notifica cuando la librería se ha cerrado.
- onError: notifica cuando la librería ha tenido algún error. Devuelve un string con la descripción del error producido.
Para acceder a los listeners, la llamada a la librería SpsLib deberá realizarse de la siguiente forma (se pueden implementar tantos listeners como se quiera, no es necesario implementarlos todos):
SpsLib sps = new SpsLib(this); SpsListener spsListener = new SpsListener() { @Override public void onActive() { // TODO complete listener } @Override public void onInactive() { // TODO complete listener } @Override public void onLibStart() { // TODO complete listener } @Override public void onIsGoingToShowAd(boolean isGoingToShow) { // TODO complete listener } @Override public void onAdNotShow() { // TODO complete listener } @Override public void onAdNotShow(JSONObject jsonObject) { // TODO complete listener } @Override public void onAdShow() { // TODO complete listener } @Override public void onPresentScreenAd() { // TODO complete listener } @Override public void onActionShow() { // TODO complete listener } @Override public void onActionCloseButton() { // TODO complete listener } @Override public void onAdClose() { // TODO complete listener } @Override public void onLibClose() { // TODO complete listener } @Override public void onActionUrlOpen(String arg0) { // TODO complete listener } @Override public void onAdReadyToShow(String bannerType) { // TODO complete listener } @Override public void onError(String arg0) { // TODO complete listener } }; sps.setAppHash("appHash"); sps.setAppSpaceHash("spaceHash"); sps.startSps();
La clase SpsView incorpora así mismo el método setSpsListener.