SDKs:Push:Android:index
CÓMO AGREGAR LA LIBRERÍA PUSHLIB EN ANDROID
INTRODUCCIÓN.
Esta librería usa el sistema FCM ( FireBase Cloud Messaging ) de Google. Recoge el Token de envío del FCM correspondiente a cada terminal (para la app en la que se esté ejecutando) y lo registra en nuestro sistema. Una vez registrado, se pueden enviar, recibir y mostrar las notificaciones que desee.
VERSIONES DE ANDROID SOPORTADAS
Esta librería soporta todas las versiones de Android superiores a la version 4.1 (API level 16 o Jelly Bean).
PASOS A REALIZAR EN GOOGLE
Para agregar esta librería, lo primero que haremos será registrar nuestra app en el sistema FCM de Google, a través de la Google Firebase Console .
Una vez dentro, añadimos el proyecto.
Introducimos el nombre de nuestra aplicación.
Para implementar la librería no es necesario habilitar Google Analytics. Creamos el proyecto.
Una vez creado el proyecto, añadiremos Firebase a nuestra app seleccionando la opción de Android.
En el primer paso, deberemos de introducir el nombre del paquete en el que la aplicación va a ser desarrollada y registrar la app.
En el segundo paso, descargaremos el archivo google-services.json y lo añadiremos a nuestro proyecto de Android Studio.
En el tercer paso configuraremos el archivo en nuestro proyecto de Android Studio.
Finalizamos el registro.
Una vez añadida y registrada la app, nos dirigiremos a la Configuración del proyecto desde los ajustes de Firebase.
Dentro de la opción Mensajería en la nube, obtendremos el token de la Clave del Servidor proporcionado por Google, y que nos servirá para poder autorizar el envío de notificaciones a nuestra app.
PASOS A REALIZAR EN EL PANEL DE MOBELEADER
Para poder configurar las notificaciones Push en una aplicación, debemos de haberla añadido previamente a nuestro panel. Si aún no la tenemos creada, lo haremos desde la sección Mis Aplicaciones del panel, pulsando en Crear Aplicación.
Rellenamos los datos necesarios y enviamos el formulario.
Una vez creada la aplicación, iremos a la sección Mis Aplicaciones del panel y pulsaremos Añadir app a push.
Seleccionamos nuestra aplicación y añadimos el token de la Clave de servidor proporcionado por Google en la consola de Firebase.
Una vez añadida la app, procederemos a configurar nuestro proyecto en Android Studio antes de comenzar con las notificaciones.
PASOS A REALIZAR PARA LA INSTALACIÓN DE LA LIBRERÍA EN LA APLICACIÓN
INSTALACIÓN:
Podemos instalar la librería PushLib haciendo uso del maven que disponemos. Independientemente del metodo que usemos para instalar la librería, tendremos que añadir las librerías necesarias para que la librería push pueda usar el FCM, que serán: la UtilsLib y la RegisterLib.
Desde el SDK Manager de Android Studio, haremos click en SDK Tools y añadiremos, si no lo hemos hecho aún, el Google Play Services:
Disponemos de un repositorio maven para poder usar en Android Studio, para ello deberemos insertar lo siguiente en el archivo “build.gradle” de nuestra aplicación:
- En el apartado de repositories añadiremos:
repositories { mavenCentral() maven { url 'https://maven.mobeleader.com' } }
- En la parte de “dependencies” añadiremos las dependencias necesarias para usar la librería PushLib con FCM. Serán tanto las tres librerías de mobeleader: UtilsLib, RegisterLib PushLib; como las propias dependencias para usar la mensajería FCM de Google.
//noinspection GradleDynamicVersion implementation 'com.mobeleader.push:PushLib:+' //noinspection GradleDynamicVersion implementation 'com.mobeleader.utils:UtilsLib:+' //noinspection GradleDynamicVersion implementation 'com.mobeleader.register:RegisterLib:+' implementation 'com.google.firebase:firebase-messaging:20.0.1'
- En la parte final del fichero, deberemos insertar lo siguiente:
apply plugin: 'com.google.gms.google-services'
Independientemente del metodo que usemos para instalar la PushLib, en el fichero “build.gradle” de nuestro proyecto deberemos insertar la siguiente dependencia:
dependencies { classpath 'com.google.gms:google-services:4.3.3' }
Por último, configuraremos el AndroidManifest.xml de la siguiente manera:
- Añadiremos el permiso de vibrar para las notificaciones.
<uses-permission android:name="android.permission.VIBRATE" />
- Introduciremos en la parte de <application los siguientes servicios:
<service android:name="com.mobeleader.push.PushLibFirebaseMessagingService" android:permission="android.permission.INTERNET"> <intent-filter> <action android:name="com.google.firebase.MESSAGING_EVENT" /> </intent-filter> </service>
LANZAMIENTO
Una vez hayamos añadido la librería y configurado todo lo necesario, en nuestro proyecto añadiremos las siguientes líneas en el método onCreate del Activity principal:
com.mobeleader.push.PushLib pl = new com.mobeleader.push.PushLib();
pl.registerPush(this, app_hash, icono_notificacion_pequeño, icono_notificacion_grande)
Las variables han de ser las siguientes:
- app_hash - Será el código hash proporcionado por Mobeleader a la hora de crear la aplicación. Para obtenerlo, iremos a la sección Mis Apps del Panel Mobeleader y haremos click en el icono de la columna Hash.
- icono_notificacion_pequeño: Es el archivo drawable que aparecerá como imagen arriba en el panel de notificaciones cuando salte la notificación (es aconsejable que sea un icono blanco con fondo transparente), ejemplo:
R.drawable.ic_launcher_white_transparent
- icono_notificacion_grande: Es el archivo drawable que aparecerá como imagen al desplegar la barra de notificaciones. Para versiones de Android anteriores a la 5.0, o Lollipop, recomendamos utilizar el mismo archivo utilizado para el icono_notificacion_pequeño. Para versiones posteriores, recomendamos que la imagen esté formada por el icono en blanco sobre fondo de color corporativo de la app. Ejemplo:
R.drawable.ic_launcher_white_transparent_blue
De ésta manera, un ejemplo válido sería el siguiente:
com.mobeleader.push.PushLib = pl = new com.mobeleader.push.PushLib(); pl.registerPush(this, "5de8e32b1c884", R.drawable.ic_launcher_white_transparent, R.drawable.ic_launcher_white_transparent_blue);
LISTENERS
La librería Push está dotada de varios listeners. Los listeners en cuestión son los siguientes:
- getVersion: Notifica la versión de la librería actual cuando se lanza.
- onGetToken: Notifica cuando la librería ha recibido el Token (Para rescatar este token y poder hacer pruebas con él) y devuelve el Token registrado en el argumento de tipo String.
- onRegisterToken: Notifica cuando la librería ha registrado el Token, y devuelve el Token en el argumento de tipo String.
- onUpdateToken: Notifica cuando la librería ha actualizado el Token, y devuelve el Token antiguo en el argumento String oldToken y el Token nuevo en el argumento String newToken.
- onUpdateSettings: Notifica cuando la librería ha actualizado parámetros de versión, aplicación, etc.
- onError: Notifica cuando la librería ha tenido algún error, y devuelve la descripción del error en el argumento de tipo String.
- onReceiveMessage: Notifica cuando la librería ha recibido un mensaje creado desde el Panel Mobeleader y devuelve dicho mensaje con sus datos en el argumento Map (String, String) notificationMap.
- onReceiveNotification: Notifica cuando la librería ha recibido una notificación desde la consola de Firebase de Google y devuelve la notificación en el argumento RemoteMessage.Notification notification.
Para poder acceder a los listeners, la llamada a la librería Push deberá realizarse de la siguiente manera ( podemos implementar los listeners que queramos, no hará falta implementar todos ):
pl.setPushLibListener(new com.mobeleader.push.PushLibListener() { @Override { public void getVersion(String version){} } @Override { public void onGetToken(String token){} } @Override { public void onUpdateToken(String oldToken, String newToken){} } @Override { public void onUpdateSettings(){} } @Override { public void onError(String Error){} } @Override public void onReceiveMessage(Map<String, String> notificationMap){} } @Override { public void onReceiveNotification(RemoteMessage.Notification notification){} } }; pl.registerPush(this, app_hash, icono_notificacion_pequeño, icono_notificacion_grande);
ENVIO DE NOTIFICAIONES DESDE NUESTRO PANEL
Una vez implementadas las configuraciones, podemos comenzar a enviar notificaciones. Para enviar notificaciones push desde el Panel de Mobeleader, iremos a la sección Notificaciones Push y pulsaremos en Crear envío push
Seleccionaremos nuestra app
Lo siguiente que haremos será seleccionar los usuarios a los que queremos enviar la notificación.
Cada vez que un usuario descargue y abra su app, la librería Push registrará en nuestro sistema su token de envío, junto a ciertas configuraciones, tales como el tipo de terminal, el idioma, país, etc, que le servirán para poder segmentar los diferentes envíos. Sin embargo, hasta que la app no haya sido publicada incorporando la librería, no tendrá usuarios registrados.
Para añadir un usuario con el que probar el funcionamiento de la librería, lo primero que haremos será ejecutar la app en Android Studio y recoger el token del terminal a través del método listener onGetToken. Una vez copiado el token del Logcat de Android Studio, pulsaremos en Añadir Usuarios. Se mostrará un pop up e introduciremos el nombre del terminal y el token.
Se mostrarán los usuarios añadidos.
Una vez seleccionados los usuarios a los que queramos enviar la notificación, elegiremos el resto de las opciones en caso de que queramos segmentarla. Añadiremos el título y texto de la notificación y enviaremos el formulario.
Se mostrará un cuadro indicando el resultado del envío.
SEGUIMIENTO DE LAS NOTIFICACIONES
Para realizar el siguimiento de sus notificaciones push, volveremos a la sección Notificaciones Push. En la tabla de las aplicaciones con push, en la fila correspondiente a nuestra app, se mostrará el número de usuarios por cada sistema operativo, así como el número de envíos realizados.
Si pulsamos en el icono de los envíos, se mostrará un pop up con las estadísticas de cada envío.