Notifikace nového emailu

Notifikace nového emailu
« kdy: 24. 04. 2023, 14:53:20 »
Zdravím, zkoušel jsem na dvou různých Android telefonech a narazil jsem na následující problém. Předem díky pokud máte nějaký tip ...

Primární gmail účet upozorňuje na nový email (zobrazí se na mobilu notifikace), když přidám druhý účet (imap) email dorazí, ale notifikace se nezobrazí. Jeden mobil je Samsung Galaxy Flip s nejnovějším Androidem, druhý mobil má starší Android. Ale nejde to na žádném ...

Notifikace mám povoleny, oznámení o nových emailech pro oba účty, synchronizaci emailů, optimalizace baterie pro Gmail vypnuta, Data na pozadí zapnuta, vymazána mezipaměť gmail aplikace .

Máte někdo podobný problém ? Díky !


Re:Notifikace nového emailu
« Odpověď #1 kdy: 24. 04. 2023, 15:21:28 »
Ten primární účet posílá notifikace do mobilu speciálním kanálem pro notifikace. Tj. mobil může být částečně uspaný, server pošle notifikaci o novém e-mailu, mobilní síť pošle mobilu signál, že pro něj má data, mobil se probudí do plného běhu, přijme komunikaci a zobrazí notifikaci.

Pro IMAP ten kanál pro notifikace neexistuje. Server neví nic o nějakém kanálu pro notifikace, který vede na klienta. Je tam jenom komunikace přes IMAP – takže kdybyste chtěl dostávat notifikace přes IMAP, musel by mít klient trvale otevřené spojení na IMAP server, průběžně ho oživovat a tím držet otevřený kanál, kterým by bylo možné informaci o nové zprávě poslat. To by se vám asi nelíbilo, protože by vám to pravděpodobně vycuclo baterku mobilu za pár hodin.

Re:Notifikace nového emailu
« Odpověď #2 kdy: 24. 04. 2023, 16:06:27 »
Ten primární účet posílá notifikace do mobilu speciálním kanálem pro notifikace. Tj. mobil může být částečně uspaný, server pošle notifikaci o novém e-mailu, mobilní síť pošle mobilu signál, že pro něj má data, mobil se probudí do plného běhu, přijme komunikaci a zobrazí notifikaci.

Mobilní síť pošle mobilu signál, že pro něj má data? Uhf? Tak to ale přece vůbec nefunguje. Ty notifikace se řeší na L7, tj. na aplikační úrovni, mobilní síť s tím nic společného nemá, tohle jsou vše internetové služby.

Je to problém implementace IMAP protokolu na klientu a podpory na straně serveru. Gmail je implementován přes svoji api. O jakého email klienta se jedná? A kdo provozuje imap?

IMAP protokol podporuje příkaz IDLE (to tady je 25 let), kdy klient si vyžádává od serveru informace o nových zprávách. Je ale nutná aktivní spolupráce klienta, TCP spojení se neudržuje věčně, ale klient se musí zeptat, v rfc je myslím horní čas kolem 30 min, prakticky se ptají klienti rychleji.

Problém u imapu je, že IDLE je druhý kanál, pokud si klient sám emaily v rámci nějakého kolečka stáhne, IMAP mu už IDLE/PUSH neposkytne a pokud klient má navázané notifikace pouze na IDLE, nezobrazí ti notifikace. Tenhle problém měla celá řada klientů vč. Outlooku.

Zkus jiného email klienta, na Android jich máš celou řadu, třeba nějaký bude notifikace zobrazovat přesněji.

Re:Notifikace nového emailu
« Odpověď #3 kdy: 24. 04. 2023, 16:36:40 »
Funguje to tak. Já jsem nikde nepsal, že ta „data“ je nějaká speciální vlastnost mobilní sítě. Z hlediska aplikace je to obyčejný TCP/IP paket – ale mobilní síť musí mobilu signalizovat, že s ním bude komunikovat, a je jedno, jestli mu bude předávat TCP/IP paket z navázaného spojení, nebo UDP paket, nebo sestavovat telefonní hovor, nebo posílat SMS. Podstatné je to, že to trvale otevřené TCP/IP spojení neznamená trvalou rádiovou komunikaci s mobilní sítí.

Mobilní notifikace fungují tak, že si mobil drží trvale otevřené TCP/IP spojení k notifikačnímu serveru. Takže když notifikační server potřebuje mobilu poslat zprávu, pošle ji do tohoto otevřeného spojení. (Kdybychom měli všude IPv6, nebylo by to potřeba – prostě by se navázalo spojení zvenku. Bohužel všude možně je IPv4 a NATy, takže to spojení musí otvírat klient.) Tohle spojení je vyladěné tak, aby se jím přenášelo co nejméně neužitečných dat, ale zároveň aby pokud možno vydrželo otevřené, i když různé zařízení po cestě budou mít pocit, že už se tam dlouho nic nedělo a budou mít tendenci spojení zapomínat.

