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

Autor: IT Sectr Publicado: 2026-03-19 Tiempo de lectura: 8 min

Las notificaciones Push son mensajes enviados por el servidor a un dispositivo móvil incluso cuando la aplicación está cerrada. Según Google Firebase, 2024, las notificaciones Push se procesan a través de servicios especializados — FCM en Android y APNS en iOS, que admiten entrega en tiempo real a millones de dispositivos simultáneamente. Se han convertido en una parte integral de la experiencia del usuario en las aplicaciones móviles modernas.

Puntos clave

  • Notificaciones Push — mensajes del servidor entregados a través de FCM o APNS.
  • FCM (Firebase Cloud Messaging) — el servicio principal para Android con soporte para iOS.
  • APNS (Apple Push Notification Service) — el servicio propio de Apple para iOS y macOS.
  • Tipos de notificaciones se dividen en notificaciones de texto, notificaciones multimedia y notificaciones silenciosas.
  • Tokens de dispositivo — identificadores únicos para la entrega dirigida de mensajes Push.

¿Qué son las notificaciones Push?

Las notificaciones Push son mensajes cortos que el servidor de la aplicación envía al dispositivo del usuario sin una solicitud explícita. Aparecen como banners, insignias en el icono o señales sonoras, atrayendo la atención del usuario hacia la aplicación e informándole sobre eventos importantes.

Definición y propósito

Una notificación Push consta de un título, un cuerpo del mensaje y datos opcionales (payload). A diferencia de los SMS, las notificaciones Push son gratuitas para el usuario y se entregan a través de la infraestructura de servicios en la nube — FCM para Android y APNS para iOS. Los objetivos principales de las notificaciones Push son: aumentar la participación, informar sobre eventos y devolver al usuario a la aplicación.

Las estadísticas de uso muestran que las notificaciones Push correctamente configuradas aumentan la retención de la aplicación entre un 30 y un 60%. Sin embargo, la frecuencia excesiva de notificaciones provoca cancelaciones de suscripción — más del 60% de los usuarios desactivan las notificaciones si se envían más de tres veces al día.

Arquitectura del sistema Push

Un sistema Push incluye tres componentes: el servidor de la aplicación, el servicio de plataforma (FCM/APNS) y la aplicación cliente en el dispositivo. El servidor envía una solicitud al servicio de plataforma, que entrega la notificación al dispositivo de destino a través de una conexión persistente con el sistema operativo.

¿Cómo funcionan las notificaciones Push?

El mecanismo de entrega de las notificaciones Push se basa en una conexión persistente entre el dispositivo y el servicio de plataforma. El sistema operativo mantiene un canal de comunicación cifrado a través del cual pasan todos los mensajes Push.

Registro y obtención del token

En el primer inicio, la aplicación solicita permiso para enviar notificaciones y recibe un token único de dispositivo de FCM o APNS. Este token es una cadena de hasta 4 KB que identifica únicamente la instancia de la aplicación. El token cambia cuando se reinstala la aplicación o se restaura el dispositivo desde una copia de seguridad.

kotlin
class FirebaseMessagingService :
    FirebaseMessagingService() {

    override fun onNewToken(token: String) {
        sendTokenToServer(token)
    }

    override fun onMessageReceived(
        message: RemoteMessage
    ) {
        showNotification(message.notification)
    }
}

Envío a través del servidor de la aplicación

El servidor de la aplicación envía una solicitud HTTP a la API de FCM o a la API de APNS, especificando el token de destino, el título, el cuerpo y los datos adicionales. El servicio de plataforma responde con un estado de entrega: éxito, token inválido (el dispositivo desinstaló la aplicación) o limitación de velocidad (frecuencia de envío excedida).

js
fetch("https://fcm.googleapis.com/fcm/send", {
    method: "POST",
    headers: {
        "Authorization": "key=AIzaSy...",
        "Content-Type": "application/json"
    },
    body: JSON.stringify({
        to: "device_token_here",
        notification: {
            title: "Nuevo mensaje",
            body: "¡Tienes una nueva notificación!"
        }
    })
})

FCM vs APNS: Comparación de plataformas

La elección entre FCM y APNS depende de la plataforma de destino. FCM admite Android e iOS, mientras que APNS solo admite el ecosistema de Apple. Analicemos las diferencias clave importantes para el desarrollo de aplicaciones móviles multiplataforma.

Firebase Cloud Messaging (FCM)

