Hlavní navigace

Upozornění už vám mohou posílat i weby, dokonce i když je nemáte otevřené

Marek Janouš

S první implementací „push notifications“ přichází Google Chrome 42, a to na Androidu i v počítačích.

V minulém týdnu vyšla ostrá verze 42 prohlížeče Google Chrome a udělala významný krok na cestě k tomu, aby webové aplikace mohly soupeřit s nativními: nabízí první implementaci doručovaných oznámení (push notifications).

Webová stránka nebo aplikace může jejich prostřednictvím zpravit uživatele o něčem i tehdy, kdy není v prohlížeči otevřena a zobrazena. Ovšem jen s jeho předchozím svolením.

Novinka se týká jak Chromu na Androidu, tak na systémech „stolních“ (a také Chrome OS). V obou světech se tím odstraňuje nedostatek oproti aplikacím systému vlastním: měla‑li webová aplikace (vlastně její server) na něco upozorňovat uživatele kdykoli, dosud se to řešilo zvláštním rozšířením pro prohlížeč.

Zda určitý web nazývat nebo nenazývat „aplikací“, to je čistě otázka vnímání uživatelem. Technicky žádná hranice není.

Doručovaná oznámení jsou v počátcích

Nečekejte, že se s nimi setkáte hned — beta Chromu 42 vyšla teprve v březnu. Ale první doručování by se mohla objevit už za několik týdnů — blog Chromia oznámil, že je uvedou mobilní weby mimo jiné Facebooku, Pinterestu, eBay, dále Beyond the Rack, FanSided, Product Hunt a VICE News.

Výhledově nezůstanou oznámení výsadou Google Chromu. Mozilla cílí na implementaci Push API ve Firefoxu 40. Microsoft však zatím podporu teprve zvažuje.

Uživatelům Safari na Macu lze zasílat oznámení už od vydání systému OS X Mavericks. Webové servery mohou využít služby APN (Apple Push Notification service). Dosáhnou tak však pouze na uživatele OS X, v iOS se oznámení nezobrazí.

Oznámení z pohledu uživatele

Google vydal zatím jen stručná doporučení, kterými by se weby měly řídit, nechtějí‑li uživatele odradit a otrávit ještě dříve, než se tato funkce rozšíří. Nedejte se zmást tím, že v odkazovaném dokumentu najdete obrazovky mobilu. Doporučení platí obdobně i na počítači.

Ukázka možné implementace
Autor: Google

Ukázka možné implementace

Google nabádá, aby aplikace zobrazila uživateli nabídku k odběru teprve poté, co nějakým způsobem dostatečně projevil, že by mohl mít o odběr zájem; dále doporučuje dobře vysvětlit, co se nabízí, a nastavování odběru (včetně odhlašování) mít na webu snadno přístupné.

Google varuje, že dokonce zkoumá možnost, že by zablokoval zobrazování nabídek z těch webů, u kterých zaznamená, že uživatelé jejich nabídky k odběru převážně pomíjejí nebo odmítají, nebo že dokonce často ruší předchozí souhlas s odběrem.

Jak vypadají a jak se chovají dotazy i oznámení ve vašem Chromu, to si můžete zkusit naživo pomocí jednoduché ukázkové apky. Na oznámení lze také kliknout, a tak se přenést na URL určenou odesílatelem.

Celkově povolujete nebo zamezujete oznámení v pokročilých nastaveních Chromu. Ve výchozím nastavení vám pro každý web zobrazí dotaz ještě sám prohlížeč. Nabídky na doručování máte možnost pro kteroukoli adresu zakázat, nebo obecně zcela zakázat, nebo naopak povolit bez dodatečného dotazu od prohlížeče.

Mimo Android a Chrome OS vám zatím žádná oznámení nedojdou, pokud Chrome neběží. Budou vám doručena teprve tehdy, až si Chrome spustíte, ale jen pokud jim mezitím nevypršela časová platnost nastavená odesílajícím serverem. Ten určuje i to, zda novější oznámení mají starší nahrazovat — jako aktuálnější zpráva o tomtéž — nebo zda jsou oznámení na sobě obsahově nezávislá, a mají vám proto dojít všechna zmeškaná, kterým dosud nevypršela platnost.

Implementace na straně oznamujícího serveru

Současné řešení není dokonalou implementací Push API, jež je dosud v návrhu, tak jako i Notification API. Nadto obchází potřebu Permission API, které v Chromu 42 ještě chybí, přitom následuje hned v Chromu 43 (nyní v betě). Doručování je prozatím řešeno jinak, než jak by mělo vypadat, až bude podpora pro oznámení úplná a standardy hotovy.

Doručování z pohledu vývojáře popisuje Google na webu HTML5 Rocks: jednak potřebujete vytvořit uživatelské ovládání přihlašování nebo odhlašování odběru, jednak si na zpracování doručených oznámení musíte v kódu své webové stránky (aplikace) zaregistrovat do uživatelova prohlížeče obslužný skript (service worker).

Push API počítá s tím, že oznámení doručujete uživateli prostřednictvím serveru třetí strany, tedy doručovací služby (push service). Google implementoval pro Chrome doručování skrze službu GCM (Google Cloud Messaging). Jenže GCM zatím nepodporuje teprve chystané Web Push API; zatím se doručuje skrze GCM API, a tak musíte provést několik kroků, které časem zřejmě odpadnou, nebo se změní: ve vývojářské konzole na GCM musíte mít založený projekt, a tedy mít přiděleno jeho číslo a klíč k API, a pro svou aplikaci vytvořit manifest.