Nicméně to, že má mobil otevřené TCP/IP spojení, ho nenutí zůstávat ve stavu největší aktivity a neustále být v rádiovém spojení se sítí, což by mu výrazně ubíralo kapacitu baterky. Takže mobil se klidně uspí na nižší úroveň spotřeby. Protože ví, že až notifikační server pošle do toho stále otevřeného TCP/IP spojení další paket, ten se doručí do mobilní sítě, mobilní síť se bude snažit ten paket doručit na mobil, takže mu pošle zprávu, že pro něj má nějaká data, takže s ním potřebuje komunikovat. A v rámci komunikace mu pak pošle ten paket (a mobil ho vzápětí potvrdí, aby to server neposílal znova).

Takže ano, je to na aplikační úrovni na L7, ale mobilní síť s tím má společného to, že ty internetové služby běží přes mobilní síť.

Pokud mobil není k internetu připojen přes mobilní síť ale přes WiFi, je to totéž v bledě modrém.

To samé by se dalo udělat i s IMAP, ovšem musel byste vyladit klienta i server tak, aby si drželi co nejdéle otevřené spojení s co nejmenším provozem. A do toho se asi nikdo nepouští, protože velká část lidí používá nativní aplikace s nativními protokoly, jen menšina používá IMAP. A ti, kdo používají IMAP, mají různé klienty a různé servery, takže by bylo těžké vyladit to kombinaci klienta a serveru tak, aby to fungovalo stejně dobře, jako u těch nativních aplikací. Navíc mobilní operační systémy nemají rády aplikace, které na pozadí pořád někam komunikují – protože to prostě vysává baterku.

_Jenda

  • *****
  • 1 605
    • Zobrazit profil
    • https://jenda.hrach.eu/
    • E-mail
Re:Notifikace nového emailu
« Odpověď #4 kdy: 24. 04. 2023, 21:38:57 »
To samé by se dalo udělat i s IMAP, ovšem musel byste vyladit klienta i server tak, aby si drželi co nejdéle otevřené spojení s co nejmenším provozem.
Například na iPhone by to pokud vím nešlo, protože iPhone aplikace na pozadí uspí/zabije a TCP spojení po pár minutách vytuhne. Jediný podporovaný způsob, jak tohle zařídit, je posílat notifikace přes Apple push službu. Koukl bych se, jestli tvůrci emailového klienta nějakou takovou službu (které se řekne "franta@vomacka.cz má nový mail" a ona to přepošle přes apple notification službu do mobilu, který se k tomuto přihlásil) neposkytují.


jjrsk

  • *****
  • 526
    • Zobrazit profil
Re:Notifikace nového emailu
« Odpověď #5 kdy: 24. 04. 2023, 22:16:47 »
...
Necti Jirsakoviny ... a vymen klienta. Imap to samozrejme umi, pokud to umi server.


Re:Notifikace nového emailu
« Odpověď #6 kdy: 25. 04. 2023, 09:37:25 »
Necti Jirsakoviny ... a vymen klienta. Imap to samozrejme umi, pokud to umi server.
Kdybyste připojil odkaz do Google Play na konkrétní aplikaci, nevyzněla by vaše odpověď tak hloupě.

Re:Notifikace nového emailu
« Odpověď #7 kdy: 25. 04. 2023, 10:19:10 »
Krásně jste to tu technicky rozebrali, ale není to odpověď na otázku. Jednoduše je to chyba klienta. Dlouho jsem hledal funkční aplikaci, která by mi spolehlivě dávala notifikace na všechny účty. Největší problém byl účet přes exchange, při filtrování emailů do složek na straně serveru. Vše mi po správném nastavení spolehlivě funguje na klientovi Nine. Sice stál asi 400 Kč, ale funguje absolutně bez problémů.

Pro správnou funkčnost gmailu je potřeba v experimentálních funkcích nastavit funkci IMAP4 IDLE, nechat Nine běžet na pozadí a mít zaplé Plánování prioritních push notifikací. Samozřejmě neblokovat na straně Androidu automatické spuštění aplikace a mít pro aplikaci vypnutou optimalizace baterie. Co se týče spotřeby baterie, tak je i takto nižší než spotřeba Gmail aplikace.

https://play.google.com/store/apps/details?id=com.ninefolders.hd3&hl=cs&gl=US

Re:Notifikace nového emailu
« Odpověď #8 kdy: 25. 04. 2023, 14:25:10 »
Děkuji všem, těžko vysvětlovat lidem že kvůli notifikaci musejí mít další mail aplikaci a nestačí jim Gmail aplikace pro Android  ...
Jinak server je Forpsi ... Skutečně přišla notifikace po cca 17 minutách, škoda, že nelze Imap "vybírat častěji", jinak nejsem zdaleka sám
"https://www.reddit.com/r/GooglePixel/comments/ccjyyi/only_notifications_for_1_out_of_2_gmail_accounts/"

jsme tedy nejméně dva lidé na světě co chtějí JEDNU aplikaci, více účtů a více notifikací ... :)
Zlatý BlackBerry ...

viste

