As notificações push agora podem ser usadas em navegadores diferentes

Envie notificações úteis e oportunas aos seus usuários.

As notificações push foram padronizadas em 2016 com o lançamento da API Push e da API Notification, que fazem parte do Grupo de trabalho de aplicativos da Web do W3C. Essas APIs fornecem a funcionalidade necessária para que os desenvolvedores da Web incorporem notificações push aos aplicativos da Web e para que os usuários recebam e interajam com notificações nos navegadores da Web. As mensagens push são notificações enviadas ao navegador da Web de um usuário a partir de um site ou aplicativo para o qual o usuário concedeu permissão anteriormente. Essas mensagens podem ser usadas para alertar o usuário sobre novos conteúdos ou atualizações, lembrá-los de próximos eventos ou prazos ou fornecer outras informações importantes. As mensagens push podem ser úteis principalmente para apps que precisam enviar informações oportunas e relevantes aos usuários, como apps de notícias ou esportes, ou para sites de e-commerce que querem enviar notificações sobre ofertas ou promoções especiais.

Para receber notificações push, primeiro confira se o navegador oferece suporte a elas, verificando os objetos serviceWorker e PushManager nos objetos navigator e window.

Se houver suporte para notificações push, use as palavras-chave async e await para registrar o service worker e se inscrever para receber notificações push. Confira um exemplo de como você pode fazer isso usando JavaScript:

// Check if the browser supports push notifications.
if ("serviceWorker" in navigator && "PushManager" in window) {
  try {
    // Register the service worker.
    const swReg = await navigator.serviceWorker.register("/sw.js");

    // Subscribe for push notifications.
    const pushSubscription = await swReg.pushManager.subscribe({
      userVisibleOnly: true
    });

    // Save the push subscription to the database.
    savePushSubscription(pushSubscription);
  } catch (error) {
    // Handle errors.
    console.error("Error subscribing for push notifications.", error);
  }
} else {
  // Push notifications are not supported by the browser.
  console.error("Push notifications are not supported by the browser.");
}

Compatibilidade com navegadores

  • 42
  • 17
  • 44
  • 16

Origem

Sugestões de leitura

Parte da série Newly interoperável (em inglês)