Přihlásí‑li si některý uživatel odběr oznámení, získáte tím jeho subscriptionId, vlastně jeho „doručovací adresu“ skrze GCM; konkrétní odběr je určen spárováním s endpoint, což je URL na GCM, kam budete oznámení zasílat ze svého serveru.

Obojí údaje musíte udržovat ve vlastní databázi a tu aktualizovat podle toho, jakých odpovědí se vám dostává od GCM i v obslužném skriptu na straně uživatele.

Od zamýšlené konečné implementace se tato předběžná liší i v tom, že v oznámení nelze poslat žádná data. Ta teprve musíte vyzvednout obslužným skriptem ze svého serveru. Posílání dat spolu s oznámením je totiž chystaným Push API podmíněno tím, že data se budou posílat zašifrovaně, ale Chrome 42 to tak ještě neumí.

Doručení prozatím vždy musí zobrazit oznámení uživateli. Nelze mu něco podsouvat na pozadí. O možnosti „tiché synchronizace“ se teprve diskutuje a uvažuje.

Co s doručováním provede obecný web?

Možnost zobrazovat uživateli upozornění a oznámení je pro některé webové aplikace zásadní, a až Google dopracuje také to, abyste ani na počítači nemuseli mít kvůli tomu Chrome viditelně spuštěn, setře se jeden citelný rozdíl oproti aplikacím pro Windows (nebo pro Mac či Linux).

Táž funkce se však nabízí i obecnému webu — projektům malým jako velkým. Budou s ní zacházet nápaditě, ale rozumně, nebo spíše nezodpovědně? Anebo zůstanou oznámení jen na okraji zájmu? To uvidíme spíše tak za rok nebo za dva.

Našli jste v článku chybu?

23. 4. 2015 15:25

Koupili youtube: postujte videa, milí uživatelé, nic se nezměnilo, jenom se nám hezky zaregistrujte a udělte nám souhlas, že do budoucna užíváním teď už naší služby souhlasíte automaticky se vším. Další krok:
Teď nám sdělte jméno a další osobní údaje, ale nebojte, zůstane to soukromé. Další kolečko salámu:No a teď pro změnu můžete postnout videa a komentáře jen pod pravým jménem.
No a dále doba pokročila přátelé, takže si sjednoťte všechny účty pod svým pravým jménem a mimochodem možná o tom nev…

23. 4. 2015 9:25

To asi neznáš salámovou techniku google, napřed to bude na povolení, pak to bude povolené automaticky a budeš to muset zakázat, pak půjdou zakázat jenom některé věci a nějak se to zkomplikuje, takže nikomu nebude stát za to číst manuál jak si to nastavit...

DigiZone.cz: Recenze Westworld: zavraždit a...

Recenze Westworld: zavraždit a...

Podnikatel.cz: V restauraci bez cigaret? Sněmovna kývla

V restauraci bez cigaret? Sněmovna kývla

Podnikatel.cz: 3, 2, 1..EET startuje. Na co nezapomenout?

3, 2, 1..EET startuje. Na co nezapomenout?

Měšec.cz: Vklad na cizí účet je draze zpoplatněn (přehled)

Vklad na cizí účet je draze zpoplatněn (přehled)

Měšec.cz: Zdravotní a sociální pojištění 2017: Připlatíte

Zdravotní a sociální pojištění 2017: Připlatíte

DigiZone.cz: Rádio Šlágr má licenci pro digi vysílání

Rádio Šlágr má licenci pro digi vysílání

Měšec.cz: Za palivo zaplatíte mobilem (TEST)

Za palivo zaplatíte mobilem (TEST)

Root.cz: Mirai má nový cíl 5 milionů routerů

Mirai má nový cíl 5 milionů routerů

DigiZone.cz: NG natáčí v Praze seriál o Einsteinovi

NG natáčí v Praze seriál o Einsteinovi

Měšec.cz: Jak levně odeslat balík přímo z domu?

Jak levně odeslat balík přímo z domu?

Root.cz: 250 Mbit/s po telefonní lince, když máte štěstí

250 Mbit/s po telefonní lince, když máte štěstí

Vitalia.cz: Jmenuje se Janina a žije bez cukru

Jmenuje se Janina a žije bez cukru

Root.cz: Telegram spustil anonymní blog Telegraph

Telegram spustil anonymní blog Telegraph

Vitalia.cz: Když přijdete o oko, přijdete na rok o řidičák

Když přijdete o oko, přijdete na rok o řidičák

Vitalia.cz: Mondelez stahuje rizikovou čokoládu Milka

Mondelez stahuje rizikovou čokoládu Milka

Podnikatel.cz: Udávání kvůli EET začalo

Udávání kvůli EET začalo

120na80.cz: Stoná vaše dítě často? Upravte mu jídelníček

Stoná vaše dítě často? Upravte mu jídelníček

DigiZone.cz: Perspektivy TV v roce 1939 podle časopisu Life

Perspektivy TV v roce 1939 podle časopisu Life

Vitalia.cz: Spor o mortadelu: podle Lidlu falšovaná nebyla

Spor o mortadelu: podle Lidlu falšovaná nebyla

Vitalia.cz: Nahradí sluch, ale zvuk je zcela jiný

Nahradí sluch, ale zvuk je zcela jiný