Notificaciones Push en desarrollo móvil: esencia, tipos y cómo funcionan

Autor: IT Sectr Publicado: 2026-03-15 Tiempo de lectura: 9 min

Las notificaciones push son una de las formas más efectivas de interactuar con los usuarios después de instalar la aplicación. Permiten notificar sobre un nuevo mensaje, descuento, actualización de contenido o recordar un carrito abandonado. Las notificaciones push funcionan a través de servicios en la nube: Firebase Cloud Messaging (FCM) en Android y Apple Push Notification Service (APNS) en iOS. En este artículo analizaremos la arquitectura de las notificaciones, sus tipos y el proceso de configuración para ambas plataformas. Más información en la documentación oficial de FCM.

Puntos clave

  • FCM — servicio universal para Android e iOS (a través del proxy APNS)
  • APNS — servicio nativo de Apple para iOS, macOS, watchOS
  • Las Rich Notifications contienen contenido multimedia (imágenes, botones, audio) mediante App Extensions
  • Silent Push actualiza datos en segundo plano sin mostrarse al usuario
  • Device Token — identificador único del dispositivo; debe almacenarse y actualizarse en el servidor
  • Notification Channels (Android) y Notification Categories (iOS) — agrupación y configuración de notificaciones por el usuario

¿Qué son las notificaciones push?

Una notificación push es un mensaje que el servidor envía a un dispositivo móvil sin una solicitud de la aplicación. El mensaje pasa a través de un servicio en la nube (FCM o APNS), que lo entrega al dispositivo incluso si la aplicación está cerrada. Las notificaciones se dividen en dos tipos: notificaciones de visualización (se muestran al usuario) y notificaciones de datos (transmiten datos para procesamiento en segundo plano).

La arquitectura de notificaciones push incluye tres componentes: (1) el servidor de la aplicación — envía una solicitud a FCM/APNS; (2) el servicio en la nube — enruta la notificación; (3) la aplicación cliente — recibe y procesa la notificación. El servidor debe conocer el Device Token del dispositivo para enviarle una notificación. Para envíos masivos se utiliza Topic Subscription — suscripción de dispositivos a canales temáticos (noticias, promociones, clima).

En cada dispositivo, las notificaciones son procesadas por el sistema operativo: Android — mediante NotificationManager y NotificationChannel, iOS — mediante UNUserNotificationCenter. El usuario puede configurar el comportamiento de las notificaciones para cada canal: permitir sonido, banners, mostrar en pantalla de bloqueo o desactivar completamente. La configuración adecuada de los canales aumenta la participación y reduce las tasas de cancelación de suscripción.

En IT Sectr, diseñamos el sistema de notificaciones push teniendo en cuenta las características específicas de la plataforma desde el principio. Decisiones clave: elección entre FCM y APNS directo, formato del payload, frecuencia de envío y mecánica de suscripciones. Esto permite evitar situaciones en las que las notificaciones no llegan o son bloqueadas por el sistema.

FCM vs APNS

Firebase Cloud Messaging (FCM) es el servicio multiplataforma de Google para la entrega de notificaciones. FCM es compatible con Android, iOS, Web y Flutter. En iOS, FCM funciona a través de APNS: FCM envía una solicitud a APNS, que entrega la notificación al dispositivo. Ventajas de FCM: API única para ambas plataformas, análisis integrado, pruebas A/B, temas y segmentos de audiencia.

Apple Push Notification Service (APNS) es el servicio nativo de Apple. Funciona solo en dispositivos Apple (iOS, macOS, watchOS, tvOS). Requiere autorización directa mediante certificado TLS o token (JWT). APNS proporciona latencia de entrega mínima e integración directa con funciones de iOS: PushKit, Notification Service Extension y Alertas críticas.

