Przejdź do treści

· 7 min · Bartłomiej Bal

Powiadomienia push w PWA — możliwości i ograniczenia (iOS/Android)

Powiadomienia push w PWA działają inaczej na Androidzie i inaczej na iOS. Wyjaśniamy, co realnie da się wdrożyć, jakie są ograniczenia Apple i jak zaplanować tę funkcję świadomie.

Okładka wpisu „Powiadomienia push w PWA — możliwości i ograniczenia (iOS/Android)” na blogu 2bi.pl

Powiadomienia push w PWA to jedna z funkcji, która najbardziej zbliża progresywną aplikację webową do wrażenia korzystania z aplikacji natywnej — komunikat o nowym zamówieniu, promocji czy statusie rezerwacji pojawia się na ekranie telefonu bez konieczności otwierania strony. Problem w tym, że działanie tej funkcji różni się w zależności od systemu i przeglądarki, a część ograniczeń, szczególnie na iOS, potrafi zaskoczyć firmy, które planują wdrożenie bez wcześniejszego sprawdzenia szczegółów technicznych.

W tym artykule wyjaśniamy, jak technicznie działają powiadomienia push w PWA, czym różni się ich obsługa na Androidzie i iOS, jakie warunki trzeba spełnić, żeby użytkownik w ogóle je otrzymał, oraz jak podejść do planowania tej funkcji tak, by nie obiecywać klientom czegoś, czego system nie jest w stanie zapewnić.

Jak działają powiadomienia push w PWA

Mechanizm powiadomień push w progresywnej aplikacji webowej opiera się na dwóch elementach, które opisaliśmy szerzej w przewodniku po PWA: service workerze działającym w tle oraz odpowiedniej konfiguracji manifestu aplikacji. Sam proces wysyłki komunikatu wygląda następująco:

  • Zgoda użytkownika — przeglądarka pyta użytkownika, czy zgadza się na otrzymywanie powiadomień z danej strony. Bez tej zgody wysyłka jest niemożliwa.
  • Rejestracja subskrypcji — po zgodzie przeglądarka generuje unikalny identyfikator subskrypcji, który aplikacja zapisuje na swoim serwerze i wykorzystuje przy każdej kolejnej wysyłce.
  • Wysyłka przez serwer push — komunikat trafia najpierw do usługi push danej przeglądarki (inna dla Chrome, inna dla Safari), a dopiero stamtąd do service workera na urządzeniu użytkownika.
  • Wyświetlenie powiadomienia — service worker odbiera dane w tle i wyświetla systemowe powiadomienie, nawet jeśli aplikacja nie jest w danym momencie otwarta.

Ten sam mechanizm działa w tle niezależnie od tego, czy telefon ma system Android czy iOS, natomiast to, co dzieje się na każdym z etapów i jakie warunki trzeba spełnić po drodze, różni się na tyle, że warto rozpatrywać obie platformy osobno.

Powiadomienia push w PWA na Androidzie

Android, a dokładniej przeglądarka Chrome i inne przeglądarki oparte na silniku Chromium, wspiera powiadomienia push w PWA od lat i traktuje je jako standardową funkcję webową. W praktyce oznacza to, że:

  • Powiadomienia działają zarówno wtedy, gdy aplikacja jest dodana do ekranu głównego, jak i wtedy, gdy użytkownik korzysta wyłącznie z przeglądarki, bez instalacji.
  • Prośba o zgodę na powiadomienia pojawia się w standardowym oknie systemowym, dobrze znanym użytkownikom z innych stron internetowych.
  • Powiadomienia mogą zawierać ikonę, obraz, tytuł, treść oraz przyciski akcji, co pozwala na przykład od razu przejść do konkretnego zamówienia bez otwierania całej aplikacji.
  • Powiadomienia zwykle docierają bez problemu, choć system może je opóźnić w trybie oszczędzania baterii, a Chrome potrafi sam cofnąć zgodę stronie, której powiadomień użytkownik od dawna nie otwiera.

