Saltar a: navegación, buscar

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


(PASOS A REALIZAR EN EL PANEL MOBELEADER)
(PASOS A REALIZAR EN EL PANEL MOBELEADER)
Línea 66: Línea 66:
  
 
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>
 
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
 
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>.
 
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
 
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>.
 
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
 
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/CrearNotificacion_3.png

Revisión del 10:32 17 ene 2019

CÓMO AGREGAR LA LIBRERÍA PUSHLIB EN ANDROID

INTRODUCCIÓN.

Esta librería usa el sistema FCM ( FireBase Cloud Messaging ) 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.

VERSIONES DE ANDROID SOPORTADAS

Esta librería requiere de dispositivos con Android 2.3 o superior que también tengan la app Google Play Store instalada o un emulador con Android 2.3 con las API de 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 Google Firebase Console .

[1](https://console.firebase.google.com/?hl=es)

Una vez dentro, creamos un nuevo proyecto pinchando en el botón Crear Nuevo Proyecto.

NuevoProyecto_1.png

Introducimos el nombre de nuestra aplicación y seleccionamos la región ( NOTA: Es muy importante que la región sea real )

GuardarProyecto_2.png

Una vez creada la aplicación, deberemos seleccionar la opción de Añade Firebase a tu aplicación Android.

AnadirFirebase_3.png

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 google-services.json. De momento no haremos nada con dicho archivo.

AnadirPaquete_4.png

En el segundo paso, se muestra como ha de estar configurado el archivo google-services.json dentro del proyecto de Android Studio.

AnadirPaquete_5.png

En el tercer y último paso para añadir Firebase a la aplicación de Android, se expone como han de ser los archivos build.gradle tanto del proyecto como el propio del paquete app.

AnadirPaquete_6.png

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 Administrar.

AplicacionesAnadidas_7.png

AdministrarAplicaciones_8.png


Dentro de la configuración de nuestra aplicación, veremos en la parte superior una opción llamada Mensajería en la nube. Deberemos acceder a este apartado para recoger la Clave del Servidor que nos ha proporcionado Google que nos servirá para poder autorizar las notificaciones a nuestra aplicación.

AdministrarAplicaciones_9.png

AdministrarAplicacion_10.png

PASOS A REALIZAR EN EL PANEL 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 Aplicaciones del Panel Mobeleader y pulse en Crear Aplicación.


Crear app.png


Una vez dentro, vamos a la sección de Desarrolladores y hacemos click en Mis Apps —> Crear Aplicación


CrearAplicacion_1.png


Rellenamos todos los datos necesarios y le damos a Crear la aplicación.


Rellenar_datos_app.png


Una vez creada la aplicación, iremos a Notificaciones Push —> Añadir app a push, ubicado dentro de la sección de Desarrolladores.


CrearNotificacion_3.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 del que dispone Mobeleader. 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 FCM. Desde el SDK Manager, haremos click en SDK Tools, desplegaremos la opción de Support Repository e instalaremos lo referente a Google Repository:

sdk_1.png

sdk_2.png

Mobeleader dispone 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 'http://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:17.3.0'


  • 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 librería push, en el fichero “build.gradle” de nuestro proyecto deberemos insertar la siguiente dependencia:

   dependencies {
       classpath 'com.google.gms:google-services:3.2.0'
   }

Por último, deberemos configurar 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.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"
           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 deberemos añadir las siguientes linea en el onCreate del Activity principal:


      com.mobeleader.push.PushLib pl = new com.mobeleader.push.PushLib();

pl.registerPush(this, hash_app, icono_notificacion_pequeño, icono_notificacion_grande)


Las variables han de ser las siguientes:

  • HASH APP - 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 _Desarrolladores —> Mis Apps_ y hacer click en la columna Hash.


ObtenerHash.png

  • ICONO NOTIFICACION PEQUEÑO: Es el drawable que aparecerá arriba en el panel de notificaciones cuando salte la notificación ( suele ser un icono en colores blancos), ejemplo:


R.drawable.ic_launcher_white_transparent

  • ICONO NOTIFICACION GRANDE: Es el drawable que aparecerá cuando despliegues la barra de notificaciones, ejemplo:


	R.drawable.ic_launcher

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

ejemplo_oncreate.png


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 String.
  • onRegisterToken: Notifica cuando la librería ha registrado el Token, y devuelve el Token en el argumento 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 …
  • onError: Notifica cuando la librería ha tenido algún error, y devuelve la descripción del error en el argumento 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 ):


      com.mobeleader.push.PushLib pl = new com.mobeleader.push.PushLib();

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, hash_app, icono_notificacion_pequeño, icono_notificacion_grande);