La tecnología push es una de las formas más rápidas de enviar notificaciones a los usuarios de tu aplicación. Para recibirlas, el usuario no necesita realizar ninguna acción, se inician en el lado del servidor y aparecen directamente en la barra de notificaciones de la pantalla del dispositivo móvil. En esta lección, entenderemos cómo implementar notificaciones push en aplicaciones construidas sobre la plataforma AppMaster.

Send Push bloque

Para enviar notificaciones push, Send Push se utilizan bloques que corresponden al sistema operativo del dispositivo de destino (iOS o Android).


Obtención de Push Token y Bundle ID

Para realizar un envío, debes especificar al menos dos parámetros: Push Token y IOS (Android) Bundle ID. Por lo tanto, merece la pena empezar por la parte preparatoria y averiguar cómo obtener estos parámetros.

Por defecto, la base de datos de cada proyecto contiene un Mobile Instance que está vinculado al modelo User y contiene los campos push_token y bundle_id.


Vamos a crear un proceso de negocio independiente para la aplicación móvil, que formará el Mobile Instance completado. Para obtener un token push, utilicemos el bloque Get Push Token bloque.

El siguiente paso es obtener información sobre el dispositivo. Y aquí, dependiendo del sistema operativo, se necesitarán diferentes bloques. Por lo tanto, para determinar el sistema operativo, debe utilizar el bloque Platform Switch bloque.


En función del resultado, se seleccionará el bloque IOS Device Info o Android Device Info correspondiente. A partir de ahí, se puede obtener una gran variedad de información sobre el dispositivo, pero en nuestro ejemplo, es suficiente para averiguar sólo el Bundle ID.

Una vez recopilados todos los datos, puede formar un Mobile Instance modelo, indicar a qué sistema operativo pertenece y pasarlo como parámetro de salida del proceso de negocio.


Registro de información sobre el dispositivo móvil del usuario

El siguiente paso consiste en crear un proceso de negocio backend para conectar el dispositivo móvil generado Mobile Instance con un usuario específico y registrarlo en la base de datos. Este proceso de negocio requiere lo siguiente

  1. Averiguar el usuario actual utilizando el bloque Auth: Get current user bloque.
  2. Desplegar el contenido del modelo Mobile Instance resultante.
  3. Reensamblar el modelo y añadirle una conexión de usuario utilizando el bloque Make Mobile Instance bloque.
  4. Utilice el bloque DB: Create Mobile Instance y guarda los datos en la base de datos.


En el POST /Mobile Instance/ endpoint, puede sustituir el proceso de negocio estándar por el que acaba de crear.


La etapa final de la preparación consiste en decidir exactamente cuándo merece la pena escribir información sobre el dispositivo del usuario en la base de datos. La solución lógica sería hacerlo al realizar la autorización en la aplicación. Para ello, inmediatamente después del bloque Set Auth Token hay que añadir al proceso de autorización de usuarios en la aplicación móvil dos nuevos bloques con procesos de negocio previamente creados. El primero recibe y genera la información necesaria, y el segundo crea una conexión con el usuario y escribe en la base de datos.


Envío de notificaciones push

Una vez completada la parte preparatoria, puedes empezar a enviar notificaciones push. Para ello, crearemos un proceso de negocio backend. Imaginemos que nuestra tarea será enviar una notificación a todos los usuarios de nuestra aplicación. Las enviaremos sólo a los dispositivos con el sistema operativo Android y no a todos los dispositivos del usuario, sino sólo al que se utilizó por última vez.

Empecemos con los parámetros de entrada. Es necesario transferir el texto de la propia notificación. Consta de tres partes: el cuerpo del mensaje (body), su título (title) y el subtítulo (subtitle).

A continuación, es necesario encontrar todos los usuarios de la aplicación. Para ello, utilice el bloque Search User y establece los parámetros necesarios:

  • _With = Mobile Instances (es necesario obtener no sólo información sobre el usuario, sino también sobre el dispositivo móvil asociado a él)
  • Limit = -1 (por defecto, la consulta devuelve 25 registros, se especifica "-1" para eliminar este límite y obtener todos los usuarios)
  • _mobile_instances_os = Android (según las condiciones de la tarea, sólo nos interesan los dispositivos de Android )

Para el array de usuarios generado, es necesario ejecutar un ciclo de operaciones (For each loop bloque)


Para cada usuario del Expand User bloque, es necesario obtener información sobre los dispositivos móviles (Mobile Instances). Necesitamos enviar una notificación sólo a un dispositivo, por lo que establecemos index = 0 en el bloque Array Element y también comprobamos si el array contiene al menos un elemento (al fin y al cabo, un usuario sólo puede tener un dispositivo iOS ). Para ello, comprobamos la validez del elemento, pasamos el valor válido del índice al bloque If-Else y continuamos el bucle sólo si el valor es true.

Si todo es correcto y se encuentra información sobre el dispositivo del usuario, hay que utilizar el bloque Expand Mobile Instance y pasar los valores necesarios al bloque Send Push (Android) bloque.

Tenga en cuenta que cuando desarrolle y pruebe una aplicación en el modo Developer Appdebe configurar el bloque Developer Mode = True.

También puede utilizar la opción TTL (Time to live) . Define el tiempo en segundos para que se envíe la notificación. Si la notificación no puede enviarse inmediatamente, por ejemplo, si el usuario se encuentra temporalmente fuera de cobertura, se realizarán repetidos intentos de envío en el tiempo asignado.

Al finalizar el ciclo y enviar las notificaciones a todos los usuarios posibles, también finaliza el trabajo del proceso de negocio.


Parámetros adicionales

Por separado, merece la pena hablar de los parámetros adicionales del bloque de envío:

  • Push ID
  • Push Class
  • Data

No afectan al hecho de enviar una notificación ni a su contenido, pero pueden utilizarse al procesar una notificación por parte del usuario. La aplicación móvil tiene disparadores especiales que se disparan cuando se recibe o se hace clic en una notificación push.


Los disparadores de notificaciones push contienen datos de los parámetros de texto adicionales mencionados anteriormente. Como ejemplo, podemos dar el proceso más simple, que, cuando se hace clic en el disparador, mostrará otra notificación en la pantalla con la información pasada en el parámetro Data parámetro.


Otro caso de uso popular para los disparadores es recoger información sobre la entrega de notificaciones. Por ejemplo, pueden enviar un mensaje al servidor indicando que efectivamente se ha entregado una notificación Push, así como recoger estadísticas y contar el número de clics en las notificaciones.

Was this article helpful?

AppMaster.io 101 Curso intensivo

10 Módulos
2 Semanas

¿No sabe por dónde empezar? Ponte en marcha con nuestro curso intensivo para principiantes y explora AppMaster de la A a la Z.

Inicio de curso
Development it’s so easy with AppMaster!

Necesitas más ayuda?

Resuelva cualquier problema con la ayuda de nuestros expertos. Ahorre tiempo y concéntrese en crear sus aplicaciones.

headphones

Soporte de contacto

Cuéntenos su problema y le encontraremos una solución.

message

Chat comunitario

Discutir preguntas con otros usuarios en nuestro chat.

Únete a la Comunidad