FCM es un servicio de Google que funciona sobre Google Play Services. Admite dos esquemas de entrega: notificaciones con visualización automática y notificaciones de datos que la aplicación maneja por sí misma. FCM es gratuito y no tiene límites en la cantidad de mensajes enviados.

Apple Push Notification Service (APNS)

APNS es el servicio de Apple con soporte para archivos adjuntos multimedia (imágenes, vídeo, audio) de hasta 10 MB. El envío a través de APNS requiere un certificado TLS o una clave de autenticación. APNS limita la frecuencia de envío a un solo dispositivo — no más de 150 notificaciones por minuto, tras lo cual se activa la limitación de velocidad.

CaracterísticaFCMAPNS
PlataformasAndroid, iOS, WebiOS, macOS, watchOS
RequisitosGoogle Play ServicesApple Developer Program
Multimediahasta 4 KB (datos)hasta 10 MB (adjuntos)
Prioridadnormal/altainmediata/ahorro de energía
Costogratuitogratuito (requiere cuenta)

Tipos de notificaciones Push

Las notificaciones Push se clasifican según el método de visualización y el propósito. Comprender los tipos ayuda a elegir la estrategia correcta para cada escenario de interacción con el usuario.

Notificaciones de texto (Display Notifications)

El tipo más común — una notificación mostrada con un título y un cuerpo. El sistema operativo la muestra automáticamente en la sombra de notificaciones, en la pantalla de bloqueo y como banner. El desarrollador puede configurar el sonido, la vibración, la insignia del icono y los botones de acción para acciones directas (responder, abrir, descartar).

Notificaciones de datos (Data Notifications)

Las notificaciones de datos contienen solo payload sin visualización. La aplicación las procesa en segundo plano: sincroniza datos, actualiza la memoria caché o inicia descargas. En Android, las notificaciones de datos se entregan de forma fiable; en iOS, solo cuando la aplicación está activa o mediante background fetch.

Notificaciones multimedia y enriquecidas

Los sistemas operativos móviles modernos admiten notificaciones enriquecidas y multimedia con imágenes, GIF, vídeo y audio. En iOS, esto se implementa a través de UNNotificationAttachment; en Android, mediante BigPictureStyle e InboxStyle para personalizar la apariencia de la notificación en la sombra del sistema.

Notificaciones silenciosas (Silent)

Las notificaciones silenciosas no se muestran al usuario y se utilizan para la sincronización en segundo plano. En iOS, tienen alta prioridad para tareas como la actualización de datos antes de abrir la aplicación. Android las trata como notificaciones de datos con prioridad mínima.

Configuración de notificaciones Push en un proyecto

La configuración de notificaciones Push requiere acciones a nivel de infraestructura, servidor y código del cliente. Veamos el proceso típico para un proyecto móvil multiplataforma.

Configuración de FCM para Android

Para Android, es necesario crear un proyecto en la Firebase Console, agregar google-services.json al proyecto y configurar FirebaseMessagingService. El token del dispositivo se obtiene a través de FirebaseInstanceId o FirebaseMessaging.getInstance().token, tras lo cual se envía al servidor mediante API en el primer inicio o cuando cambia.

Configuración de APNS para iOS

Para iOS, se requiere una suscripción al Apple Developer Program, la creación de un certificado Push o clave APNS en el Developer Portal, y la activación de la capacidad Push Notifications en Xcode. El registro de notificaciones se realiza a través de UIApplication.shared.registerForRemoteNotifications, recibiendo el deviceToken en AppDelegate.

swift
import UIKit
import UserNotifications

@main
class AppDelegate: UIResponder,
    UIApplicationDelegate {

    func application(
        _ application: UIApplication,
        didRegisterForRemoteNotificationsWithDeviceToken
        deviceToken: Data
    ) {
        let token = deviceToken
            .map { String.format("%02x", $0) }
            .joined()
        // enviar token a tu servidor
    }
}

Envío desde el servidor

En el lado del servidor, las notificaciones Push se envían a través de la API REST o el Admin SDK. FCM utiliza Firebase Admin SDK (disponible para Node.js, Java, Python, Go), mientras que APNS utiliza librerías pusher (pushy para Java, apn2 para Node.js). Se recomienda almacenar los tokens en una base de datos con una marca de tiempo de la última actualización.

Seguridad de las notificaciones Push

