Skip to main content

Visión general

Las notificaciones push se gestionan mediante expo-notifications (v0.31.4), con un servicio singleton que encapsula toda la funcionalidad.

Servicio de notificaciones

El servicio singleton se encuentra en src/modules/profile/services/notificationsService.ts y expone los siguientes métodos:

Configuración iOS

Habilitado

  • Alertas - Badges - Sonidos - Display en CarPlay

Deshabilitado

  • Critical alerts - Provisional permissions

Comportamiento de notificación mostrada

Cuando la app está en primer plano y llega una notificación, se aplica la siguiente configuración:
La configuración de badge deshabilitado en notificaciones individuales significa que el badge se gestiona manualmente a través del servicio, no automáticamente por cada notificación recibida.

Deep linking desde notificaciones

Las notificaciones push pueden contener un campo deep_link en sus datos. Cuando el usuario toca la notificación, el enlace se procesa a través del linkingService para navegar a la pantalla correspondiente.
El deep link se rutea a través del linkingService, que se encarga de validar la ruta y manejar casos donde el usuario no está autenticado (preservando el deep link para después del login).

Plugin en app.config.ts

La configuración del plugin de expo-notifications en app.config.ts:

Integración con linkingService

El flujo completo de una notificación push con deep link es:
  1. El dispositivo recibe la notificación push
  2. El usuario toca la notificación
  3. Se extraen los datos de deep_link del payload
  4. El linkingService recibe la ruta
  5. Si el usuario está autenticado, se navega directamente
  6. Si no está autenticado, el deep link se preserva y se ejecuta después del login

Archivos clave