Diferencia entre revisiones de «SDKs:Push:Android:index»

De mobeleader
Ir a la navegación Ir a la búsqueda
Deneb (discusión | contribs.)
 
(No se muestran 7 ediciones intermedias de otro usuario)
Línea 1: Línea 1:
= CÓMO AGREGAR LA LIBRERÍA PUSHLIB EN ANDROID =
= CÓMO AGREGAR LA LIBRERÍA PUSHLIB EN ANDROID =




Línea 5: Línea 6:




Esta librería usa el sistema FCM ( <b><i>FireBase Cloud Messaging </i></b>) de Google. Lo primero que realiza es la recogida del Token de envío de FCM de cada terminal por aplicación para registrarlo en nuestro sistema. Una vez registrado, se le pueden enviar las notificaciones que desee y que la librería las reciba y las muestre.
Esta librería usa el sistema FCM ( <b><i>FireBase Cloud Messaging </i></b>) de Google. Recoge el Token de envío del <b>FCM</b> 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 ==
== VERSIONES DE ANDROID SOPORTADAS ==




Esta librería requiere de dispositivos con Android 2.3 o superior que también tengan la app <b><i>Google Play Store</i></b> instalada o un emulador con Android 2.3 con las API de Google.
Esta librería soporta todas las versiones de <b>Android</b> superiores a la version <b>4.1</b> (API level  <b>16</b> o <b><i>Jelly Bean</i></b>).


== PASOS A REALIZAR EN GOOGLE ==
== PASOS A REALIZAR EN GOOGLE ==




