Przejdź do głównej zawartości

Powiadomienia push

Jonot wysyła klientowi powiadomienie systemowe, gdy jego bilet przechodzi w stan CALLED, nawet gdy przeglądarka działa w tle lub telefon jest zablokowany. Powiadomienia wysyła też wtedy, gdy pominięty bilet zostaje przywołany i ponownie wywołany.

  1. Klient zamierza dołączyć do kolejki i widzi ekran wyboru kolejki.
  2. Nad listą kolejek pojawia się karta zgody na powiadomienia push — klient dotyka Powiadom mnie i przed dołączeniem udziela przeglądarce uprawnienia.
  3. Przeglądarka rejestruje subskrypcję Web Push.
  4. Klient dołącza do kolejki i otrzymuje bilet. Serwer wiąże subskrypcję z biletem.
  5. Gdy stanowisko wywołuje bilet, serwer wysyła wiadomość push do wszystkich aktywnych subskrypcji tego biletu.
  6. Urządzenie klienta budzi się i pokazuje powiadomienie systemowe z numerem biletu, nazwą kolejki i lokalizacją. Dotknięcie powiadomienia otwiera ekran biletu.
  7. Jonot usuwa subskrypcję, gdy bilet osiąga stan końcowy (COMPLETED, CANCELED lub NO_SHOW). Usuwa też wygasły punkt końcowy, na przykład gdy klient wypisze się z subskrypcji lub cofnie uprawnienie w przeglądarce.

Klienci, którzy nie wyrazili zgody na ekranie wyboru kolejki, mogą to zrobić z ekranu biletu — karta powiadomień jest tam widoczna, dopóki bilet jest w stanie WAITING lub CALLED.

Jeśli bilet przechodzi w stan SKIPPED, jego subskrypcja push pozostaje aktywna. Gdy personel przywróci bilet do stanu WAITING i wywoła go ponownie, klient dostaje powiadomienie, nawet jeśli strona biletu jest zamknięta.

Klient, który włączył powiadomienia i odszedł, nie musi trzymać przeglądarki otwartej.

StanWidok
Monit (uprawnienie jeszcze nie zażądane)Karta CTA zgody (ekran wyboru kolejki + ekran biletu)
Uprawnienie przyznane + zasubskrybowanoPotwierdzenie „Powiadomimy Cię — możesz zamknąć tę kartę”
Uprawnienie odrzuconeWskazówki zapasowe + link do ustawień przeglądarki
Przeglądarka nieobsługiwanaNic (pomijane bez powiadomienia)

Po zasubskrybowaniu przeglądarka może dostarczać powiadomienia, gdy karta jest zamknięta lub działa w tle. Strona biletu nie musi pozostawać otwarta.

Jeśli strona biletu traci połączenie, na przykład przy krótkiej przerwie w łączności, pojawia się znacznik Utracono połączenie — ponowne łączenie…. Widać go tylko dla biletów, które nie osiągnęły stanu końcowego, i nie przy pierwszym wczytaniu strony. Połączenie wraca automatycznie, gdy sieć jest dostępna.

iOS Safari 16.4+ obsługuje Web Push, ale tylko wtedy, gdy aplikacja została dodana do ekranu głównego (tryb samodzielny). W zwykłej przeglądarce iOS Safari:

  • Ekran wyboru kolejki pokazuje nad listą kolejek kartę z instrukcją Dodaj Jonot do ekranu głównego.
  • Po dodaniu do ekranu głównego klient otwiera Jonot z ikony na ekranie głównym i widzi standardowe CTA zgody.

Każda subskrypcja push należy do jednego biletu i trwa tylko przez cykl życia tego biletu. Jonot nie może jej użyć do wiadomości promocyjnych ani masowych. Powiadomienie wysyła wyłącznie przejście biletu w stan CALLED.

Podstawa RODO / zgody: subskrypcja jest powiązana z biletem, który klient właśnie utworzył. Ta sama podstawa zgody (prawnie uzasadniony interes / wykonanie umowy), która obejmuje sam bilet, obejmuje też to pojedyncze powiadomienie. Nie jest wymagane odrębne zebranie zgody.

  • Standardy: Web Push z szyfrowaniem ładunku zgodnie z RFC 8291 (AES-128-GCM) i żądaniami uwierzytelnianymi VAPID zgodnie z RFC 8292.
  • Przechowywanie subskrypcji: każda subskrypcja jest powiązana z jednym biletem i zostaje automatycznie usunięta, gdy ten bilet osiąga stan końcowy.