Dostarczaj użytkownikom aktualne i przydatne powiadomienia.
Powiadomienia push zostały ustandaryzowane w 2016 roku wraz z udostępnieniem interfejsów Push API i Notification API, które są częścią grupy roboczej ds. aplikacji internetowych W3C. Te interfejsy API zapewniają deweloperom internetowym niezbędne funkcje do włączania powiadomień push w aplikacjach internetowych, a użytkownikom – do odbierania powiadomień w przeglądarkach internetowych i wchodzenia z nimi w interakcje. Wiadomości push to powiadomienia wysyłane do przeglądarki użytkownika z witryny lub aplikacji, którym użytkownik wcześniej przyznał uprawnienia do wysyłania powiadomień. Można ich używać do powiadamiania użytkowników o nowych treściach lub aktualizacjach, przypominania o nadchodzących wydarzeniach lub terminach albo przekazywania innych ważnych informacji. Wiadomości push mogą być szczególnie przydatne w przypadku aplikacji, które muszą dostarczać użytkownikom aktualne i istotne informacje, np. aplikacji z wiadomościami lub sportowych, a także w przypadku witryn e-commerce, które chcą wysyłać użytkownikom powiadomienia o ofertach specjalnych lub wyprzedażach.
Aby zarejestrować się w celu otrzymywania powiadomień push, najpierw sprawdź, czy Twoja przeglądarka je obsługuje. W tym celu sprawdź, czy w obiektach navigator i window znajdują się obiekty serviceWorker i PushManager.
Jeśli powiadomienia push są obsługiwane, użyj słów kluczowych async i await, aby zarejestrować service worker i zasubskrybować powiadomienia push. Oto przykład, jak to zrobić za pomocą JavaScriptu:
// 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.");
}