Podstawowe informacje o tym, czym są powiadomienia push, dlaczego warto ich używać i jak działają.
Czym są powiadomienia push?
Komunikaty push pozwalają zwrócić uwagę odbiorców nawet jeśli w ogóle nie korzystają z witryny. Są to reklamy push. wiadomości, ponieważ można je „wypychać” nawet wtedy, gdy są oni nieaktywny. Porównaj Push technologia w narzędziu Pull technologii, aby to zrozumieć. o dalszym rozwoju tej koncepcji.
Powiadomienia przedstawiają użytkownikowi niewielkie fragmenty informacji. Strony mogą używać powiadomienia, aby informować użytkowników o ważnych, pilnych zdarzeniach lub działaniach. które musi wykonać użytkownik. Wygląd i sposób powiadomień różni się w zależności od platformy:
Komunikaty push i powiadomienia to 2 oddzielne, ale uzupełniające się technologie. Push to technologia wysyłania wiadomości z Twojego serwera do użytkowników, nawet jeśli gdy nie korzystają aktywnie z witryny. Powiadomienia to technologia wyświetlając przekazane informacje na urządzeniu użytkownika. Możesz użyć funkcji powiadomienia, nie używając wiadomości push. Pewnego dnia może być także możliwe użycie funkcji wiadomości push bez powiadomień widocznych dla użytkowników (ciche wiadomości push), ale przeglądarki na którym jest to niedozwolone. W praktyce są one zwykle używane razem. Użytkownicy bez wiedzy technicznej prawdopodobnie nie zrozumieją różnicy między push wiadomości i powiadomienia. W tej kolekcji, gdy Powiadomienia push. To połączenie przekazywania wiadomości. a potem wyświetla go jako powiadomienie. Kiedy mówimy Wiadomości push nie mamy na myśli samopoczucia technologii. A gdy mówimy powiadomienia ponieważ mamy na myśli technologię powiadomień.
Dlaczego warto korzystać z powiadomień push?
- Z punktu widzenia użytkowników powiadomienia push to sposób na otrzymywanie natychmiastowych, trafnych, i dokładne informacje.
- Dla Ciebie (właściciela witryny) powiadomienia push to sposób na zwiększenie zaangażowanie użytkowników.
Jak działają powiadomienia push?
Ogólnie rzecz biorąc, kluczowe kroki związane z wdrażaniem powiadomień push to:
- dodać logikę klienta, aby poprosić użytkownika o zgodę na wysyłanie powiadomień push; a następnie wysyłanie informacji o identyfikatorze klienta do Twojego serwera, by przechowywać je w bazie danych.
- Dodano funkcje logiczne serwera do wysyłania wiadomości do urządzeń klienckich.
- Dodanie logiki klienta do odbierania wiadomości przekazanych na urządzenie i wyświetlanie ich jako powiadomień.
Dokładniejsze informacje znajdziesz w dalszej części tej strony.
Uzyskiwanie uprawnień do wysyłania powiadomień push
Po pierwsze, Twoja witryna musi uzyskać zgodę użytkownika na wysyłanie powiadomień push.
Powinno to być aktywowane gestem użytkownika, na przykład kliknięciem przycisku Tak.
obok promptu Do you want to receive push notifications?
. Po potwierdzeniu
zadzwoń do: Notification.requestPermission()
. System operacyjny lub
przeglądarka na urządzeniu użytkownika prawdopodobnie wyświetli jakiś interfejs, by formalnie potwierdzić, że
użytkownik chce włączyć powiadomienia push. Ten interfejs różni się w zależności od platformy.
Subskrybowanie powiadomień push klienta
Gdy otrzymasz zgodę, Twoja witryna musi rozpocząć proces zasubskrybowanie powiadomień push. Służą do tego JavaScript, za pomocą interfejsu Push API. Musisz podać publiczny klucz uwierzytelniania w trakcie procesu subskrypcji. Więcej informacji na ten temat znajdziesz później. Po rozpoczynasz proces subskrypcji, przeglądarka wysyła żądanie sieciowe do usługi sieciowej nazywanej usługą push, o której także dowiesz się więcej później.
Zakładając, że subskrypcja się udała, przeglądarka zwraca
PushSubscription
obiektu. Te dane należy przechowywać przez dłuższy czas.
Zwykle odbywa się to przez wysłanie informacji do kontrolowanego przez Ciebie serwera,
a następnie serwer do przechowywania ich w bazie danych.
Wyślij wiadomość push
Serwer nie wysyła komunikatu push bezpośrednio do klienta. O robi to push service. Usługa push to usługa sieciowa kontrolowana przez dostawcy przeglądarki użytkownika. Gdy chcesz wysłać do klienta powiadomienie push , aby wysłać żądanie usługi sieciowej do usługi push. Usługa sieciowa żąda, wysyłane do usługi push to żądanie protokołu Web push. Żądanie protokołu web push powinno zawierać:
- Jakie dane należy zawrzeć w wiadomości.
- Klient, do którego ma zostać wysłana wiadomość.
- Instrukcje dotyczące sposobu dostarczania wiadomości przez usługę push. Na przykład: może określić, że usługa push powinna przestać próbować wysłać wiadomość po 10 minutach.
Normalnie żądania są wysyłane przez protokół Web push przez serwer, który kontrolujesz. Oczywiście Twój serwer nie musi tworzyć surowego żądania usługi sieciowej, Istnieją biblioteki, które mogą to załatwić, takie jak web-push-libs. Mechanizmem bazowym jest jednak żądania usługi sieciowej przez HTTP.
Usługa push odbiera żądanie, uwierzytelnia je i kieruje do odpowiedniego klienta. Jeśli przeglądarka klienta jest offline, usługa umieszcza komunikat push w kolejce do czasu przejścia przeglądarki w tryb online.
Każda przeglądarka używa dowolnej usługi push. Ty jako programista witryn nie mają nad tym kontroli. To nie jest problem, ponieważ protokół web push jest standaryzowane. Innymi słowy, nie musisz wiedzieć, która usługa push jest używana przez dostawcę przeglądarki. . Musisz tylko upewnić się, że Twoje żądanie protokołu Web push jest zgodne ze specyfikacją. Specyfikacja wskazuje między innymi, że żądanie musi zawierać określone nagłówki a dane muszą być wysyłane jako strumień bajtów.
Musisz się jednak upewnić, że wysyłasz protokół Web push
do właściwej usługi push. Dane PushSubscription
tworzone przez
przeglądarka zwracana podczas procesu subskrypcji zapewnia
i informacjami o nich. Obiekt PushSubscription
wygląda tak:
{
"endpoint": "https://fcm.googleapis.com/fcm/send/c1KrmpTuRm…",
"expirationTime": null,
"keys": {
"p256dh": "BGyyVt9FFV…",
"auth": "R9sidzkcdf…"
}
}
Domena endpoint
jest zasadniczo usługą push. Ścieżka parametru
endpoint
to informacje o identyfikatorze klienta, które pomagają usłudze push określić
dokładnie do którego klienta ma zostać przekazana wiadomość.
Interfejsy keys
są używane do szyfrowania, co zostało wyjaśnione poniżej.
Szyfrowanie wiadomości push
Dane wysyłane do usługi push muszą być zaszyfrowane. Zapobiega to
usłudze push, tak aby nie mogła wyświetlać danych wysyłanych do klienta.
Pamiętaj, że to dostawca przeglądarki decyduje, której usługi push użyć.
usługa push może teoretycznie być niebezpieczna lub niebezpieczna. Serwer musi używać
protokół keys
udostępniony w PushSubscription
do szyfrowania protokołu web push
żądań.
Podpisywanie żądań protokołu Web push
Usługa push uniemożliwia innym osobom wysyłanie wiadomości na Twój użytkowników. Technicznie nie trzeba tego robić, ale najprostszą metodą jest to, Chrome go wymaga. W przeglądarce Firefox jest opcjonalny. Inne przeglądarki mogą go wymagać w przyszłości.
Ten przepływ pracy obejmuje klucz prywatny i klucz publiczny, które są unikalne dla Twojego aplikacji. Proces uwierzytelniania wygląda mniej więcej tak:
- Klucz prywatny i publiczny generuje się jednorazowo. Kombinacja klucza prywatnego i publicznego jest nazywany kluczy serwera aplikacji. Mogą być też nazywane VAPID . VAPID to specyfikacji definiującej ten proces uwierzytelniania.
- Gdy zasubskrybujesz powiadomienia push z kodu JavaScript,
musisz podać swój klucz publiczny. Gdy usługa push generuje
endpoint
dla urządzenia, łączy podany klucz publiczny zendpoint
. - Wysyłając żądanie protokołu Web push, podpisujesz niektóre informacje JSON za pomocą klucza prywatnego.
- Gdy usługa push otrzymuje żądanie internetowego protokołu push, używa zapisanego za pomocą klucza publicznego do uwierzytelniania podpisanych informacji. Jeśli podpis jest ważny będzie wiedzieć, że żądanie pochodzi od serwera z zgodny klucz prywatny.
Dostosowywanie sposobu dostarczania wiadomości push
Specyfikacja żądania internetowego protokołu push określa też parametry, które pozwalają dostosować sposób, w jaki usługa push próbuje wysłać wiadomość push do klienta. Możesz na przykład dostosować:
- Wartość TTL wiadomości, która określa, jak długo usługa push powinna próba dostarczenia wiadomości.
- Pilność wiadomości, która jest przydatna, jeśli usługa push żywotności baterii klienta przez dostarczanie tylko wiadomości o wysokim priorytecie.
- Temat wiadomości, który zastępuje wszystkie oczekujące wiadomości tego samego tematu. z najnowszą wiadomością.
Odbieraj przekazywane wiadomości i wyświetlaj je jako powiadomienia.
Po wysłaniu do usługi push żądania internetowego protokołu push usługa zachowuje żądanie oczekuje w kolejce do czasu wystąpienia jednego z tych zdarzeń:
- Klient przechodzi w tryb online, a usługa push dostarcza komunikat push.
- Wiadomość wygaśnie.
Gdy przeglądarka klienta otrzyma przekazaną wiadomość, odszyfrowuje ją
i wysyła zdarzenie push
do Twojej usługi
instancji roboczej. Skrypt service worker jest
który może działać w tle, nawet jeśli witryna
nie jest otwarta lub przeglądarka jest zamknięta. W zdarzeniu push
Twojego skryptu service worker
moduł obsługi, który wywołuje ServiceWorkerRegistration.showNotification()
, aby wyświetlić informacje
jako powiadomienie.
Co dalej
- Omówienie powiadomień push w sieci
- Jak działa push
- Subskrybowanie użytkownika
- UX uprawnień
- Wysyłanie wiadomości za pomocą bibliotek Web Push
- Protokół Web Push Protocol
- Obsługa zdarzeń push
- Wyświetlanie powiadomienia
- Działanie powiadomień
- Typowe wzorce powiadomień
- Najczęstsze pytania na temat powiadomień push
- Typowe problemy i zgłaszanie błędów