Ionic: Notificaciones locales con Capacitor

Uno de los mecanismos más habituales que te solicitan los clientes en una app móvil son las notificaciones push. Este tipo de notificaciones pueden ser remotas (emitidas por un servidor) o locales (emitidas por el propio móvil). En este post os voy a hablar de las emitidas por el propio móvil.

Para ello el único requisito -tanto para Android como para iOS- consiste en que el usuario acepte recibir las notificaciones, recordad que en cualquier momento puede desinstalar la app o desactivarlas desde la configuración del móvil si lo agobiáis mucho, así que con cuidado.

Capacitor permite programar el envío de estas notificaciones en el tiempo, estas notificaciones funcionan sólo para iOS y para Android, no para navegadores del móvil.

Para utilizarlas en primer lugar tenéis que importar la librería correspondiente y definir una constante:

import { Plugins } from '@capacitor/core';
const { LocalNotifications } = Plugins;

Una vez hecho esto en la función que determinemos como más adecuada debemos utilizar este código (obviamente modificándolo según nuestras necesidades):

LocalNotifications.schedule({
  notifications: [
    {
      title: "Title",
      body: "Body",
      id: 1,
      schedule: { at: new Date(Date.now() + 1000 * 5) },
      sound: null,
      attachments: null,
      actionTypeId: "",
      extra: null
    }
  ]
});

Cómo veis definimos el título de la notificación, el cuerpo de la misma, el identificador, la fecha de lanzamiento (en este caso en 5 segundos), el sonido a reproducir, si deseamos agregar imágenes o vídeos, el identificador de la acción grabada para cuando la pulsemos e información extra.

Si pruebas el código desde navegador la notificación no se lanzará, pero si lo hará un mensaje en el log, cosa que es muy útil para hacer pruebas.

Espero que os sea de utilidad ^_^.

Comentarios