Cambio al sistema de notificaciones nativo en macOS

Stephen McGruer
Stephen McGruer

A partir de Chrome 59, las notificaciones enviadas mediante la API de Notifications o la Se mostrará la API de extensiones de chrome.notifications. directamente mediante el sistema nativo de notificaciones de macOS, en lugar del propio sistema de Chrome.

Este cambio hace que Chrome en macOS se sienta mucho mejor integrado en la plataforma y corrige varios errores de larga data, como que Chrome no respeta el de No interrumpir del sistema.

A continuación, veremos las diferencias que este cambio presenta APIs.

Centro de notificaciones

Una de las ventajas de este cambio es que las notificaciones se mostrarán en Centro de notificaciones de macOS.

Las notificaciones de Google Chrome se mostrarán en el centro de notificaciones de macOS
Las notificaciones de Google Chrome se mostrarán en el centro de notificaciones de macOS

Diferencias

Tamaño y posicionamiento de los íconos

El aspecto de los íconos cambiará. Tendrán un tamaño más pequeño, y el relleno se aplicó. Te recomendamos que consideres cambiar a un ícono de fondo transparente. en lugar de un color sólido para que sea estéticamente agradable.

Los íconos de notificaciones antes y después de Chrome en Mac que muestra Chrome en comparación con los que muestra
    macOS.
Los íconos de notificaciones antes y después de Chrome en Mac que muestra Chrome en comparación con los que muestra macOS

Íconos de acción

Antes de este cambio, los botones e íconos de acción se mostrarían en el notificación. Con las notificaciones nativas, no se muestran los íconos de botones de acción y el usuario deberá colocar el cursor sobre la notificación y seleccionar la opción "Más" para ver las acciones disponibles.

Botones de acción de antes y después de la notificación con íconos mostrados por
    Chrome en comparación con lo que muestra macOS.
Botones de acción de antes y después de la notificación con íconos mostrados por Comparación entre Chrome y macOS

El logotipo de Chrome siempre se mostrará y no se puede reemplazar ni modificar. Esta es un requisito para aplicaciones de terceros en macOS.

Imágenes

La opción image ya no será compatible con macOS. Si defines una imagen propiedad, se seguirá mostrando la notificación, pero se ignorará la imagen parámetro (consulta el ejemplo a continuación).

Imagen de la notificación de antes y después de la notificación de Chrome en macOS.
Imagen de la notificación antes y después de la notificación para Chrome en macOS

Puedes usar el siguiente código para admitir la detección de imágenes:

if ('image' in Notification.prototype) {  
  // Image is supported.
} else {  
  // Image is NOT supported.
}

Cambios en la extensión de Chrome

Las extensiones de Chrome se basan en el concepto de plantillas de notificación que se comportarán de forma diferente con este cambio.

La plantilla de notificación con imágenes ya no mostrará la imagen. Debes asegurarte de que las imágenes sean complementarias y no sean necesarias para que sean útiles para los usuarios.

Antes y después para las plantillas de imágenes en la API de chrome.notification
Antes y después para las plantillas de imágenes en la API de chrome.notification

La plantilla de notificación de lista solo mostrará el primer elemento de la lista. Tú deberías considerar volver al estilo de notificación básico y usar el cuerpo texto para resumir el conjunto de cambios.

Antes y después para las plantillas de listas en la API de chrome.notification.
Antes y después para las plantillas de listas en la API de chrome.notification

Las notificaciones de progreso agregarán un valor porcentual al título de la notificación para indicar el progreso, en lugar de una barra de progreso.

Antes y después para las plantillas de progreso en la API de chrome.notification
Antes y después para las plantillas de progreso en la API de chrome.notification

La última diferencia en la IU de notificaciones es que appIconMarkUrl ya no se usará en macOS.

Antes y después de appIconMarkUrl en la API de chrome.notification
Antes y después de appIconMarkUrl en la API de chrome.notification