Dla firm planujących wdrożenie PWA głównie z myślą o użytkownikach Androida — co wciąż stanowi istotną część rynku mobilnego w Polsce — powiadomienia push można traktować jako funkcję w pełni dojrzałą i przewidywalną, zbliżoną pod względem możliwości do tego, co oferują aplikacje natywne.

Powiadomienia push w PWA na iOS — na czym polegają ograniczenia

Historia wsparcia dla powiadomień push na iPhone'ach jest znacznie krótsza i bardziej złożona. Przez wiele lat Safari w ogóle nie obsługiwało tej funkcji dla stron dodanych do ekranu głównego. Sytuacja zmieniła się, ale nadal wiąże się z warunkami, które warto znać przed planowaniem projektu:

  • Wymóg dodania do ekranu głównego — na iOS powiadomienia push działają wyłącznie dla aplikacji, którą użytkownik faktycznie dodał do ekranu głównego telefonu. Samo odwiedzenie strony w Safari, bez instalacji, nie pozwala na ich włączenie.
  • Zgoda proszona osobno w aplikacji — użytkownik musi najpierw otworzyć zainstalowaną PWA, a dopiero wtedy pojawia się możliwość wyrażenia zgody na powiadomienia, co wydłuża ścieżkę w porównaniu z Androidem.
  • Ograniczenia w starszych wersjach systemu — obsługa powiadomień push w PWA pojawiła się w iOS 16.4 (marzec 2023), więc użytkownicy ze starszym systemem z niej nie skorzystają.
  • Mniejsza elastyczność wyglądu — możliwości personalizacji wyglądu powiadomienia (dodatkowe obrazy, rozbudowane przyciski akcji) bywają węższe niż na Androidzie.

W efekcie planowanie kampanii opartej wyłącznie na powiadomieniach push dla użytkowników iPhone'a, którzy nie zainstalowali aplikacji na ekranie głównym, jest z góry skazane na brak działania — nie z powodu błędu we wdrożeniu, lecz ze względu na architekturę systemu. To jeden z powodów, dla których warto najpierw ocenić, czy PWA w ogóle pasuje do modelu biznesowego danej firmy, o czym piszemy w artykule kiedy PWA ma sens.

Co to oznacza w praktyce dla projektu

Konsekwencją tych różnic jest to, że skuteczność powiadomień push w PWA zależy w dużej mierze od tego, ilu użytkowników faktycznie zainstalowało aplikację na ekranie głównym, a nie tylko odwiedziło stronę. Dlatego proces instalacji i moment, w którym aplikacja prosi o dodanie do ekranu głównego, mają bezpośredni wpływ na to, ile osób w ogóle będzie mogło otrzymywać powiadomienia — szczególnie na iOS. Instrukcję instalacji na Androidzie, iPhonie i komputerze, którą można przekazać użytkownikom, znajdziesz w tekście jak zainstalować PWA.

Kiedy warto wdrażać powiadomienia push w PWA

Powiadomienia push mają sens tam, gdzie użytkownik odnosi z nich realną korzyść, a nie tylko tam, gdzie technicznie da się je uruchomić. Warto rozważyć tę funkcję w przypadku:

  • sklepów internetowych, które chcą informować o statusie zamówienia, dostawie czy powrocie produktu na stan magazynowy,
  • aplikacji rezerwacyjnych i usługowych, w których przypomnienie o nadchodzącej wizycie zmniejsza liczbę nieodbytych spotkań,
  • serwisów z treścią, które chcą informować o nowych publikacjach lub materiałach dopasowanych do zainteresowań użytkownika,
  • paneli klienta i systemów B2B, gdzie powiadomienie o nowej fakturze czy zmianie statusu usługi realnie oszczędza czas odbiorcy.

Jeśli natomiast celem jest wyłącznie wysyłanie treści promocyjnych bez konkretnej wartości dla odbiorcy, warto liczyć się z tym, że użytkownicy szybko wyłączą powiadomienia w ustawieniach — niezależnie od tego, czy korzystają z Androida, czy z iPhone'a.

Jak zaplanować wdrożenie powiadomień push krok po kroku

