A partir do Chrome 59, as notificações enviadas pela API Notifications ou pela API de extensões chrome.notifications serão mostradas diretamente pelo sistema de notificação nativo do macOS, e não pelo sistema do próprio Chrome.
Essa mudança faz com que o Chrome no macOS fique muito melhor integrado à plataforma e corrige vários bugs antigos, como o desrespeito à configuração "Não perturbe" do sistema.
Confira abaixo as diferenças que essa mudança introduz nas APIs existentes.
Central de notificações
Um dos benefícios dessa mudança é que as notificações serão exibidas na central de notificações do macOS.
![As notificações do Google Chrome serão exibidas na central de notificações do macOS](https://developer.chrome.com/static/blog/native-mac-os-notifications/image/google-chrome-notificatio-0dd272728498d.png?hl=pt)
Diferenças
Tamanho e posicionamento do ícone
A aparência dos ícones será alterada. Eles são menores em tamanho e o padding é aplicado. Para ter uma estética agradável, é recomendável mudar para um ícone de plano de fundo transparente em vez de uma cor sólida.
![Ícones de notificação "antes e depois" do Chrome no Mac mostrados pelo Chrome e pelo
macOS.](https://developer.chrome.com/static/blog/native-mac-os-notifications/image/before-after-chrome-ma-8f7a9faf4b135.png?hl=pt)
Ícones de ação
Antes dessa mudança, os botões e ícones de ação eram mostrados na notificação Com as notificações nativas, os ícones do botão de ação não são usados, e o usuário precisa passar o cursor sobre a notificação e selecionar o botão "Mais" para ver as ações disponíveis.
![Antes e depois dos botões de ação de notificação com ícones mostrados pelo
Chrome e pelo macOS.](https://developer.chrome.com/static/blog/native-mac-os-notifications/image/before-after-notificati-acefa2d32d351.png?hl=pt)
Logotipo do Chrome
O logotipo do Google Chrome é sempre exibido e não pode ser substituído ou alterado. Esse é um requisito para aplicativos de terceiros no macOS.
Imagens
A opção image
não estará mais disponível no macOS. Se você definir uma propriedade
de imagem, a notificação ainda vai ser exibida, mas vai ignorar o parâmetro
de imagem (veja o exemplo abaixo).
![Imagem de "Antes e depois" da notificação do Chrome no macOS.](https://developer.chrome.com/static/blog/native-mac-os-notifications/image/before-after-notificati-35cb1f20a7481.png?hl=pt)
Você pode detectar o suporte a imagens de detecção de recursos com o seguinte código:
if ('image' in Notification.prototype) {
// Image is supported.
} else {
// Image is NOT supported.
}
Mudanças na extensão do Chrome
As extensões do Chrome têm o conceito de modelos de notificação, que se comportarão de maneira diferente com essa mudança.
O modelo de notificação de imagem não mostrará mais a imagem. É preciso garantir que as imagens sejam complementares e não necessárias para ser úteis para os usuários.
![Antes e depois para modelos de imagem na API chrome.notification](https://developer.chrome.com/static/blog/native-mac-os-notifications/image/before-after-image-temp-ea8d68fe9acc.png?hl=pt)
O modelo de notificação vai mostrar apenas o primeiro item da lista. Considere voltar ao estilo básico de notificação e usar o corpo do texto para resumir o conjunto de mudanças.
![Antes e depois para modelos de lista na API chrome.notification.](https://developer.chrome.com/static/blog/native-mac-os-notifications/image/before-after-list-templ-58a8124f4c8f9.png?hl=pt)
As notificações de progresso vão adicionar um valor percentual ao título da notificação para indicar o andamento em vez de uma barra de progresso.
![Antes e depois dos modelos de progresso na API chrome.notification.](https://developer.chrome.com/static/blog/native-mac-os-notifications/image/before-after-progress-t-aeb9eb61ae795.png?hl=pt)
A última diferença na IU de notificações é que o appIconMarkUrl
não será mais usado no macOS.
![Antes e depois de appIconMarkUrl na API chrome.notification.](https://developer.chrome.com/static/blog/native-mac-os-notifications/image/before-after-appiconmar-74e3f48314cd4.png?hl=pt)