Docu push exchange

De mobeleader
Ir a la navegación Ir a la búsqueda

Introducción

En este documento se va a mostrar como ha de ser el contenido que se mande al api-xchange de Mobeleader para realizar las distintas acciones que ésta nos permite. Se expondrá brevemente como ha de realizarse la conexión a dicha API, como han de ser los campos obligatorios que han de ir para todos los casos y a continuación se procederá a tratar todos los casos con ejemplos para un mayor entendimiento.

Conectándonos a la API

Lo primero que deberemos hacer es solicitar el token necesario para la conexion a Mobeleader. Dicho token es un identificador único para cada usuario desarrollador. Una vez obtenido dicho token procederemos a hacer una breve prueba de conexión para comprobar que tenemos acceso a la API. En dicha prueba haremos uso de la tarea “ping”.

En la imagen vemos como ha de ser el código necesario para realizar dicha prueba y el resultado transformado a un array. Si la posición del responsecode es “OK” significa que todo ha ido correctamente y en la posición data deberemos ver “pong”. Mientras esta prueba no de este resultado no podremos hacer ninguna acción más sobre la API.

Campos Obligatorios y No Obligatorios para las notificaciones

Para generar notificaciones desde nuestro sistema, en la conexión con la API deberá ir especificada la tarea “setPush”, junto un array de datos con una serie de campos.

Independientemente del SO al que la notificación irá, hay unos campos que son obligatorios; son los siguientes:

  1. appHash: contendrá el hash autogenerado por el panel Mobeleader de la aplicación registrada.
  2. terminalTokens: este campo podrá tener más de un formato, de manera que los dispositivos que reciban la notificación puedan ser diferentes.
    • En caso de tratarse de un array, se mandará la notificación a todos los tokens de dicho array.
    • En caso de no ser un array, podrá contener lo siguiente:
    1. all: En este caso se notificará a todos los dispositivos que estén registrados en la aplicación sin tener en cuenta el SO.
    2. onlyAndroid: Solo se notificará a los terminales con SO Android que estén registrados en la aplicación.
    3. onlyIOS: Solo se notificará a los terminales con SO IOs que estén registrados en la aplicación.
    4. Un token de un dispositivo en concreto, de manera que solo se le notifique a éste.
  3. message: contendrá el texto de la notificación.
  4. type: contendrá el tipo de notificación pudiendo ser este de de diversa índole.
    • normal: este tipo será el más común, el dispositivo recibirá la notificación y no se hará mas con ésta.
    • openApp: este tipo hará que al hacer click sobre la notificación se abra la aplicación encargada de mostrar dicha notificación.
    • openUrl: este tipo hará que al hacer click sobre la notificación se abra una URL especificada en otro campo que veremos más adelante.
    • openAppWithextras: este tipo hará lo mismo que el “openApp” pudiendo ademas añadir hasta cinco variables extra para poder tratarlas a nuestro gusto en la aplicación. Cabe destacar que este tipo de notificación, nos permitirá hacer uso de otro campo no obligatorio que más adelante trataremos, el cual se llama "customType” y nos permitirá lanzar notificaciones “personalizadas”.