La elección entre FCM y APNS depende de la arquitectura del proyecto. Si la aplicación es solo para iOS, APNS ofrece más control. Si es multiplataforma, FCM es más conveniente por su API única. Muchos proyectos usan FCM como servicio principal y configuran adicionalmente PushKit para VoIP en iOS. Un enfoque híbrido permite obtener lo mejor de ambos sistemas.

Característica FCM APNS
PlataformasAndroid, iOS, Web, FlutteriOS, macOS, watchOS, tvOS
AutorizaciónServer Key (Firebase Console)Certificado TLS o token JWT
Payload máximo4 KB (data), 2 KB (notification)4 KB
TemasIntegrados (Topic Messaging)No (se implementan en el servidor)
Silent PushCompatibleCompatible (content-available)
PushKitNoSí (VoIP, live activities)
AnalíticaFirebase AnalyticsNo incorporada
Entrega en dispositivo apagadoLimitada (depende del fabricante)Sí, mediante PushKit

Tipos de notificaciones (Rich, Silent, Interactive)

Rich Notification (Notificaciones enriquecidas)

Una Rich Notification es una notificación que contiene no solo texto sino también contenido multimedia: imágenes, videos, audio y botones de acción. En Android se implementa mediante estilos de NotificationCompat: BigPictureStyle (imagen grande), BigTextStyle (texto contraído/expandido), InboxStyle (lista de mensajes), MediaStyle (control de reproducción). En iOS se utiliza Notification Content Extension — un target separado con UI personalizada para la notificación expandida.

Silent Push (Notificaciones silenciosas)

Silent Push (content-available en iOS) es una notificación que se entrega sin mostrarse al usuario. Está diseñada para la actualización de datos en segundo plano: sincronización de contenido, precarga, actualización de widgets. En iOS, Silent Push requiere habilitar Background Modes → Remote notifications. En Android se utiliza FirebaseMessagingService con onMessageReceived para manejar notificaciones en segundo plano. Importante: en iOS, Silent Push tiene limitaciones de frecuencia y no garantiza la entrega si la aplicación no está en primer plano.

Interactive Notification (Notificaciones interactivas)

Una Interactive Notification permite al usuario realizar una acción sin abrir la aplicación. En Android son botones (Action) en la notificación: "Responder", "Aprobar", "Rechazar". Las acciones se procesan mediante PendingIntent, que lanza un BroadcastReceiver o Service. En iOS, Notification Action se registra mediante UNNotificationAction y UNNotificationCategory. Los botones pueden ser foreground (abre la aplicación), background (ejecuta en segundo plano) o destructive (acción irreversible — eliminar, bloquear).

Notification Content Extension y Service Extension

Notification Content Extension (iOS) — un controlador de vista personalizado para mostrar contenido ampliado de la notificación al mantener presionado o con 3D Touch. Notification Service Extension (iOS) — middleware para modificar el contenido de la notificación antes de mostrarla: descifrar mensajes E2E, cargar imágenes, ofuscar datos confidenciales. En Android no hay análogos directos — todas las modificaciones se realizan en FirebaseMessagingService.

Configuración de notificaciones en Android e iOS

Configuración en Android

Para Android es necesario: (1) agregar Firebase SDK al proyecto (google-services.json); (2) crear un NotificationChannel (Android 8+) para cada categoría de notificaciones; (3) implementar FirebaseMessagingService para recibir tokens y mensajes entrantes. Notification Channel es obligatorio — sin él, las notificaciones no se mostrarán en Android 8+. Los canales tienen prioridad (IMPORTANCE_HIGH — sonido + ventana emergente, IMPORTANCE_LOW — sin sonido) y son configurables por el usuario en la configuración del sistema.

Configuración en iOS

Para iOS es necesario: (1) habilitar la capacidad Push Notifications en Xcode; (2) configurar la clave APNS en Apple Developer Portal; (3) solicitar autorización mediante UNUserNotificationCenter.requestAuthorization — este es un diálogo del sistema que se muestra una vez. La respuesta del usuario es crítica: si no se concede el permiso, las notificaciones no se entregarán. Se recomienda explicar al usuario por qué son necesarias las notificaciones antes de mostrar el diálogo del sistema (pre-permission prompt).

