Atribución de notificaciones nativas para aplicaciones web en macOS

Marijn Kruisselbrink
Marijn Kruisselbrink
Dan Murphy
Dan Murphy

Fecha de publicación: 16 de julio de 2026

A partir de Chrome 152, las aplicaciones web progresivas (AWP) instaladas en macOS tendrán sus notificaciones atribuidas de forma nativa a la AWP en sí, en lugar de a Google Chrome.

Esta es una mejora significativa en la experiencia del usuario, ya que hace que las apps web se sientan más integradas en macOS. Sin embargo, también introduce cambios importantes en la forma en que se administran los permisos de notificación y en el comportamiento de ciertas APIs de notificación.

¿Qué cambiará?

Anteriormente, todas las notificaciones enviadas por las AWP se atribuían a Chrome a nivel del SO. En el Centro de notificaciones de macOS, aparecían en "Google Chrome" y usaban el ícono de Chrome. Para inhabilitar las notificaciones, los usuarios debían usar los controles dentro de Chrome, no la Configuración del sistema de macOS.

Con la atribución de notificaciones, cuando un sitio se instala como una AWP, macOS lo trata como una aplicación distinta para las notificaciones. Esto se aplica tanto a las AWP recién instaladas como a las que el usuario había instalado anteriormente.

Beneficios:

  • Identidad de marca: Las notificaciones muestran el nombre y el ícono propios de la AWP en el Centro de notificaciones y los banners de macOS.
  • Controles de usuario conocidos: Los controles de notificación para estas apps ahora aparecen exactamente donde los usuarios esperan que estén: en la Configuración del sistema de macOS (no en Chrome).
  • Control detallado: Los usuarios pueden administrar la configuración de notificaciones de apps de AWP individuales (por ejemplo, estilos de alerta y comportamiento de la pantalla de bloqueo).
  • Modos sin distracciones: Las AWP se pueden permitir o silenciar individualmente en los perfiles de enfoque de macOS (No molestar).
Se atribuye a "Google Chrome" con el ícono de Chrome.
Antes: Se atribuía a "Google Chrome" con el ícono de Chrome.
Se atribuye a "Nombre de la AWP" con el ícono personalizado de la AWP.
Después: Se atribuía a "Nombre de la AWP" con el ícono personalizado de la AWP.

El nuevo flujo de permisos

Dado que macOS ahora trata la AWP como una app independiente, la AWP debe obtener el permiso de notificación a nivel del SO antes de que pueda mostrar notificaciones. Esto cambia el flujo de permisos para los usuarios nuevos y existentes.

Usuarios nuevos (solicitud de permiso por primera vez)

Si un usuario instala una AWP y el sitio solicita permiso de notificación después de la instalación, sucederá lo siguiente:

  1. Chrome omitirá la solicitud de permiso a nivel del navegador (el menú desplegable de la barra de direcciones).
  2. Chrome activará de inmediato la solicitud de permiso del sistema macOS para la AWP.
El diálogo de permiso del sistema de macOS: El nombre de la PWA quiere enviarte notificaciones. Las notificaciones pueden incluir alertas, sonidos y globos, con los botones No permitir y Permitir.
Diálogo de permiso del sistema macOS para la AWP instalada.
Diagrama de flujo que muestra el proceso de permisos de la PWA. Comienza con "PWA Requests Permission" y lleva a la decisión "Installed?". Si la respuesta es "Sí", se omite la solicitud de Chrome y se muestra la solicitud del sistema de macOS. Si la respuesta es "No", se muestra el mensaje del navegador Chrome, el usuario instala la AWP y, luego, se muestra el mensaje del sistema de macOS.
Diagrama de flujo del proceso de permiso de notificación de la AWP.

Usuarios existentes (ruta de migración)

Si un usuario ya otorgó permiso de notificación a tu sitio web en Chrome y, luego, instala (o ya instaló) la AWP, debe otorgar permiso a nivel del SO a la AWP.

Para que esta transición sea lo más fluida posible, haz lo siguiente:

  1. La primera vez que la AWP intente enviar una notificación, macOS mostrará la solicitud de permiso del sistema.
  2. Si el usuario aprueba, las notificaciones seguirán funcionando sin problemas.
  3. Si el usuario ignora o rechaza esta solicitud, la AWP mostrará un indicador en la app (por lo general, en la barra de título o el menú de la app) que lo guiará a la Configuración del sistema de macOS para habilitar los permisos de forma manual.