Wdrożenie tej funkcji w projekcie PWA zwykle obejmuje kilka etapów:

  1. Ustalenie celu powiadomień — decyzja, jakie konkretnie zdarzenia biznesowe mają wywoływać wysyłkę (na przykład zmiana statusu zamówienia, nowa wiadomość, przypomnienie o rezerwacji).
  2. Zaprojektowanie momentu proszenia o zgodę — poproszenie o zgodę na powiadomienia zaraz po wejściu na stronę zwykle kończy się odmową; lepszym rozwiązaniem jest poproszenie o nią w kontekście, gdy użytkownik już zrozumiał wartość aplikacji, na przykład po złożeniu pierwszego zamówienia.
  3. Konfiguracja backendu do wysyłki — przygotowanie serwera, który przechowuje subskrypcje użytkowników i wysyła komunikaty w odpowiednim momencie.
  4. Testy na obu platformach — sprawdzenie zachowania na Androidzie i osobno na iOS, z uwzględnieniem tego, że na iOS test ma sens wyłącznie po zainstalowaniu aplikacji na ekranie głównym.
  5. Monitorowanie zgód i rezygnacji — obserwacja, ilu użytkowników wyraża zgodę, a ilu z niej rezygnuje, co pozwala ocenić, czy częstotliwość i treść powiadomień są dopasowane do oczekiwań odbiorców.

Warto też z góry założyć, że część użytkowników iPhone'a nigdy nie zainstaluje aplikacji na ekranie głównym i nigdy nie otrzyma powiadomień push — dla nich kluczowe komunikaty (na przykład o statusie zamówienia) powinny mieć alternatywny kanał, taki jak e-mail lub SMS.

Najczęstsze pytania

Czy powiadomienia push w PWA działają tak samo jak w aplikacji natywnej?

Na Androidzie możliwości są zbliżone. Na iOS działają węziej i wymagają wcześniejszego zainstalowania aplikacji na ekranie głównym, co jest dodatkowym krokiem nieobecnym przy standardowych aplikacjach natywnych pobieranych ze sklepu. Pełne zestawienie obu podejść znajdziesz w tekście PWA vs aplikacja natywna.

Czy użytkownik iPhone'a otrzyma powiadomienie bez instalacji aplikacji?

Nie. Na iOS powiadomienia push w PWA są dostępne wyłącznie po dodaniu aplikacji do ekranu głównego. Samo odwiedzenie strony w Safari nie pozwala na ich włączenie.

Od jakiej wersji iOS działają powiadomienia push w PWA?

Od iOS i iPadOS 16.4, wydanych w marcu 2023 roku. Starsze urządzenia, które nie dostały tej aktualizacji, nie otrzymają powiadomień niezależnie od tego, jak zbudowana jest aplikacja.

Czy da się wysyłać powiadomienia bez zgody użytkownika?

Nie, w żadnej przeglądarce ani systemie. Zgoda jest wymagana zarówno na Androidzie, jak i na iOS, a próba jej ominięcia nie jest technicznie możliwa w zgodzie ze standardami przeglądarek.

Co zrobić, jeśli powiadomienia push nie dotrą do części użytkowników iOS?

Warto zaplanować dodatkowy kanał komunikacji, na przykład e-mail lub SMS, dla najważniejszych informacji, takich jak status zamówienia czy potwierdzenie rezerwacji, tak aby użytkownicy iPhone'a bez zainstalowanej aplikacji również otrzymywali kluczowe komunikaty.

Jeśli planujesz wdrożenie PWA i zastanawiasz się, jak realistycznie zaprojektować powiadomienia push dla Twoich użytkowników na Androidzie i iOS, chętnie przeanalizujemy Twój przypadek. Szczegóły podejścia opisaliśmy na stronie usługi budowy PWA.

Potrzebujesz tego u siebie, a nie tylko wiedzy o tym, jak to działa?

Zobacz, jak to robimy

Bartłomiej Bal

Prowadzi agencję 2BInteractive (2bi.pl), która projektuje i wdraża strony internetowe, sklepy i aplikacje webowe. Więcej o agencji