Herramientas y Token

Device Token (iOS) y Registration Token (Android) son identificadores únicos del dispositivo para notificaciones push. El token se genera en el primer inicio de la aplicación y puede cambiar: al reinstalar, borrar datos o restablecer la configuración de privacidad. El servidor debe actualizar los tokens regularmente. Firebase proporciona una API conveniente para la gestión de tokens mediante onNewToken, así como un panel para el envío de notificaciones de prueba (Firebase Console → Cloud Messaging).

Topic Subscription es uno de los mecanismos más efectivos de FCM. Un dispositivo se suscribe a un tema (por ejemplo, "news", "promo_users_ios") y el servidor envía notificaciones por tema sin necesidad de almacenar una lista de tokens. Firebase Topics admite hasta un millón de suscriptores por tema y envío condicional (Condition) mediante un lenguaje de expresiones: "'news' in topics && ('US' in topics || 'UK' in topics)".

Notification Payload es la estructura JSON enviada a través de FCM/APNS. Para FCM: notification separada (parte visible — título, cuerpo, imagen) y data (campos personalizados para la aplicación). Para APNS: diccionario aps con alert, badge, sound, category y content-available. La estructura correcta del payload es crítica: si notification + data llegan simultáneamente, la aplicación en segundo plano puede no recibir los datos. Se recomienda usar solo mensajes data para Android y pasar los campos visuales por separado mediante FCM Console.

Preguntas frecuentes

¿Cuál es la diferencia entre FCM y APNS?

FCM (Firebase Cloud Messaging) es el servicio de Google para Android y notificaciones multiplataforma. APNS (Apple Push Notification Service) es el servicio de Apple solo para iOS/macOS. FCM puede entregar notificaciones a través de APNS en iOS, actuando como servidor proxy.

¿Qué es una Rich Notification?

Una Rich Notification es una notificación mejorada con contenido multimedia: imágenes, videos, audio, botones de acción. En iOS se implementa mediante Notification Content Extension; en Android, mediante BigPictureStyle e InboxStyle.

¿Cómo funciona Device Token?

Device Token es un identificador único del dispositivo para enviar notificaciones push. En Android es el Registration Token de FCM; en iOS, el Device Token de APNS. El token puede cambiar al reinstalar la aplicación o restablecer la configuración, por lo que debe actualizarse en el servidor.

¿Qué es Silent Push y para qué sirve?

Silent Push (notificación silenciosa) es una notificación sin mostrar al usuario. Se utiliza para actualizaciones de datos en segundo plano: sincronización de contenido, actualización de widgets, precarga. En iOS requiere habilitar Background Modes → Remote notifications.

¿En qué se diferencia PushKit de las notificaciones push normales?

PushKit es un framework de Apple para la entrega de notificaciones de alta prioridad utilizado en aplicaciones VoIP (llamadas, mensajería). PushKit entrega la notificación incluso si la aplicación está cerrada y garantiza el inicio de la aplicación para su procesamiento.

Resumen

  • FCM — servicio multiplataforma de Google; APNS — servicio nativo de Apple
  • Rich Notification incluye multimedia y botones; Silent Push actualiza datos sin mostrar al usuario
  • Notification Channel (Android) y Notification Category (iOS) — obligatorios para agrupar notificaciones
  • Device Token — identificador único; debe actualizarse regularmente en el servidor
  • Topic Subscription simplifica los envíos masivos sin almacenar una lista de tokens
  • PushKit — para notificaciones críticas (VoIP, alertas vitales)
  • Notification Payload debe estar estructurado según la plataforma: notification + data para FCM, aps para APNS

Desarrollaremos una aplicación móvil llave en mano

IT Sectr crea aplicaciones para iOS y Android para startups y empresas desde 2017. Le asesoraremos y le propondremos la mejor solución.

Discutir el proyecto