Se muestra un mensaje sobre la AWP instalada para que el usuario sepa que las notificaciones están desactivadas en la Configuración del Sistema de Mac, con un botón para ir allí.
Solicitud en la app de la AWP que guía al usuario a la Configuración del sistema de macOS.
Parámetros de configuración de la app con la opción para activar o desactivar las notificaciones y un puntero en la configuración del sistema para habilitar las notificaciones.
Configuración de la app en Chrome con un indicador para abrir la Configuración del sistema de macOS.
Se muestra un mensaje en la app del navegador para informar al usuario que las notificaciones están desactivadas en la Configuración del Sistema de Mac, con un botón para ir allí.
Solicitud en el navegador que guía al usuario a la Configuración del sistema de macOS.

Impacto en los desarrolladores: Baja de requireInteraction en macOS

En macOS, si una notificación permanece en la pantalla hasta que el usuario la rechaza ("Persistente") o desaparece automáticamente ("Temporal") es un parámetro de configuración por app controlado por el usuario en la Configuración del sistema de macOS.

Debido a este diseño del SO, Chrome ya no respetará la requireInteraction opción en la API de Notification en macOS cuando la atribución esté activa.

¿Qué significa esto para tu código?

Si tu app depende de requireInteraction: true para mantener las notificaciones importantes en la pantalla, esto ya no se garantizará en macOS. En su lugar, debes hacer lo siguiente:

  • Diseña tu app suponiendo que las notificaciones pueden ser transitorias (Temporales).
  • Alienta a los usuarios que necesiten notificaciones persistentes a configurar el estilo de alerta de notificación de la AWP como "Persistente" en System Settings > Notifications > [Your PWA].
La configuración del sistema de macOS, en la que se destaca el parámetro de configuración Estilo de alerta que muestra las opciones Temporal y Persistente.
Configuración del sistema de macOS para la AWP que muestra el parámetro de configuración Estilo de alerta (Temporal versus Persistente).

Impacto en los desarrolladores: La API de App Badging requiere permiso de notificación

La API de App Badging permite que las apps web establezcan una insignia en el ícono de su aplicación (por ejemplo, que muestre un recuento de mensajes no leídos). En macOS, la insignia del ícono de la app está técnicamente vinculada a la configuración de notificaciones de la aplicación. Dado que la AWP ahora tiene su propia identidad de notificación nativa, sucede lo siguiente:

  • Permiso obligatorio: La AWP debe tener habilitado el permiso de notificación a nivel del SO para que aparezca la insignia en el ícono del Dock. Esto se alinea con los estándares de la plataforma macOS y coincide con la forma en que Safari ya controla la API de Badging para las apps web.
  • Falla silenciosa: Si el usuario inhabilita "Ícono de la app de la insignia" en System Settings > Notifications > [Your PWA], o rechaza el permiso de notificación por completo, las llamadas a navigator.setAppBadge() seguirán teniendo éxito en JavaScript (sin generar un error), pero la insignia no se mostrará en el Dock. Si tu app depende de las insignias, asegúrate de solicitar permiso de notificación para garantizar que se pueda mostrar la insignia.

Impacto en la administración empresarial

Para los administradores empresariales que administran dispositivos macOS y desean otorgar permisos de notificación previamente, haz lo siguiente:

  1. Política de Chrome: Aún debes configurar la política de Chrome (NotificationsAllowedForUrls) para otorgar permiso al origen de la AWP.
  2. Política de macOS: Además, ahora debes implementar un perfil de configuración de macOS (MDM) para otorgar permisos de notificación previamente al identificador de paquete de la AWP (App Shim).

Si no se aplican ambas políticas, los usuarios seguirán recibiendo la solicitud a nivel del SO.

Prácticas recomendadas para desarrolladores

  1. Verifica el estado del permiso: Siempre verifica Notification.permission antes de enviar una notificación.
  2. Solicitudes contextuales: Si detectas que se otorgó el permiso a nivel web , pero no aparecen las notificaciones (lo que puede suceder si se revoca el permiso a nivel del SO ), guía al usuario a la Configuración del sistema de macOS.
  3. Prepárate para las notificaciones transitorias: No dependas de requireInteraction para los flujos de usuarios importantes en macOS.