Para agregar esta librería, lo primero que debemos hacer es decirle a Google que vamos a usar el sistema FCM. Para ello nos vamos a <b><i> Google Firebase Console </i></b>.
Para agregar esta librería, lo primero que haremos será registrar nuestra app en el sistema <b>FCM</b> de <b>Google</b>, a través de la [https://console.firebase.google.com/?hl=es <b><i> Google Firebase Console </i></b>].


[https://console.firebase.google.com/?hl=es](https://console.firebase.google.com/?hl=es)
Una vez dentro, añadimos el proyecto.


Una vez dentro, creamos un nuevo proyecto pinchando en el botón <b>Crear Nuevo Proyecto</b>.
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/FB_1.png


https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/NuevoProyecto_1.png
Introducimos el nombre de nuestra aplicación.


Introducimos el nombre de nuestra aplicación y seleccionamos la región ( NOTA: Es muy importante que la región sea real )
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/FB_2.png


https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/GuardarProyecto_2.png
Para implementar la librería <b>no</b> es necesario habilitar <b>Google Analytics</b>. Creamos el proyecto.


Una vez creada la aplicación, deberemos seleccionar la opción de <b>Añade Firebase a tu aplicación Android</b>.
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/FB_3.png


https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/AnadirFirebase_3.png
Una vez creado el proyecto, añadiremos <b>Firebase</b> a nuestra app seleccionando la opción de <b>Android</b>.


En el primer paso, deberemos de introducir el nombre del paquete en el que la aplicación va a ser desarrollada. Al finalizar este primer paso, se descargará automáticamente un archivo llamado <b><i>google-services.json</i></b>. De momento no haremos nada con dicho archivo.
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/FB_4.png


https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/AnadirPaquete_4.png
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, se  muestra como ha de estar configurado el archivo <b><i>google-services.json</i></b> dentro del proyecto de Android Studio.
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/FB_5.png


https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/AnadirPaquete_5.png
En el segundo paso, descargaremos el archivo <b><i>google-services.json</i></b> y lo añadiremos a nuestro proyecto de Android Studio.


En el tercer y último paso para añadir Firebase a la aplicación de Android, se expone como han de ser los archivos <b>build.gradle</b>  tanto del <b>proyecto </b>como el propio del paquete <b>app</b>.
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/FB_6.png


https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/AnadirPaquete_6.png
En el tercer paso configuraremos el archivo en nuestro proyecto de Android Studio.


Al finalizar con los pasos expuestos en las anteriores imágenes, aparecerá la aplicación añadida a nuestro proyecto en la consola de Firebase. A continuación haremos click en las opciones y daremos a <b>Administrar</b>.
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/FB_7.png
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/FB_8.png


https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/AplicacionesAnadidas_7.png
Finalizamos el registro.


https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/AdministrarAplicaciones_8.png
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/FB_9.png


Una vez añadida y registrada la app, nos dirigiremos a la <b>Configuración del proyecto</b> desde los ajustes de <b>Firebase</b>.


Dentro de la configuración de nuestra aplicación, veremos en la parte superior una opción llamada <b><i>Mensajería en la nube</i></b>. Deberemos acceder a este apartado para recoger la <i>Clave del Servidor</i> que nos ha proporcionado Google que nos servirá para poder autorizar las notificaciones a nuestra aplicación.
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/FB_10.png


https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/AdministrarAplicaciones_9.png
Dentro de la opción <b>Mensajería en la nube</b>, obtendremos el <b><i>token</i></b> de la <b>Clave del Servidor</b> proporcionado por <b>Google</b>, y que nos servirá para poder autorizar el envío de notificaciones a nuestra app.


https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/AdministrarAplicacion_10.png
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/FB_11.png


== PASOS A REALIZAR EN EL PANEL MOBELEADER ==
== PASOS A REALIZAR EN EL PANEL DE MOBELEADER ==




Para poder configurar las notificaciones Push en una aplicación, ha de crearla previamente en el Panel Mobeleader. Si aún no tiene creada la aplicación, diríjase a la sección [https://panel.mobeleader.com/index.php?sec=6|Mis Aplicaciones] '''del Panel Mobeleader''' y pulse en '''Crear Aplicación'''.
{{:SDKs:Push:pasos_panel}}


[[Archivo: Crear_app.png]]
{{:SDKs:Push:configurar_android}}
 
Una vez dentro, vamos a la sección de <b><i>Desarrolladores</i></b> y hacemos click en <b><i>Mis Apps —> Crear Aplicación</i></b>
 
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/CrearAplicacion_1.png
 
Rellenamos todos los datos necesarios y le damos a <b><i>Crear la aplicación</i></b>.
 
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/Rellenar_datos_app.png
 
Una vez creada la aplicación, iremos a <b><i>Notificaciones Push —> Añadir app a push</i></b>, ubicado dentro de la sección de <b><i>Desarrolladores</i></b>.
 
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/CrearNotificacion_3.png


== PASOS A REALIZAR PARA LA INSTALACIÓN DE LA LIBRERÍA EN LA APLICACIÓN ==
== PASOS A REALIZAR PARA LA INSTALACIÓN DE LA LIBRERÍA EN LA APLICACIÓN ==
Línea 81: Línea 72:




Podemos instalar la librería <b><i>PushLib</i></b>  haciendo uso del maven del que dispone <b>Mobeleader</b>. Independientemente del metodo que usemos para instalar la librería, inicialmente deberemos instalar todas las librerías necesarias para que la librería push pueda usar el <b><i>FCM</i></b>. Desde el <b><i>SDK Manager</i></b>, haremos click en <b><i>SDK Tools</i></b>, desplegaremos la opción de  <b><i>Support Repository</i></b> e instalaremos lo referente a <b><i>Google Repository</i></b>:
Podemos instalar la librería <b>PushLib</b>  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 <b>FCM</b>, que serán: la <b>UtilsLib</b> y la <b>RegisterLib</b>.


https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/sdk_1.png
Desde el <b>SDK Manager</b> de <b>Android Studio</b>, haremos click en <b>SDK Tools</b> y añadiremos, si no lo hemos hecho aún, el <b>Google Play Services</b>:


https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/sdk_2.png
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/AS_2.png


Mobeleader dispone de un repositorio maven para poder usar en Android Studio, para ello deberemos insertar lo siguiente en el archivo <b><i>“build.gradle” </i></b> de nuestra aplicación:
Disponemos de un repositorio maven para poder usar en <b>Android Studio</b>, para ello deberemos insertar lo siguiente en el archivo <b>“build.gradle” </b> de nuestra aplicación:


* En el apartado de <b><i>repositories</i></b> añadiremos:
* En el apartado de <b><i>repositories</i></b> añadiremos:
Línea 95: Línea 86:
     repositories {
     repositories {
         mavenCentral()
         mavenCentral()
         maven { url 'http://maven.mobeleader.com' }
         maven { url 'https://maven.mobeleader.com' }
     }
     }




* En la parte de <b>“dependencies”</b> 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.
* En la parte de <b>“dependencies”</b> añadiremos las dependencias necesarias para usar la librería <b>PushLib</b> con <b>FCM</b>. Serán tanto las tres librerías de mobeleader: UtilsLib, RegisterLib PushLib; como las propias dependencias para usar la mensajería <b>FCM de Google</b>.




Línea 109: Línea 100:
     //noinspection GradleDynamicVersion
     //noinspection GradleDynamicVersion
     implementation 'com.mobeleader.register:RegisterLib:+'
     implementation 'com.mobeleader.register:RegisterLib:+'
     implementation 'com.google.firebase:firebase-messaging:17.3.0'
     implementation 'com.google.firebase:firebase-messaging:20.0.1'




Línea 120: Línea 111:




Independientemente del metodo que usemos para instalar la <i>librería push</i>, en el fichero <b>“build.gradle” </b>de nuestro proyecto deberemos insertar la siguiente dependencia:
Independientemente del metodo que usemos para instalar la <b>PushLib</b>, en el fichero <b>“build.gradle”</b> de nuestro proyecto deberemos insertar la siguiente dependencia:


     dependencies {
     dependencies {
         classpath 'com.google.gms:google-services:3.2.0'
         classpath 'com.google.gms:google-services:4.3.3'
     }
     }
Por último, deberemos configurar el <b><i>AndroidManifest.xml</i></b> de la siguiente manera:
Por último, configuraremos  el <b>AndroidManifest.xml</b> de la siguiente manera:
* Añadiremos el permiso de vibrar para las notificaciones.
* Añadiremos el permiso de vibrar para las notificaciones.


Línea 132: Línea 123:
     <uses-permission android:name="android.permission.VIBRATE" />
     <uses-permission android:name="android.permission.VIBRATE" />


* Introduciremos en la parte de <b><application</b> los siguientes servicios:
* Introduciremos en la parte de <b><application</b> los siguientes servicios:  




        <service android:name="com.mobeleader.push.PushLibFirebaseInstanceIdService"
            android:permission="android.permission.INTERNET">
            <intent-filter>
                <action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
            </intent-filter>
        </service>
         <service android:name="com.mobeleader.push.PushLibFirebaseMessagingService"
         <service android:name="com.mobeleader.push.PushLibFirebaseMessagingService"
             android:permission="android.permission.INTERNET">
             android:permission="android.permission.INTERNET">
Línea 151: Línea 136:




Una vez hayamos añadido la librería y configurado todo lo necesario, en nuestro proyecto deberemos añadir las siguientes linea en el <i>onCreate</i> del <b>Activity</b> principal:
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 <b>onCreate</b> del <b>Activity</b> principal:




       com.mobeleader.push.PushLib pl = new com.mobeleader.push.PushLib();
       com.mobeleader.push.PushLib pl = new com.mobeleader.push.PushLib();
  pl.registerPush(this, hash_app, icono_notificacion_pequeño, icono_notificacion_grande)
  pl.registerPush(this, app_hash, icono_notificacion_pequeño, icono_notificacion_grande)




Las variables han de ser las siguientes:
Las variables han de ser las siguientes:


* <b>HASH APP </b>- Será el hash proporcionado por Mobeleader a la hora de crear la aplicación. Para obtener dicho hash deberemos ir al Panel Mobeleader, a la sección de _<b>Desarrolladores —> Mis Apps</b>_ y hacer click en la columna <b>Hash</b>.
* <b>app_hash</b> - Será el código hash proporcionado por <b>Mobeleader</b> a la hora de crear la aplicación. Para obtenerlo, iremos a la sección [https://panel.mobeleader.com/index.php?sec=6 <b> Mis Apps</b>] del <b>Panel Mobeleader</b> y haremos click en el icono de la columna <b>Hash</b>.




https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/ObtenerHash.png
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/AS_3.png
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/AS_4.png


* <b>ICONO NOTIFICACION PEQUEÑO:</b> Es el drawable que aparecerá arriba en el panel de notificaciones cuando salte la notificación ( suele ser un icono en colores blancos), ejemplo:
* <b>icono_notificacion_pequeño:</b> Es el archivo <i>drawable</i> 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:




<i>R.drawable.ic_launcher_white_transparent</i>
<i>R.drawable.ic_launcher_white_transparent</i>


* <b>ICONO NOTIFICACION GRANDE:</b> Es el drawable que aparecerá cuando despliegues la barra de notificaciones, ejemplo:
* <b>icono_notificacion_grande:</b> Es el archivo <i>drawable</i> que aparecerá como imagen al desplegar la barra de notificaciones. Para versiones de <b>Android</b> anteriores a la <b>5.0</b>, o <b>Lollipop</b>, recomendamos utilizar el mismo archivo utilizado para el <b>icono_notificacion_pequeño</b>. Para versiones posteriores, recomendamos que la imagen esté formada por el icono en blanco sobre fondo de color corporativo de la app. Ejemplo:




  <i>R.drawable.ic_launcher</i>
  <i>R.drawable.ic_launcher_white_transparent_blue</i>


De ésta manera, la siguiente imagen sería un ejemplo válido:
De ésta manera, un ejemplo válido sería el siguiente:


https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/ejemplo_oncreate.png
    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);




Línea 186: Línea 173:
* <b>getVersion: </b> Notifica la versión de la librería actual cuando se lanza.
* <b>getVersion: </b> Notifica la versión de la librería actual cuando se lanza.


* <b>onGetToken: </b> 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 <b>String</b>.
* <b>onGetToken: </b> 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 <b>String</b>.


* <b>onRegisterToken:</b> Notifica cuando la librería ha registrado el Token, y devuelve el Token en el argumento <b>String</b>.
* <b>onRegisterToken:</b> Notifica cuando la librería ha registrado el Token, y devuelve el Token en el argumento de tipo <b>String</b>.


* <b>onUpdateToken:</b> Notifica cuando la librería ha actualizado el Token, y devuelve el Token antiguo en el argumento <b>String oldToken</b> y el Token nuevo en el argumento <b>String newToken</b>.
* <b>onUpdateToken:</b> Notifica cuando la librería ha actualizado el Token, y devuelve el Token antiguo en el argumento <b>String oldToken</b> y el Token nuevo en el argumento <b>String newToken</b>.


* <b>onUpdateSettings:</b> Notifica cuando la librería ha actualizado parámetros de versión, aplicación
* <b>onUpdateSettings:</b> Notifica cuando la librería ha actualizado parámetros de versión, aplicación, etc.


* <b>onError:</b> Notifica cuando la librería ha tenido algún error, y devuelve la descripción del error en el argumento <b>String</b>.
* <b>onError:</b> Notifica cuando la librería ha tenido algún error, y devuelve la descripción del error en el argumento de tipo <b>String</b>.


* <b>onReceiveMessage:</b> Notifica cuando la librería ha recibido un mensaje creado desde el _Panel Mobeleader_ y devuelve dicho mensaje con sus datos en el argumento <b>Map<String, String> notificationMap</b>.
* <b>onReceiveMessage:</b> Notifica cuando la librería ha recibido un mensaje creado desde el <b>Panel Mobeleader</b> y devuelve dicho mensaje con sus datos en el argumento <b>Map (String, String) notificationMap</b>.


* <b>onReceiveNotification:</b> Notifica cuando la librería ha recibido una notificación desde la <i>consola de Firebase de Google</i> y devuelve la notificación en el argumento <b><i>RemoteMessage.Notification notification</i></b>.
* <b>onReceiveNotification:</b> Notifica cuando la librería ha recibido una notificación desde la <b>consola de Firebase de Google</b> y devuelve la notificación en el argumento <b>RemoteMessage.Notification notification</b>.




Línea 204: Línea 191:




      com.mobeleader.push.PushLib pl = new com.mobeleader.push.PushLib();
    pl.setPushLibListener(new com.mobeleader.push.PushLibListener()
pl.setPushLibListener(new com.mobeleader.push.PushLibListener()
    {
{
   
@Override
    @Override
public void getVersion(String version){}
    {
    public void getVersion(String version){}
@Override
    }
public void onGetToken(String token){}
   
    @Override
@Override
    {
public void onUpdateToken(String oldToken, String newToken){}
    public void onGetToken(String token){}
    }
@Override
   
public void onUpdateSettings(){}
    @Override
    {
@Override
    public void onUpdateToken(String oldToken, String newToken){}
public void onError(String Error){}
    }
   
@Override
    @Override
public void onReceiveMessage(Map<String, String> notificationMap){}
    {
    public void onUpdateSettings(){}
@Override
    }
public void onReceiveNotification(RemoteMessage.Notification notification){}
   
)};
    @Override
    {
pl.registerPush(this, hash_app, icono_notificacion_pequeño, icono_notificacion_grande);
    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 <b>Panel de Mobeleader</b>, iremos a la sección [https://panel.mobeleader.com/index.php?sec=33 <b>Notificaciones Push</b>] y pulsaremos en [https://panel.mobeleader.com/index.php?sec=43 <b>Crear envío push</b>]
 
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/envio_2.png
 
Seleccionaremos nuestra app
 
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/envio_1.png
 
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 <b><i>token</i></b> 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 <b>Android Studio</b> y recoger el <b><i>token</i></b> del terminal a través del método listener <b>onGetToken</b>. Una vez copiado el <b><i>token</i></b> del <b>Logcat</b> de <b>Android Studio</b>, pulsaremos en <b>Añadir Usuarios</b>. Se mostrará un <b><i>pop up</i></b> e introduciremos el nombre del terminal y el <b><i>token</i></b>.
 
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/envio_3.png
 
Se mostrarán los usuarios añadidos.
 
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/envio_4.png
 
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.
 
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/envio_5.png
 
Se mostrará un cuadro indicando el resultado del envío.
 
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/envio_6.png
 
== SEGUIMIENTO DE LAS NOTIFICACIONES ==
 
 
Para realizar el siguimiento de sus notificaciones push, volveremos a la sección [https://panel.mobeleader.com/index.php?sec=33 <b>Notificaciones Push</b>]. 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.
 
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/push_1.png


Si pulsamos en el icono de los envíos, se mostrará un pop up con las estadísticas de cada envío.


------------
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/push_2.png

Revisión actual - 17:27 25 nov 2019

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.

FB_1.png

Introducimos el nombre de nuestra aplicación.

FB_2.png

Para implementar la librería no es necesario habilitar Google Analytics. Creamos el proyecto.

FB_3.png

Una vez creado el proyecto, añadiremos Firebase a nuestra app seleccionando la opción de Android.

FB_4.png

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.

FB_5.png

En el segundo paso, descargaremos el archivo google-services.json y lo añadiremos a nuestro proyecto de Android Studio.

FB_6.png

En el tercer paso configuraremos el archivo en nuestro proyecto de Android Studio.

FB_7.png FB_8.png

Finalizamos el registro.

FB_9.png

Una vez añadida y registrada la app, nos dirigiremos a la Configuración del proyecto desde los ajustes de Firebase.

FB_10.png

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.

FB_11.png

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.


panel_1.png


Rellenamos los datos necesarios y enviamos el formulario.


panel_2.png


Una vez creada la aplicación, iremos a la sección Mis Aplicaciones del panel y pulsaremos Añadir app a push.


panel_3.png

Seleccionamos nuestra aplicación y añadimos el token de la Clave de servidor proporcionado por Google en la consola de Firebase.

panel_4.png

Una vez añadida la app, procederemos a configurar nuestro proyecto en Android Studio antes de comenzar con las notificaciones.

panel_5.png

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:

AS_2.png

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.


AS_3.png AS_4.png

  • 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

envio_2.png

Seleccionaremos nuestra app

envio_1.png

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.

envio_3.png

Se mostrarán los usuarios añadidos.

envio_4.png

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.

envio_5.png

Se mostrará un cuadro indicando el resultado del envío.

envio_6.png

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.

push_1.png

Si pulsamos en el icono de los envíos, se mostrará un pop up con las estadísticas de cada envío.

push_2.png