Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Registrovat service worker, co je vlastne JS subor ktory sa stiahne do browsera a zije tam aj po zavreti nasho webu. Service worker sa stara o samotne pocuvanie na event push notifikacie a ich nasledne spracovanie a zobrazenie.
  2. Vyziadat subscription, ktory nam vrati tri udaje:
    1. endpoint - URL, na ktoru sa posielaju requesty (momentalne bud len push.mozilla.com alebo fcm.google.com) - jedinecna pre kazdy subscription
    2. auth - cosi ako heslo daneho usera
    3. p256dh - public kluc usera
  3. Tieto udaje treba ulozit do nasej db a v podstate pri kazdej navsteve stranky, kde sa vykonava script pre subscribnutie, overovat ci tieto udaje sedia, resp. ich asi rovno zakazdym znova ukladat lebo sa mozu zmenit. Najma ak clovek vypne a znova zapne notifikacie. V aktualnom ukazkovom scripte je to cast v subscribeUserToPush() za poznamkou "ked prebehol subscription" kde sa ziskavaju endpoint a kluce. Tam treba zavolat AJAXom spominany service pre ulozenie udajov o userovom subscriptione.
  4. Nezabudnut, ze v javascripte sa pri subscribovani pouziva public kluc servera, ktory sedi s privatnym klucom, ktory sa pouziva pri odosielani notifikacie. Preto pri generovani noveho kluca ho treba nastavit priamo do JS suboru, resp. k nemu musi mat dany obsluzny JS pristup.
  5. Nejake nasledne "zakazanie notifikacii" by sme skor mali riesit na nasej strane, t.j. si ukladat nejake nastavenia per user (kedze by sme asi chceli aj delit napr. ake typy notifikacii chce / nechce) a tym padom v podstate neriesime ziadne zakazovanie z hladiska Web Push API. Cela rozhodovacie logika by mala byt na serveri pre lepsiu kontrolu.

...