La seguridad de las notificaciones Push es críticamente importante, ya que a través de ellas pueden transmitirse datos confidenciales. Ambas plataformas proporcionan mecanismos de protección básicos, pero el desarrollador debe utilizarlos correctamente.

Cifrado del payload

El payload de una notificación Push puede contener datos personales de los usuarios: nombres, montos de transacciones, enlaces a mensajes. Aunque el canal de comunicación entre FCM/APNS y el dispositivo está cifrado, los datos pueden ser interceptados a nivel de aplicación si un software de terceros intercepta la notificación. Se recomienda cifrar el payload sensible en el servidor con AES-256 y descifrarlo en el dispositivo con una clave almacenada en Keychain (iOS) o EncryptedSharedPreferences (Android).

Validación de tokens en el servidor

El token del dispositivo es un identificador de sesión que puede verse comprometido si el dispositivo es hackeado o el tráfico es interceptado. El servidor de la aplicación debe validar los tokens antes de enviar: verificarlos con la base de datos, rastrear tokens inactivos y eliminarlos en errores repetidos de InvalidToken. FCM y APNS devuelven el estado InvalidRegistration para tokens no válidos — no lo ignore.

Protección contra spam de notificaciones

Sin control de frecuencia, las notificaciones Push pueden convertirse en una herramienta de spam que molesta a los usuarios y reduce la retención. Establezca límites en el servidor: no más de 5 notificaciones por hora para un solo usuario y no más de 3 mensajes idénticos. Para notificaciones transaccionales (confirmación de pedido, cambio de contraseña), los límites pueden ser más altos — hasta 10 por hora, ya que contienen información críticamente importante. Utilice limitación de velocidad a nivel de API de envío para que un atacante no pueda enviar notificaciones masivas a través de su servidor.

Preguntas frecuentes

¿Se pueden enviar notificaciones Push sin FCM en Android?

Sí, pero la conexión directa a APNS no es compatible con Android — los dispositivos sin Google Play Services utilizan alternativas como Huawei Mobile Services (HMS) y conexiones WebSocket propias. Sin embargo, FCM sigue siendo el estándar para la mayoría de las aplicaciones debido a su gratuidad y fiabilidad.

¿Cómo funciona la entrega de Push cuando no hay internet?

FCM y APNS almacenan la última notificación en sus servidores y la entregan cuando se restablece la conexión. Cada dispositivo almacina solo la última notificación de cada aplicación, por lo que los mensajes intermedios se pierden durante una ausencia prolongada de red.

¿Por qué no llegan las notificaciones Push en iOS?

Las razones más comunes son un certificado Push vencido (válido por 1 año), un token de dispositivo no válido, notificaciones desactivadas en la configuración o el modo de bajo consumo activado. Verifique el certificado en Apple Developer Console y asegúrese de que la aplicación solicite permiso a través de UNUserNotificationCenter.

¿Cómo rastrear que un usuario abrió una notificación Push?

En Android, use PendingIntent en NotificationCompat.Builder con seguimiento de apertura a través de Intent. En iOS, use el método UNUserNotificationCenterDelegate.userNotificationCenter(_:didReceive:withCompletionHandler:). FCM proporciona informes de entrega y apertura para cada notificación enviada.

¿Las notificaciones Push afectan la duración de la batería?

Minimamente — las notificaciones Push no mantienen una conexión constante; el sistema operativo utiliza un único canal del sistema para todas las aplicaciones, lo que minimiza el consumo total de energía. El envío frecuente (cada 5 minutos) consume más energía al activar el dispositivo desde el modo de suspensión. Las notificaciones silenciosas en iOS consumen más batería debido a la activación de la aplicación en segundo plano para procesar los datos recibidos.

Resumen

  • Notificaciones Push — mensajes del servidor al dispositivo a través de FCM o APNS.
  • Token de dispositivo — identificador único para la entrega dirigida de Push.
  • FCM admite Android, iOS y Web; APNS solo admite el ecosistema Apple.
  • Notificaciones de datos se procesan en segundo plano sin mostrarse al usuario.
  • Notificaciones multimedia en iOS admiten archivos adjuntos de hasta 10 MB; en Android, mediante estilos extendidos.
  • Certificados APNS requieren renovación anual en Apple Developer Portal.
  • Limitación de velocidad en FCM y APNS protege a los usuarios del spam de notificaciones, limitando la frecuencia de envío a cada dispositivo.

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

Lea también