Re:Notifikace nového emailu
« Odpověď #9 kdy: 25. 04. 2023, 20:50:10 »
Používám FairEmail https://play.google.com/store/apps/details?id=eu.faircode.email s účty (skrze IMAP):
  • 2x Gmail
  • Seznam
  • Centrum
  • Outlook.cz

Notifikace chodí do minuty, baterku to nijak zvlášť nežere.

_Jenda

  • *****
  • 1 605
    • Zobrazit profil
    • https://jenda.hrach.eu/
    • E-mail
Re:Notifikace nového emailu
« Odpověď #10 kdy: 25. 04. 2023, 22:08:41 »
Krásně jste to tu technicky rozebrali, ale není to odpověď na otázku. Jednoduše je to chyba klienta.
Já nevím jak to funguje na Androidu, ale na iPhone s tím AFAIK klient nemůže nic udělat, protože ty notifikace se musí posílat přes Apple, a tam je musí pushnout ten mailserver, kdo taky jiný. Na Androidu může aplikace na pozadí mít trvale otevřené spojení někam a nežere to moc baterku?

Zmiňované BlackBerry to pokud vím řešilo tak, že kompletní IMAP přihlašovací údaje poslalo na server BB/RIM, ten se na ten IMAP připojil a spojení držel (nemá omezení co do komunikace/baterky), a mobil komunikoval s tímto serverem speciálním protokolem. Je to taky řešení, ale nabili si ústa když BB přestalo po nějaké době ty servery provozovat. (brát s rezervou, nejsem na tuto problematiku expert)

Rejp: tady zase vidíme, jak ten nenáviděný model Applu walled garden překvapivě funguje - Apple prostě zakáže idlení na pozadí, autory aplikací to donutí řešit notifikace správně přes jednu push službu, a uživatel z toho pak má lepší UX (aplikace mu nevyžerou baterku). Je to smutné, ale je to tak.

Re:Notifikace nového emailu
« Odpověď #11 kdy: 26. 04. 2023, 09:14:12 »
Krásně jste to tu technicky rozebrali, ale není to odpověď na otázku. Jednoduše je to chyba klienta.
Já nevím jak to funguje na Androidu, ale na iPhone s tím AFAIK klient nemůže nic udělat, protože ty notifikace se musí posílat přes Apple, a tam je musí pushnout ten mailserver, kdo taky jiný. Na Androidu může aplikace na pozadí mít trvale otevřené spojení někam a nežere to moc baterku?

Zmiňované BlackBerry to pokud vím řešilo tak, že kompletní IMAP přihlašovací údaje poslalo na server BB/RIM, ten se na ten IMAP připojil a spojení držel (nemá omezení co do komunikace/baterky), a mobil komunikoval s tímto serverem speciálním protokolem. Je to taky řešení, ale nabili si ústa když BB přestalo po nějaké době ty servery provozovat. (brát s rezervou, nejsem na tuto problematiku expert)

Rejp: tady zase vidíme, jak ten nenáviděný model Applu walled garden překvapivě funguje - Apple prostě zakáže idlení na pozadí, autory aplikací to donutí řešit notifikace správně přes jednu push službu, a uživatel z toho pak má lepší UX (aplikace mu nevyžerou baterku). Je to smutné, ale je to tak.

Nechápu proč to blití ohledně Applu. Nikoho nezajímá uzamčený systém Apple a už vůbec nechápu, v čem má být ta výhoda. Na Androidu můžete regulovat běh aplikací na pozadí systémem, ale pokud nechcete, můžete toto omezení vypnout. Aplikace si může držet spojení dle potřeby, případně se dá regulovat spojení pomocí dalších aplikací a to i bez rootu. S rootem můžete mít absolutní kontrolu každého portu a každé aplikace. Kde výhoda Applu? Btw, spotřebu baterie klienta Nine (data netečou skrz jejich server, vše je spojeno napřímo s mailservery, takže ani po cestě nekolektují data) mám 1,1% z celku a to včetně aktivního používání. Běží mi tam 2 účty na IMAP4 IDLE a jeden přes Microsoft exchange na push.

Bugsa

  • ***
  • 128
    • Zobrazit profil
    • E-mail
Re:Notifikace nového emailu
« Odpověď #12 kdy: 26. 04. 2023, 14:22:23 »
Používám FairEmail https://play.google.com/store/apps/details?id=eu.faircode.email s účty (skrze IMAP):
  • 2x Gmail
  • Seznam
  • Centrum
  • Outlook.cz

Notifikace chodí do minuty, baterku to nijak zvlášť nežere.

Přesně. Taky používám FairEmail k naprosté spokojenosti. Aplikace Gmail taky umí notifikovat uživatele přes IMAP, ale není to okamžité (PUSH), ale kontroluje se v pravidelných intervalech, které uživatel nastaví.

Re:Notifikace nového emailu
« Odpověď #13 kdy: 26. 04. 2023, 16:04:06 »
.

Re:Notifikace nového emailu
« Odpověď #14 kdy: 26. 04. 2023, 16:13:57 »
Všem moc děkuji za odpovědi !