Una vez vistos los campos obligatorios, a continuación se expondrán todos los campos no obligatorios que darán forma a las notificaciones:

  1. tittle:
  2. tittle:
  3. tittle:
  4. tittle:
  5. tittle:
  6. silent: Contendrá “yes” o “no”. En caso de ser afirmativo la notificación no se mostrará pero si lanzará el evento de la librería push encargado de escuchar si se ha recibido una notificación o no. De ésta manera podremos lanzar notificaciones que no se muestren, pero si hagan algo por detrás en la APP al recibirla. Para el caso de Android solo se usará este campo cuando el “type” de la notificación sea “openAppWithExtras” y se haga uso del campo no obligatorio “customType”. Para el caso de iOs esto generará un alert vació con el content-available a 1 por defecto, pudiendo ser modificado por el siguiente campo que se expone a continuación ( silentNumber ). Como en el caso de Android esto solo tendrá sentido para las notificaciones de “type” “openAppWithExtras” , puesto que al no mostrar nada, se usarán para hacer cosas por detrás mediante los campos no obligatorios external1, external2, external3, external4 y external5. A diferencia de Android, en iOs se podrá usar con ”customType” o sin el.
  7. silentNumber: este campo solo se usará para SO iOs. Es el número que aparecerá en el content-available en caso de que el campo silent sea "yes".
  8. customType: contendrá el texto del tipo de notificación personalizada que cada uno cree. Éste campo solo se podrá usar si previamente en el campo obligatorio “type” se ha puesto “openAppWithExtras”.
  9. badge: este campo será el número que se mostrará junto con la notificación en los dispositivos SO iOs. A partir de iOs 10 las notificaciones no levantan la aplicación en caso de estar background, por lo que esto generará un content-available con el fin de despertar la aplicación y poder actualizar el icono de notificaciones pendientes en ésta.
  10. broadcast: esta variable solo será útil para dispositivos con SO Android,
  11. direct: contendra "yes" o "no". En caso de ser afirmativo las notificaciones se enviarán al instante no pudiendo programarlas.
  12. tittle:
  13. languaje: contendrá el idioma del dispositivo. Ejemplo: es.
  14. country: contendrá el país del dispositivo. Ejemplo: ES.
  15. deviceType: contendrá el tipo de dispositivo al que se le mandará la notificación pudiendo ser:
    • Para Android:
    1. movil.
    2. tableta.
    3. reloj.
    4. tv.
    • Para iOs:
    1. iphone.
    2. ipad.
    3. iwatch.
    4. appletv.
  16. appVersion: contendrá la versión de la aplicación a la que esta dirigida la notificación. Ejemplo: 1.0.1.
  17. terminalVersion: contendrá la versión del terminal al que ira dirigida la notificación. Ejemplo: 6.0.1.
  18. urlToOpen: contendrá la URL a abrir al hacer click sobre una notificación de tipo “openUrl”.
  19. external1: variable extra que contendrá lo que el usuario quiera para tratar en las notificaciones de tipo “openAppWithExtras” y/o “openAppWithExtras” con “customType”.
  20. external2: variable extra que contendrá lo que el usuario quiera para tratar en las notificaciones de tipo “openAppWithExtras” y/o “openAppWithExtras” con “customType”.
  21. external3: variable extra que contendrá lo que el usuario quiera para tratar en las notificaciones de tipo “openAppWithExtras” y/o “openAppWithExtras” con “customType”.
  22. external4: variable extra que contendrá lo que el usuario quiera para tratar en las notificaciones de tipo “openAppWithExtras” y/o “openAppWithExtras” con “customType”.
  23. external5: variable extra que contendrá lo que el usuario quiera para tratar en las notificaciones de tipo “openAppWithExtras” y/o “openAppWithExtras” con “customType”.
  24. androidNotyStyle: contendrá “bigPictureStyle” cuando queramos mostrar una imagen junto con la notificación en los dispositivos con SO Android. En caso de no querer mostrar ninguna imagen no se utilizara este campo.
  25. bigPictureStyleUrlImage: contendrá la URL de la imagen que se quiera mostrar en los dispositivos con SO Android, siempre habiendo hecho uso del campo previamente expuesto “androidNotyStyle” con el contenido “bigPictureStyle". Cabe destacar que la URL deberá ser segura ( https ) y deberá contener la extension del contenido en dicha URL.
  26. bigPictureStyleExpandedTitle: contendrá el texto que se mostrará como titulo al expandir una notificación que contenga una imagen en dispositivos con SO Android, siempre habiendo hecho uso del campo previamente expuesto “androidNotyStyle” con el contenido “bigPictureStyle”.
  27. bigPictureStyleExpandedSumaryText: contendrá el texto que se mostrará como mensaje al expandir una notificación que contenga una imagen en dispositivos con SO Android , siempre habiendo hecho uso del campo previamente expuesto “androidNotyStyle” con el contenido “bigPictureStyle”.
  28. extra-content: este campo solo se usará para notificaciones dirigidas a dispositivos con SO iOs. Contendrá la URL del contenido extra que se quiere mostrar junto con la notificación. En este caso y a diferencia de Android ( bigPictureStyleUrlImage ), dicho contenido podrá ser una imagen, un giff, un video o un audio. La URL también deberá ser segura ( https ) y deberá contener la extension del contenido en dicha URL.

Notificaciones Android

Notificaciones iOs

Respuesta setPush

Obtención de usuarios registrados en su aplicación

Borrado de usuarios registrados en su aplicación