Ako na notifikacie mobilneho klienta z webu?

hknmtt

Ako na notifikacie mobilneho klienta z webu?
« kdy: 09. 12. 2022, 12:00:34 »
Potrebujem mobilnym klientom posielat notifikacie z weboveho backendu(nova reakcia na komentar, novy lajk, nova sukromna sprava... klasika proste). Nema pre mna financny zmysel programovat nativneho klienta pre mobilnu platformu oproti mobilnej verzii webstranky. Pri webe vznika problem absencie konstantneho spojenia(teda ked uzivatel zavrie stranku). Na desktope je to v poriadku ale na mobile nie lebo mobily su prave o tom konstantnom napojeni.

Co som cital, tak by ako riesenie malo stacit pouzitie nativnych JS service workerov, notification api a push api.

Zaujimalo by ma teda, ci je to naozaj funkcne riesenie a mozem teda naozaj pouzit len webstranku pre mobilnych uzivatelov a zabezpecit posielanie notifikacii bez nutnosti naprogramovania nativnej aplikacie... a taktiez ako vlastne na to?

Co som videl, tak service worker sa vlastne tvari iba ako proxi na kesovanie requestov, a teda nemozem tam len dopisat nejaku slucku s long poll stylom kontroly na nove notifikacie na serveri. Cize tomu uplne moc nerozumiem. A co som pozeral push api, tak videl som ze teda je js api ale nevidel som serverovu implementaciu. Aky format a protokol to vyzaduje(sse, ws, http2 server push, json, jsonl, ....)?


Re:Ako na notifikacie mobilneho klienta z webu?
« Odpověď #1 kdy: 09. 12. 2022, 14:09:27 »
Ano, Push API a Notification API jsou ty správné technologie. Akorát to ještě nepodporuje applovské Safari – je to tam schované pod developer flagem, takže se to dá zapnout, ale ve výchozím nastavení to není zapnuté. Očekávalo se, že to bude zpřístupněno letos na jaře, ale nestalo se tak.

Doporučuji začít zde: https://caniuse.com/push-api Na záložce Resources najdete odkazy na specifikaci a dokumentaci, včetně příkladů serverového řešení.

Re:Ako na notifikacie mobilneho klienta z webu?
« Odpověď #2 kdy: 09. 12. 2022, 15:20:18 »
používám https://ntfy.sh, je možné provozovat i u sebe, autorovi jsem už poslal pár příspěvků, velice užitečná aplikace.

Push api ti nebude fungovat na iOS a macu.

Re:Ako na notifikacie mobilneho klienta z webu?
« Odpověď #3 kdy: 13. 12. 2022, 00:38:54 »
Jen zvídavá otázka: bavíte se tu o té věci, která se v češtině v prohlížeči jmenuje "Oznámení" a ve výchozím nastavení má „nejprve se zeptat“?
« Poslední změna: 13. 12. 2022, 00:41:20 od WIFT ​​​​​​​​​​ »

Re:Ako na notifikacie mobilneho klienta z webu?
« Odpověď #4 kdy: 13. 12. 2022, 08:30:31 »
Jen zvídavá otázka: bavíte se tu o té věci, která se v češtině v prohlížeči jmenuje "Oznámení" a ve výchozím nastavení má „nejprve se zeptat“?
Ne.


hknmtt

Re:Ako na notifikacie mobilneho klienta z webu?
« Odpověď #5 kdy: 13. 12. 2022, 09:19:34 »
Ale ano, to je notification api, lenze aby to robilo co ma tak je treba push api(= server posle klientovi info a z toho sa potom spravi notifikacia) + service worker, ktory so serverom komunikuje aj ked uzivatel nema otvorenu stranku. ide len o to ako to pozliepat dokopy, na to som sa pytal.

Re:Ako na notifikacie mobilneho klienta z webu?
« Odpověď #6 kdy: 13. 12. 2022, 10:02:57 »
Ale ano, to je notification api, lenze aby to robilo co ma tak je treba push api(= server posle klientovi info a z toho sa potom spravi notifikacia) + service worker, ktory so serverom komunikuje aj ked uzivatel nema otvorenu stranku. ide len o to ako to pozliepat dokopy, na to som sa pytal.
K tomu, co chcete, potřebujete dvě věci – Push API a Notification API. Dohromady se tomu říká Web Notifiactions.

No a WIFT pravděpodobně reagoval na poznámku, že technologie Push API není v Safari ještě dostupná (resp. je pod vývojářským flagem). Jenže to, co ukázal, je Notification API. Takže ano, notifikace na Safari zobrazit můžete, ale jenom z otevřené stránky. Vy jste ale chtěl posílat notifikace i v případě, kdy uživatel vůbec nemá otevřený prohlížeč, k čemuž potřebujete Push API, které v Safari ještě není veřejně dostupné.

hknmtt

Re:Ako na notifikacie mobilneho klienta z webu?
« Odpověď #7 kdy: 15. 12. 2022, 14:48:25 »
Teraz som cital nieco o tom ze na adroide idu tieto notifikacie iba s pouzitim google firebase a teda nutnost pouzitia gogole cloudu. Je to naozaj tak?

Re:Ako na notifikacie mobilneho klienta z webu?
« Odpověď #8 kdy: 15. 12. 2022, 15:01:51 »
Teraz som cital nieco o tom ze na adroide idu tieto notifikacie iba s pouzitim google firebase a teda nutnost pouzitia gogole cloudu. Je to naozaj tak?
Nikoli. Google Firebase je jedna ze služeb, která poskytuje notifikace nativním aplikacím. Push API je obecné API v prohlížeči, které implementuje tvůrce prohlížeče. Ono to pro Chrome nakonec přes Google půjde, ale pro autora webové stránky je to transparentní, ten používá to obecné API.

hknmtt

Re:Ako na notifikacie mobilneho klienta z webu?
« Odpověď #9 kdy: 15. 01. 2023, 09:23:42 »
keby niekto chcel otestovat, tu som nasiel online demo https://webpushdemo.azurewebsites.net/

na androide mi to funguje na vsetkych prehliadacoch okrem ddg kde je to ale mozno len otazka nastaveni.
jedine negativum je ze ked mam stranku pripnutu na ploche tak oznamenie sa zobrazi na ikone prehliadacu a nie ikone webky, i ked url je totozna. ale to je drobnost.

ios neviem ci tam bezi.

Re:Ako na notifikacie mobilneho klienta z webu?
« Odpověď #10 kdy: 17. 02. 2023, 11:36:50 »
Třkrát hurá, Push API konečně míří i do Safari na iOS: https://webkit.org/blog/13878/web-push-for-web-apps-on-ios-and-ipados/

Tonda

  • *****
  • 635
    • Zobrazit profil
    • E-mail
Re:Ako na notifikacie mobilneho klienta z webu?
« Odpověď #11 kdy: 18. 02. 2023, 12:04:18 »
keby niekto chcel otestovat, tu som nasiel online demo https://webpushdemo.azurewebsites.net/
Vyzkoušel sem na Win 10 a při vypnutém prohlížeči se notifikace zobrazí jen v Edge. Ve FF a Chrome se zobrazí až po spuštění prohlížeče.

Re:Ako na notifikacie mobilneho klienta z webu?
« Odpověď #12 kdy: 18. 02. 2023, 13:10:25 »
Vyzkoušel sem na Win 10 a při vypnutém prohlížeči se notifikace zobrazí jen v Edge. Ve FF a Chrome se zobrazí až po spuštění prohlížeče.
Musíte nechat běžet prohlížeč alespoň v režimu, kdy je schopen přijímat notifikace. Když neběží vůbec, žádné notifikace samozřejmě přijmout nemůže. Jestli se nemýlím, Chrome ve Windows zůstává standardně běžet na pozadí, pokud to nevypnete: https://www.omgchrome.com/stop-chrome-running-in-background-windows/

Tonda

  • *****
  • 635
    • Zobrazit profil
    • E-mail
Re:Ako na notifikacie mobilneho klienta z webu?
« Odpověď #13 kdy: 18. 02. 2023, 19:26:29 »
Tohle zapnuté mám, ale prohlížeč sem zavíral přes menu -> exit. Každopádně dbrý vědět, že to není jako notifikace do Android aplikací, kdo to přijde fakt vždycky.

Re:Ako na notifikacie mobilneho klienta z webu?
« Odpověď #14 kdy: 18. 02. 2023, 21:54:52 »
Tohle zapnuté mám, ale prohlížeč sem zavíral přes menu -> exit. Každopádně dbrý vědět, že to není jako notifikace do Android aplikací, kdo to přijde fakt vždycky.
Ona i na tom Androidu běží neustále nějaká služba na pozadí, která to přijme. Rozdíl je v tom, že na Androidu nemáte moc možnost ovlivňovta, co se spustí automaticky po startu a poběží na pozadí, na Windows to víc ovlivňuje uživatel. Obojí má své výhody i nevýhody.