Google Chrome od verzie 42 podporuje Push API cez servery Google Používanie GCM Tieto výzvy na prístup k upozorneniam ste už pravdepodobne videli. Ak povolíte prístup, stránka vám bude môcť posielať upozornenia. Táto funkcia je úplne nová a málokto o nej vie, no podľa môjho názoru má už teraz veľké nevýhody:
  • Každá stránka požaduje povolenia v prehliadači, je ťažké kontrolovať, koľko zdrojov vám teraz môže posielať upozornenia, každá má svoj vlastný proces na pozadí, ktorý sa prebúdza samostatne, chýba história prijatých upozornení ani filtrovanie, chýba synchronizácia odberov medzi zariadení
  • Stránky potrebujú posielať upozornenia priamo na zariadenia, sledovať relevantnosť databázy zariadení, monitorovať zariadenie každého používateľa individuálne
  • Táto funkcia funguje iba na stránkach s protokolom SSL.

Sprostredkujúca služba, ktorá sa stará o všetky tieto funkcie, môže vyriešiť vzniknuté problémy.

Trochu teórie

Hlavný článok, na ktorom som túto funkciu vlastne robil, nájdete
Stručne povedané, prehliadač vytvorí Service-Worker (dostupný od Chrome 40), ide o proces na pozadí v JS. Nepracuje neustále na pozadí, ale reaguje na rôzne požiadavky zvonku. Napríklad, keď príde správa push. Samozrejme, nevyžaduje otvorte stránku. Navyše to funguje, aj keď je prehliadač zatvorený (dobre, nie úplne zatvorený, ale na pozadí.)

Keď príde správa Push, prehliadač zobrazí upozornenia. To je všetko. To vám umožní plne implementovať príjem push notifikácií bez akýchkoľvek aplikácií, navyše to funguje na androide v mobilnom chrome! Zo zjavných nedostatkov možno identifikovať v tento moment skutočnosť, že nie je možné odoslať payload v push správe, t.j. samotná správa. Google to pripisuje bezpečnostným problémom a hlási, že v Chrome 44 je problém úplne vyriešený a prehliadač bude môcť prijímať údaje priamo. Podľa niektorých správ, ak bol prehliadač zatvorený, žiadosť sa k nemu nedostane. Tento problém je vyriešený vyhodením všetkých upozornení, ktoré neboli potvrdené pri prijatí ďalšej správy.

Ako PushAll rieši problém

Upozornenia môžete posielať cez Push API aj bez webovej stránky. To znamená, že môžete vytvoriť kanál a odosielať upozornenia manuálne, buď zo servera cez curl, alebo pripojením kanála RSS. V tomto prípade používateľ povolí prístup na odoslanie na stránku PushAll.
Zároveň vývojár nemusí myslieť na to, komu pošle notifikáciu. V aplikácii pre Android, v doplnku pre Chrome alebo priamo cez Push API. Môže poslať správu tuctu používateľov, ale v skutočnosti pôjde na každé z 2-3 zariadení každého používateľa. V budúcnosti to bude zahŕňať ďalšie prehliadače a iné platformy ako iOS a WP.

Testovanie

Funkcia bola napísaná len včera a preto je potrebné testovanie.

Ak chcete otestovať upozornenia prostredníctvom rozhrania Push API, musíte prejsť na webovú stránku PushAll.ru a prihlásiť sa pomocou svojho účtu Google.

Ihneď po prihlásení sa dostanete do adresára kanálov. Vpravo hore je prepínač, ktorý zapína novú funkciu.

Po povolení vás Chrome požiada o prístup k upozorneniam. Potom musíte prejsť do sekcie profilu a „pingnúť“ zariadenie

Napíšte mi osobne alebo do komentárov, ako fungujú notifikácie. Niektorí ľudia mali problémy s upozorneniami a rád by som situáciu napravil. Skontrolujte si aj upozornenia na svojom Android smartfón. Pri testovaní si myslím, že v katalógu nájdete niekoľko zaujímavých kanálov.

Okamžite, aby neboli žiadne otázky: nie je potrebné dostávať všetky upozornenia z kanálov. Prihlásili ste sa na odber kanála, znova ho otvorili - otvorili filter, vstúpili Kľúčové slová. Na tie témy, ktoré sú pre vás dôležité, sa v prvom rade okamžite odošlú upozornenia na zariadenia a zvyšok si môžete prečítať zo samotných stránok (to platí napríklad pre kanál SoHabr alebo televízne seriály)

vyhliadky

Táto funkcia vám umožňuje osloviť veľké publikum používateľov. Pre mnohých ľudí je ťažké nainštalovať aplikáciu alebo doplnok, ale stlačenie niekoľkých tlačidiel nie je ťažké.
V budúcnosti napíšem špeciálny widget pre stránky. Na jedno kliknutie bude možné robiť 4 veci naraz.
  • Registrovať.
  • Vstúpiť
  • Prihlásiť sa na odber
  • Povoľte upozornenia rozhrania Push API v prehliadači.
To znamená, že používateľ klikne na tlačidlo, bude požiadaný o prístup k účtu Google, bude požiadaný o prístup k upozorneniam - to je všetko. Používateľ je pripravený prijímať upozornenia. Navyše, ak si používateľ potom stiahne aplikáciu pre akúkoľvek inú platformu, bude naďalej dostávať upozornenia z vašej stránky, až kým sa z nich neodhlási v osobný účet. Zároveň moja služba umožňuje posielať aj na mobilné zariadenia upozornenia bez inštalácie aplikácie!

Push - notifikácia, čo to je? Ide o typ upozornenia, ktoré sa zobrazí po vstupe na určité stránky v pravom alebo ľavom hornom rohu okna prehliadača a ponúka prihlásenie na odber noviniek, aktualizácií stránok alebo iných zmien na portáli, ktorý ste navštívili. Vo všeobecnosti, zjednodušene povedané, ide o vyskakovacie okno s výzvou na prihlásenie na odber stránky.

Určite nemám nič proti odberom akéhokoľvek druhu. Napríklad, ak sa vám páči a je pre vás užitočný materiál, ktorý je zverejnený na našej webovej stránke, môžete sa k nám jednoducho prihlásiť pomocou rovnakého RSS alebo pomocou formulára na odber pošty a tiež sa k nám pripojiť skupina VK alebo nás sledujte na YouTube. A čo je najdôležitejšie, môžete to urobiť z vlastnej iniciatívy, a nie preto, že sa zobrazí okno so slovom „ Prihlásiť sa, prihlásiť sa, predplatiť».

Obľúbenosť takýchto push notifikácií ešte len začína rásť, v dôsledku čoho sa stále viac stránok snaží zaviesť podobné na vlastnú päsť. Som si istý, že všetky spravodajské stránky majú túto funkciu povolenú už dlhší čas.

Najprekvapujúcejšie je, že móda upozornení tohto druhu práve začala naberať na obrátkach a už je všetkých dosť unavená. Mnohí ich porovnávajú s tým istým rušivá reklama a vyskakovacie okná, ktoré len prekážajú a otravujú.

V tomto návode vám teda ukážem, ako vypnúť upozornenie na odber v nastaveniach prehliadača a navždy sa zbaviť tohto otravného vyskakovacieho okna.

Zakázanie upozornení push v prehliadači Mozilla Firefox

V zásade sa vypnutie zobrazovania upozornení, takmer vo všetkých prehliadačoch, vyskytuje priamo v nastaveniach. Ukázalo sa však, že Firefox je výnimkou, áno, v nastaveniach môžete vypnúť upozornenia začiarknutím políčka „Nerušiť“ v nastaveniach obsahu, ale budú zablokované iba do reštartovania prehliadača.

Hneď ako znova otvoríte Firefox, značka, ktorú ste predtým nastavili, sa automaticky zruší a všetko sa začne odznova. Táto možnosť samozrejme nebude vyhovovať všetkým, takže pre používateľov, ktorí chcú raz a navždy vypnúť upozornenia push, by ste mali urobiť nasledovné:

Hodnota, ktorú nastavíte na false, znamená, že sa už nebudete obťažovať odberom upozornení push.

Blokovanie upozornení push v prehliadači Google Chrome

V prehliadači Chrome je vypnutie upozornení oveľa jednoduchšie, pretože to môžete urobiť v bežných nastaveniach a nemusíte ísť do konfigurácie prehliadača.


V prípade potreby reštartujeme prehliadač a tešíme sa z absencie neustále vyskakujúcich ponúk na prijímanie upozornení z navštívených stránok.

Ako sa zbaviť upozornení push v prehliadači Yandex

Ďalším bude nemenej slávny prehliadač Yandex. Určite veľa ľudí vie, že na vytvorenie tohto prehliadača bol použitý rovnaký engine ako v Chrome, takže aj nastavenia sú takmer totožné.


Napríklad z nejakého dôvodu sa moje nastavenia uložili až po druhýkrát, neviem, s čím to súvisí, možno som namiesto tlačidla „Dokončiť“ klikol na krížik a zavrel okno, v dôsledku toho z ktorých nastavenia neboli uložené. Hlavná vec je, že na druhýkrát všetko vyšlo a žiadosť o odber upozornení zmizla.

Je možné v Opere vypnúť upozornenia push?

A samozrejme neobídeme ani operu. Viem, že veľmi veľký počet používateľov ho stále radšej používa. Preto je tu návod na zakázanie push notifikácií pre Operu.


Vo všeobecnosti sa nastavenia ani veľmi nelíšia od predchádzajúcich prehliadačov, ale v zásade to nie je dôležité, hlavná vec je, že teraz nás už nebudú obťažovať žiadosti o prijímanie upozornení zo stránky.

Ako zakázať push (push) upozornenia Prehliadač Yandex, Chrome, Firefox a Opera

Ako vypnúť upozornenia push - táto otázka znepokojuje niektorých používateľov, ktorí vidia upozornenia v prehliadači po prihlásení na mnohých stránkach na internete. Push technológia je určená na distribúciu informácií na internete od poskytovateľa, v tomto prípade stránky, k používateľovi tejto stránky.

Push notifikácie pre stránku sú potrebné na informovanie návštevníkov webu o novinkách, hlavne o vydaní nových článkov. V tomto prípade návštevník dostáva upozornenia zo stránky včas a môže si ihneď prečítať novinky.

Upozornenia v mene stránky sa odosielajú pomocou služby tretej strany, ktorá organizuje doručovanie upozornení do počítačov používateľov.

Čo je to push notifikácia v počítači? Ak návštevník stránky súhlasí s prijímaním komunikácie od tento zdroj, potom sa z času na čas na pracovnej ploche používateľa objavia upozornenia o novinkách tohto webu.

Ako fungujú upozornenia push

Pri návšteve stránky, ktorá má povolenú funkciu zasielania upozornení, sa návštevníkovi zakaždým zobrazí žiadosť o povolenie zobrazovania upozornení, v ktorej sa navrhuje kliknúť na tlačidlo „Povoliť“ alebo „Zablokovať“. Názvy tlačidiel môžu byť rôzne, ale význam je všade rovnaký.

Návštevník stránky môže toto kontextové okno ignorovať, pretože okno žiadosti o upozornenie push je malé a neprekáža pri prehliadaní stránky.

Vzhľad takýchto okien sa líši v závislosti od služby, ktorá posiela upozornenia z tejto stránky.

Kliknutím na tlačidlo „Povoliť“ súhlasíte s prijímaním správ push na váš počítač.

V oblasti oznámení na pracovnej ploche počítača používateľa sa zobrazia upozornenia na novinky na tejto webovej stránke. Zvyčajne ide o správu o vydaní nového článku. Niektoré stránky zneužívajú možnosť posielať upozornenia, upozorňujú na všetko za sebou, niekedy posielajú zbytočné informácie.

Po prijatí oznámenia push môže používateľ prejsť na stránku a prečítať si článok alebo zatvoriť upozornenie ignorovaním tejto správy. Takéto upozornenia zo stránok prakticky nezasahujú do práce na počítači, pretože sa zobrazujú v oblasti oznámení a po krátkom čase sa samy zatvoria.

Ak chcete zabrániť tomu, aby sa žiadosť o povolenie posielať upozornenia z tejto stránky už nezobrazovala pri ďalšej návšteve tejto stránky, kliknite na tlačidlo „Blokovať“.

Ak už dostávate správy push z konkrétnej lokality, používateľ môže zakázať upozornenia push vo svojom prehliadači, v ktorom povolil prijímanie upozornení na svojom počítači.

Ako odstrániť upozornenia push po prijatí upozornenia

V mnohých notifikáciách, v závislosti od nastavení služby, ktorá notifikácie posiela, môžete zakázať push notifikácie priamo v okne otvorenej správy.

Ak to chcete urobiť, kliknite na ikonu nastavení (ozubené koliesko) a potom vyberte možnosť „Vypnúť upozornenia z lokality“.

Potom sa už upozornenia z tejto stránky nebudú zobrazovať vo vašom počítači.

Ako zakázať upozornenia push v prehliadači Google Chrome

Zadajte nastavenia prehliadača Google Chrome, rolujte kolieskom myši nadol a kliknite na odkaz „Rozšírené“.

V časti „Ochrana osobných údajov a zabezpečenie“ kliknite na tlačidlo „Nastavenia lokality“. V okne „Nastavenia lokality“, ktoré sa otvorí, nájdite časť „Upozornenia“.

Tu môžete nastaviť prijímanie upozornení zo stránok. V predvolenom nastavení je vybratá možnosť „Pred odoslaním požiadať o povolenie (odporúča sa)“.

Ak chcete odstrániť upozornenia push v Prehliadač Google Chrome, aktivujte položku "Nezobrazovať upozornenia na stránkach."

Ak chcete zabrániť prijímaniu upozornení z konkrétnej stránky, kliknite na tlačidlo „Pridať“, ktoré sa nachádza oproti parametru „Blokovať“.

V okne "Pridať lokalitu" zadajte adresu lokality a potom kliknite na tlačidlo "Pridať".

Ak chcete nakonfigurovať príjem push správ, kliknite na tlačidlo „Pridať“ umiestnené oproti možnosti „Povoliť“.

V okne, ktoré sa otvorí, pridajte požadovanú stránku do zoznamu stránok, z ktorých máte povolené prijímať upozornenia v prehliadači Google Chrome.

Ako zakázať správy push v prehliadači Mozilla Firefox (1 spôsob)

Zadajte nastavenia prehliadača Mozilla Firefox, otvorte sekciu „Ochrana osobných údajov a zabezpečenie“. V možnosti „Povolenia“ prejdite na možnosť „Upozornenia“.

Začiarknite políčko vedľa položky Vypnúť upozornenia, kým sa Firefox nereštartuje. Potom sa upozornenia Push nebudú zobrazovať, kým nebude vypnutý prehliadač Mozilla Firefox.

Ak chcete spravovať upozornenia, kliknite na tlačidlo „Nastavenia...“. V okne "Možnosti - Povolenie na zobrazovanie upozornení" je zoznam stránok, z ktorých sú upozornenia povolené alebo blokované.

Ak je vedľa stránky stav „Blokovať“, upozornenia z tejto lokality sa vo vašom počítači nezobrazujú, pretože ste predtým zablokovali žiadosť o odosielanie upozornení z tejto lokality.

Ak je vedľa adresy lokality stav „Povoliť“, na vašom počítači sa zobrazia upozornenia z tejto lokality.

Ľubovoľnú lokalitu môžete zo zoznamu odstrániť pomocou tlačidla Odstrániť webovú lokalitu alebo odstrániť všetky lokality zo zoznamu kliknutím na tlačidlo Odstrániť všetky webové lokality.

Potom sa nové upozornenia zo vzdialenej lokality nebudú zobrazovať na ploche vášho počítača. Keď znova navštívite túto stránku, odmietnite žiadosť o prijímanie upozornení.

Ak chcete zablokovať prijímanie nových správ z iných stránok, ako sú uvedené v tomto zozname, začiarknite políčko „Blokovať nové žiadosti o zasielanie upozornení“.

Ak chcete dokončiť konfiguráciu poradia prijímania upozornení, kliknite na tlačidlo „Uložiť zmeny“.

Ako odstrániť upozornenia push v prehliadači Mozilla Firefox (2 spôsoby)

Ak chcete úplne vypnúť upozornenia Prehliadač Mozilla Firefox, musíte zadať skryté nastavenia prehliadača.

Do panela s adresou zadajte výraz: "about:config" (bez úvodzoviek). V okne, ktoré sa otvorí, kliknite na tlačidlo „Prijímam riziko!“.

V novom okne zadajte do poľa „Hľadať“ výraz: „dom.webnotifications.enabled“ (bez úvodzoviek) a potom stlačte kláves „Enter“.

Toto nastavenie je predvolene "true". Zvýraznite čiaru, kliknite kliknite pravým tlačidlom myši myšou, z kontextového menu zvoľte "Prepnúť". Hodnota parametra sa zmení na "false".

Ako zakázať upozornenia push v prehliadači Yandex

Zadajte nastavenia prehliadača Yandex, prejdite na kartu „Stránky“.

V sekcii „Stránky“ prejdite na možnosť „Žiadosti o odosielanie upozornení“. Tu sú tri možnosti akcie:

  • Zobraziť požiadavky na odoslanie (odporúča sa).
  • Nezobrazovať žiadosti o odoslanie.
  • Automaticky sa prihlásiť na odber upozornení.

Vyberte požadovanú možnosť, ktorá upravuje postup prijímania správ push. Ak chcete úplne zakázať všetky upozornenia push v prehliadači Yandex, vyberte možnosť „Nezobrazovať žiadosti o odosielanie“.

Ak potrebujete nakonfigurovať príjem jednotlivých upozornení, kliknite na odkaz „Na iných stránkach“. Ďalej v okne „Odosielanie upozornení“ vyberte, ktoré upozornenia push chcete blokovať a ktoré povoliť.

Otvorte kartu „Povolené“ alebo „Zakázané“, pomocou tlačidla „Pridať“ pridajte odkaz na stránku do príslušnej sekcie.

Ako vypnúť upozornenia push v Opere

Vstúpte do menu Prehliadač Opera, kliknite na položku obsahové menu"Nastavenie". Ďalej vyberte sekciu "Rozšírené" a kliknite na "Zabezpečenie".

V časti Ochrana osobných údajov a zabezpečenie vyberte možnosť Nastavenia obsahu. Nájdite možnosť „Upozornenia“.

V okne Upozornenia je štandardne zapnutá možnosť „Pred odoslaním požiadať o povolenie (odporúča sa)“.

Tu je potrebné pridať stránku do sekcie „Blokovať“ alebo „Povoliť“.

Ako zakázať upozornenia push v Microsoft Edge

Prihláste sa do nastavení prehliadača Microsoft Edge. Vyberte "Možnosti", V okne "Možnosti" kliknite na položku "Zobraziť". Extra možnosti". V okne „Rozšírené možnosti“ vyberte „Upozornenia“ a potom kliknite na tlačidlo „Spravovať“.

V okne Spravovať upozornenia sa zobrazia stránky, ktoré žiadajú o povolenie na zobrazovanie upozornení. Môžete zmeniť povolenia pre konkrétne stránky.

Článok Závery

Používateľ môže nezávisle zakázať upozornenia push (push) v prehliadači, ktoré dostáva na Pracovnú plochu svojho počítača, čo umožňuje odosielanie upozornení z konkrétnej webovej stránky.

Upozornenia push sa zobrazujú v okne prehliadača, aj keď ste boli v čase ich odoslania offline. Je to skvelý marketingový nástroj na propagáciu produktov a služieb vašej firmy. Napriek tomu môžu používateľov obťažovať, ak sú sprevádzané zvukovým upozornením. Čítajte ďalej a zistite, ako ich vypnúť.

Ako povoliť alebo zakázať webové upozornenia push v prehliadači Google Chrome

Prejdite do nastavení prehliadača

Kliknite na ikonu nastavení na pravej strane okna prehliadača a vyberte „Nastavenia“.

Vyberte rozšírené nastavenia

Posuňte stránku nadol a vyberte „Rozšírené nastavenia“.

Vyberte položku Nastavenia obsahu

Kliknite na „Nastavenia obsahu“ v časti „Ochrana osobných údajov a zabezpečenie“.

Vyberte položku Upozornenia

Kliknite na položku Upozornenia.

Tu môžete pridať stránky, ktorých upozornenia chcete dostávať, alebo blokovať stránky, ktorých upozornenia vás nezaujímajú.

Môžete to urobiť aj tak, že dostanete žiadosť o povolenie posielať upozornenia.

Pomocou upozornení push informujte svojich zákazníkov o skladových položkách, výpredajoch a najnovších príspevkoch na vašom blogu.

A aby vaše upozornenia neboli blokované, posielajte ich len tým používateľom, ktorí súhlasili s ich prijímaním.

Push notifikácie v SendPulse

Posielanie upozornení v našej službe je bezplatné - v akomkoľvek množstve a navždy! Ak už robíte email marketing, použite push ako ďalší kanál na doručovanie správ. Napríklad ste odoslali e-mail so zľavou na špeciálny deň v predvečer sviatku, ale predplatiteľ ho neotvoril. Pošlite push notifikáciu na X deň a budete mať väčšiu šancu na zvýšenie predaja.

Prispôsobte a segmentujte upozornenia pre personalizovaný zážitok, testujte správy, nastavte automatické odosielanie po určitých udalostiach. Len jeden riadok kódu na stránku vás zbaví vysokých konverzií a predajov.

Od roku 2015 si táto technológia začala rýchlo získavať na popularite. Push API z prehliadača Chrome. Čoraz častejšie sa návštevníkom pri návšteve rôznych spravodajských (nielen spravodajských) stránok predstavuje takýto systémový rámec s požiadavkou:

Systémové okno prehliadača Google Chrome vyžadujúce povolenie doručovať upozornenia z lokality.

Úprimne považujem tento kanál na poskytovanie obsahu (alebo akvizíciu používateľov, akokoľvek to nazvať) za jeden z najsľubnejších. Možno aj o pár rokov budú tieto push notifikácie rovnakým povinným atribútom každého sebavedomého spravodajského webu, akým sú dnes RSS a publicistika na sociálnych sieťach.

Dnes je však táto technológia ešte dosť mladá a návodov na jej využitie nielen na domácom internete, ale aj na zahraničnom je málo. Príklad nemusíte hľadať ďaleko - aj samotný Google, keď oznámil Push API, vydal skromnú tlačovú správu až k slzám. A až teraz, po niekoľkých hodinách vŕtania sa v Google FAQ pre vývojárov, môžete zbierať informácie, aby ste mohli zbierať aspoň fungujúce skripty na posielanie push notifikácií vašim čitateľom.

Ako urobiť takéto push notifikácie pre váš web? Existujú dva spôsoby: použiť služby tretích strán (už existujú a niektoré z nich sú veľmi dobré) alebo si vytvoriť vlastné riešenie. Keďže som zástancom minimálneho využívania služieb tretích strán na stránke, naša cesta do Mesta bola jasná.

V záujme spravodlivosti však stojí za to povedať pár slov o vonkajších riešeniach. Priznám sa, že tento trh som veľmi neštudoval (dôvod je spomenutý vyššie), ale nemožno nespomenúť službu OneSignal, ktorej najatraktívnejšou vlastnosťou je, že ich služby sú úplne zadarmo - zarábajú predajom dát o návštevníkov klientskej stránky. Existuje aj služba Jeapie, majú na svojej strane veľmi kompetentný marketing a spravidla dobrá spätná väzba. Stojí však za zmienku, že svojho času Meduza odmietla ich služby - Platforma jednoducho nebola pripravená na množstvo tlakov, ktoré bolo potrebné posielať obrovskému publiku Meduzy.

Implementácia. Získavanie poverení od spoločnosti Google.

V zdrojových údajoch je stránka zapísaná v Koľajnice 3.2.8 a úlohou je vytvoriť na ňom posúvač upozornení pre Chrome.

Prvým krokom je prenesenie stránky na HTTPS (zabezpečený hypertextový protokol), teda vytvorenie SSL certifikátu pre vašu stránku. Bez toho nebudú push notifikácie fungovať (nekontrolované bežným http, ale všade sa to tak píše). Nebudem písať o tom, čo je SSL, s čím sa jedáva, ako vložiť certifikát na server a pripojiť ho - internet je plný podobných článkov. Na tieto účely odporúčam iba StartSSL. Ide o dobrú certifikačnú autoritu, s ktorou sú priatelia všetky prehliadače, ktoré poznám, so zámerne jednoduchým postupom registrácie a overenia (stačí poznať minimum anglický jazyk) získať absolútne bezplatný SSL certifikát vstupný level, ktorá môže zahŕňať ďalších päť (sic!) subdomén.

Získali sme teda certifikát a podľa toho nakonfigurovali náš Nginx alebo Apache. Teraz v adresný riadok prehliadač vedľa adresy našej stránky svieti na zeleno, najroztomilejší malý zámok, nápis https://, a ak vám ide o peniaze, názov organizácie.

Ďalej ideme na Google Cloud Platform, kde sa registrujeme nový projekt, pričom ho pomenujete napríklad MySite-Push.

Vytvorte nový projekt v Google Cloud Platform

Po niekoľkých sekundách, keď je projekt vytvorený, cez sekciu Pripája sa k rozhraniu Google API, odkaz Povoľte a nakonfigurujte rozhranie API prejdite do sekcie, kde je celý zoznam API metódy pre všetkých služby Google. Tam musíme zahrnúť metódu Google Cloud Messaging zo sekcie Mobile API.

Metóda Google Cloud Messaging zo sekcie Mobile API

S najväčšou pravdepodobnosťou vás pri pripájaní k metóde Google požiada o registráciu ďalších údajov. Napríklad vás požiada, aby ste objasnili, odkiaľ sa bude API volať, potom uvedieme typ obslužného programu, ktorý potrebujeme (napríklad webový server).

Potom zadáme IP servera (ak je to požadované) a vygenerujeme súkromný kľúč, ktorý sa použije na autorizáciu požiadaviek. Tento kľúč, samozrejme, budeme v budúcnosti potrebovať.

Vygenerovaný súkromný kľúč na prístup k rozhraniu Google API

Po stlačení tlačidla Pripravený ocitneme sa na stránke, kde budeme musieť špecifikovať doménu a potvrdiť k nej práva cez nástroje Search Console. Aj o tom je na internete dosť článkov a samotný postup je intuitívny. Tak sa tu nezastavme.

V skutočnosti od platformy Google Cloud Platform nepotrebujeme nič iné. Kľúč a ID.

Implementácia. Počiatočné nastavenie lokality.

Teraz v koreňový priečinok na našu stránku musíme pridať súbor manifest.json v ktorom bude uvedené nasledovné :

( "name": "mysite.ru Push test", // Názov stránky "zobraziť" : "standalone", // Zadajte, kde sa majú zobrazovať upozornenia "gcm_sender_id": "258466066904" // Rovnaké ID aplikácie v Google Cloud Platform )

Toto je najviac nevyhnutné minimum informácie pre zoznam. Môžete si vygoogliť a aké ďalšie parametre tam môžete zadať.

No, pridajte do sekcie metaznačka s odkazom na manifest:

Teraz na tom istom mieste, v koreňovom priečinku, vytvorte súbor push.js, kde zadáme nasledujúci kód:

"používať prísne"; function SendPushMe() ( if ("serviceWorker" v navigátore) ( console.log("Service Worker je podporovaný"); navigator.serviceWorker.register("/sw.js").then(function() ( return navigator.serviceWorker .ready; )).then(function(reg) ( console.log("Service Worker is ready:^)", reg); reg.pushManager.subscribe((userVisibleOnly: true)).then(function(sub) ( console.log("endpoint:", sub.endpoint); $.get("https://mysite.ru/createpushadresat?adresat=" + sub.endpoint, function(data) ()); )); )) .catch(function(error) ( console.log("Service Worker error:^(", error); )); ) )

Čo robí tento kód? Pri volaní metódy SendPushMe() skontroluje, či prehliadač podporuje odber upozornení push. Potom, ak áno (v konzole denníka vývojára sa zobrazí správa „ Servisný pracovník je podporovaný“, inak sa tam objaví chybové hlásenie), sa pokúsi zaregistrovať Servisný pracovník ktorý sa čoskoro objaví na /sw.js Práve v tomto momente sa používateľovi zobrazí požiadavka prehliadača na potvrdenie akcie. Potom, ak používateľ súhlasí, bude pracovník zaregistrovaný a na adrese https://mysite.ru/createpushadresatŽiadosť GET v premennej adresu odošle sa jedinečný identifikátor prehliadača. Zobrazí sa aj v konzole denníka vývojára.

Teraz vytvoríme Service Worker. Toto bude súbor sw.js v koreňovom priečinku:

"používať prísne"; self.addEventListener("install", function(event) ( event.waitUntil(self.skipWaiting()); )); self.addEventListener("push", funkcia (udalosť) ( event.waitUntil(fetch("/latest.json")).then(funkcia (odpoveď) ( if (response.status !== 200) ( console.log(" Chyba požiadavky Latest.json: " + response.status); vyvolať novú chybu Error(); ) vrátiť response.json().then(funkcia (údaje) ( if (data.error || !data.notification) ( console.error ("Chyba formátu najnovšej.json.", data.error); throw new Error(); ) var title = data.notification.title; var body = data.notification.body; var icon = "https://moja lokalita. ru/my_beautiful_push_icon.png"; return self.registration.showNotification(title, ( telo: telo, ikona: ikona, údaje: ( url: data.notification.url ) )); )).catch(funkcia (chyba) ( konzola .error("Chyba pri načítavaní údajov", chyba); )); ))); )); self.addEventListener("notificationclick", funkcia (udalosť) ( event.notification.close(); var url = event.notification.data.url; event.waitUntil(clients.openWindow(url)); ));

Tento kód po zavolaní vytvorí notifikáciu, ktorej údaje sa prevezmú zo súboru najnovší.json umiestnený na https://mysite.ru/latest.json. Ak žiadosť o tento súbor zlyhá alebo stránka odpovie neplatným súborom json, v konzole denníka vývojára sa zobrazí zodpovedajúca položka. Ak je všetko v poriadku, vygeneruje sa push. Push je tvorený z premenných telo- toto je krátka textová správa, titul- push titul, url- odkaz, ktorý bude používateľ nasledovať po kliknutí na upozornenie a ikonu- krásna a príjemná (najlepšie štvorcová, so stranou aspoň 150 pixelov) ikona, ktorá bude zobrazovať logo webovej stránky. A to konkrétne v tomto scenári ikonu- statický parameter a všetky ostatné sú dynamicky aktualizované z najnovší.json.

Skript môžete trochu preniesť, aby bola ikona aj dynamickým parametrom, ale zdá sa mi, že to bude úplne zbytočné, je lepšie upozorniť na značku, ako poskytnúť obrázok, ktorý v malom naozaj nevidíte TLAČIŤ.

A nakoniec tvoríme najnovší.json z ktorých sa budú čerpať informácie pre upozornenia. Myslím, že nie je ťažké uhádnuť, že bude ležať v koreňovom priečinku. A tu je jeho obsah:

("notification":("url":"https://mysite.ru/posts/1","title":"Skvelé správy","body":"Zaregistrovali sme úžasné predplatné prehliadača Chrome"), "_id" :319)

Predpokladám, že nemá zmysel vysvetľovať, čo je čo v tomto json, aj tak je všetko jasné.

Teoreticky je naša stránka, alebo skôr jej front-end, takmer kompletne pripravená. Zostáva len naučiť sa, ako povedať spoločnosti Google, že máme nové aktualizácie, aby o tom informovali prehliadače našich predplatiteľov. A samozrejme dynamicky aktualizovať naše najnovší.json. To však až v ďalšej časti.

P.S. Mimochodom, môžete zavolať SendPushMe() práve teraz a uvidíte, čo sa stane. Ak to chcete urobiť, môžete napríklad vytvoriť odkaz, po kliknutí na ktorý sa táto metóda zavolá a zavolá:

Zavolajte SendPushMe

A ak je všetko vykonané správne, po kliknutí na takýto odkaz sa zobrazí systémové okno s požiadavkou:

Ale s udelením povolenia sa ešte neponáhľajte. Kliknite na krížik a zatvorte okno.

Ak ste už klikli, tak si otvorte nastavenia stránky (kliknutím na zelený zámok v adresnom riadku, ak niekto nevie) a v položke „Upozornenia“ vráťte Globálne nastavenie na predvolené („Opýtať sa“).

Teraz otvorte konzolu pre vývojárov F12 -> Konzola. Potom znova kliknite na odkaz „Zavolať SendPushMe“.

Na konzole by sa mali zobraziť dva riadky za sebou obsahujúce „ Servisný pracovník je podporovaný" a " Servisný pracovník je pripravený“ resp. A samotný prehliadač musí znova požiadať o povolenie. A teraz môžete dať svoj súhlas.

V dôsledku toho by sa vo vašej vývojárskej konzole mali objaviť tri takéto položky:

Tlačiť denník predplatného Prehliadač Chrome

Ak si pamätáte, scenár push.js odošle požiadavku GET. Je to koncový bod, ktorý je odovzdaný serveru s touto požiadavkou. O niečo neskôr naučíme stránku si ich zapamätať, aby sme mohli posielať push pomocou týchto identifikátorov.

čo máme teraz? Máme plnohodnotného odberateľa upozornení zo stránky a teraz vieme izolovať identifikátory odberateľov. Teraz mi sám Boh povedal, aby som si skúsil poslať upozornenie.

Ak to chcete urobiť, musíte o novom upozornení povedať spoločnosti Google a on o tom bude informovať našich odberateľov (alebo jedného, ​​ako máme teraz).

Google je upozornený špeciálnou žiadosťou POST na https://gcm-http.googleapis.com/gcm/send tu v tejto forme:

Content-Type:application/json Authorization:key=A...A //Súkromný kľúč našej aplikácie, ktorý sme získali v minulej časti. ( "to" : "bk3RNwTe3H0:CI2k_...", // Jedinečný identifikátor predplatiteľa. "data" : ( "title": "Portugalsko vs. Dánsko", // Údaje upozornenia "text": "5 to 1" ) , )

Ako by ste mohli uhádnuť, táto požiadavka upozorní jedného konkrétneho účastníka a údaje na upozornenie sa odovzdajú priamo v žiadosti. Náš obsah upozornení je však prevzatý z najnovšieho súboru JSON. Áno, a odoslanie osobnej žiadosti každému účastníkovi je príliš odvážne. Ak však potrebujete posielať individuálne a osobné upozornenia, táto možnosť je pre vás ako stvorená. Žiadosti však budeme posielať v dávkach, pri ktorých používame nasledujúcu schému:

Content-Type:application/json Authorization:key=A...A //Súkromný kľúč našej aplikácie, ktorý sme získali v minulej časti. ( "registration_ids" : ( [...] // Pole ID predplatiteľov. ), )

V tomto prípade, keďže žiadosť neobsahuje údaje pre samotné oznámenie, prehliadač bude kontaktovať servisného pracovníka, od ktorého dostane informácie.

Poďme vytvoriť a odoslať požiadavku cez terminál (SSH konzola):

zvlniť--header "Autorizácia: kľúč=AI...3A" \ --header Content-Type:"application/json" \ https://gcm-http.googleapis.com/gcm/send \ -d "(\" registračné_id\":[\"cym...W3\"])"

SSH konzola s odoslanou požiadavkou POST a výsledným Push

Táto snímka obrazovky zobrazuje samotnú požiadavku aj jej výsledok – upozornenie, ktoré prišlo o sekundu neskôr.

Áno, urobili sme to - najdôležitejšia a zdá sa, že je za tým nejasná. Ďalšia práca v tomto smere bude závisieť od toho, na čom je vaša stránka napísaná. A ak je vaša stránka napísaná na Rails, potom sme stále na ceste. Ak nie, neponáhľajte sa rozlúčiť: v ďalšej záverečnej časti sa vrátim k tým otázkam na tému Webové upozornenia, ktorých riešenie bude užitočné pre webových vývojárov akejkoľvek špecializácie.

Takže, Chrome Push Notifications pre web Ruby On Rails

Najprv mi dovoľte povedať, že tento príklad kódu je platný pre lokalitu Rails 3.2.8!

V podstate musíme urobiť:

  1. Funkčnosť, aby si naša stránka pamätala ID predplatiteľov;
  2. Model na vytváranie upozornení push;
  3. Dynamicky aktualizovaný súbor last.json;
  4. Pridajte pár riadkov kódu do ovládača, ktorý pri vytváraní nového Push odošle požiadavku POST na server Google.

Ak ste zabudli, dovoľte mi pripomenúť, že v prvej časti sme sa hneď pridali push.js riadok na vytvorenie požiadavky GET na našu stránku, ktorá prenáša ID prehliadača každej novo podpísanej osoby.

Teraz sa ubezpečme, že naša stránka rozumie, o aký druh požiadavky ide, a ukladá údaje. Najprv si vytvoríme model a ovládač pre pushsubscriber:

Rails g model pushsubscriber browserkey:string rake db:migrate rails g controller pushsubscribers create delete

Priraďte "/createpushadresat", k: "pushsubscribers#create", cez: : dostať

Teraz naša stránka preposiela prichádzajúce požiadavky GET na kontrolóra push predplatiteľov , kde bude spracovaný metódou vytvoriť . Poďme to nastaviť:

def vytvoriť@newsubscriber = Pushsubscriber.new(:browserkey => URI(params[:adresat].to_s).path.split("/").last) ak@newsubscriber.save? render:text => "ok" inak render:text => "fail" koniec koniec

Hneď musím povedať, že tento kód má len ukázať, akým smerom sa musíte rozvíjať. Nekontroluje takmer nič a nepoužíva validátory ani regulárne výrazy – nepoužívajte to takto. Iba skontroluje, či vstupný parameter obsahuje údaje vo forme odkazu a následne sa od tohto odkazu izoluje posledná sekcia za lomkou a uloží sa do databázy. Je v tejto podobe push.js vysiela koncový bod. A práve v poslednej časti (za lomkou) koncového bodu je obsiahnutý identifikátor prehliadača.

Ľudia sa teda začali prihlasovať na odber našich aktualizácií a teraz je naša databáza doplnená o identifikátory. Čas začať im posielať upozornenia:

Rails g scaffold notification title:string bodytext:string url:reťazec úspech:celé číslo db:migrate

Tento príkaz Scaffold nám vytvorí minimálne fungujúci model oznámenie s poliami titul,bodytext,url a počet úspechov. Prvé tri - presne názov, text a odkaz budúceho upozornenia a počet úspechov- Počet úspešne prenesených pushov, o ktorých nás spoločnosť Google láskavo informuje. Vytvorí sa aj ovládač so zobrazeniami pre tento model. Samozrejme, tam budete ešte musieť zadať vygenerované zobrazenia do celkového dizajnu stránky a „priložiť“ ovládač pred_filtrom'ami, aby mohli „tlačiť“ iba ľudia s príslušným prístupom. Ale je na vás, aby ste sa rozhodli individuálne. A teraz sme len trochu (v skutočnosti vôbec nie veľa) opraviť metódu vytvorenia v notifications_controller.rb:

vyžadovať"open-uri" vyžadovať"multi_json" vyžadovať"uri" def vytvoriť@notification = Notification.new(params[:notification]) ak@notification.save @adresats = Pushsubscriber.all.collect(&:browserkey) @keys = "("registračné_id":" [e-mail chránený] _json+")".as_json uri = URI.parse("https://android.googleapis.com/gcm/send") http = Net::HTTP.new(uri.host,uri.port) http.use_ssl = true req = Net::HTTP::Post.new(uri.path) req["Autorizácia"] = "key=A...A" # Tu zadajte súkromný kľúč req["Content-Type"] = "application/json " res = http.request(req, @keys) parsed_json = ActiveSupport::JSON.decode(res.body) @notification.update_attribute(:success, parsed_json["success"].to_i) koniec presmerovanie_na cestu_oznamov koniec

Tento kód, ak sa vytvorí a uloží nové oznámenie (@notification), vygeneruje a odošle POST požiadavku spoločnosti Google (presne ako sme to urobili vyššie), v ktorej sa VŠETKY identifikátory našich predplatiteľov prenesú vo formáte json podľa špecifikácie Google. . Potom by nám mal Google odpovedať pomocou svojho json. Z ktorej sa analyzuje úspešná sekcia, z ktorej sa ukladá počet - počet úspešne prenesených pushov. Tam je tiež odovzdaná časť zlyhania, v ktorej je podľa toho uložený počet nedoručených stlačení z jedného alebo druhého dôvodu. Vo všeobecnosti môžete sami vidieť, aké údaje Google prenáša, možno sa rozhodnete uložiť niečo iné.

A rovnako ako minule daný kód neberie do úvahy, že Google nemusí odpovedať alebo odpovedať chybovým hlásením a neplatným súborom json na analýzu. Zvážte takéto prípady vo svojom vývoji.

No, teraz sa snažíme vytvoriť push na našej stránke pomocou formulára Notification.new (vytvoreného spoločnosťou Scaffold) a... Voilà! Systém funguje - dostali sme upozornenie!

Skutočný obsah tohto upozornenia sa stále preberá zo statického obsahu najnovší.json. Posledná vec, ktorá zostáva, je prinútiť tento súbor k dynamickej aktualizácii. Ako to spraviť? Veľmi jednoduché, pretože už máme model upozornení a in najnovší.json by mala obsahovať presne naše posledné upozornenie (t. j. Notification.all.last). Aby sme to dosiahli, odstránime náš statický súbor last.json z koreňového priečinka lokality a pridáme ho do trasy.rb nasledujúca trasa:

Priraďte „/latest.json“ k: „notification#latestpush“ cez: :get

To je teraz najnovší.json budú generované metódou najnovšie stlačenie v ovládači oznámenie. Vytvorme túto metódu:

Def lastpush @push = Pushnotification.all.last render json: "("notification":("url":"" [e-mail chránený] _s+"","title":"" [e-mail chránený] _s+"","body":"" [e-mail chránený] _s+""),"_id":" [e-mail chránený] _s+")".as_json end

Teraz vytvoríme ďalšie upozornenie prostredníctvom formulára Notification.new. A nakoniec v rohu monitora vidíme tlačenku presne s obsahom, ktorý bol práve vtlačený do formy.

Zdá sa, že toto je všetko? Všetko, ale nie celkom. Po prvé, prihlásili sme sa, ale neodhlásili sme sa z odberu - buďte úprimní a dajte návštevníkom stránky túto príležitosť. Po druhé, urobili sme predplatné, ale stále nie je informatívne a zobrazuje sa všetkým, nielen Používatelia prehliadača Chrome, na ktorú sa predplatné vykonáva. A do tretice sme na našej stránke urobili veľmi zaujímavú hračku, ktorá má svoje pravidlá používania. To je všetko, o čom si povieme v ďalšej, tretej a napokon aj poslednej časti nášho príbehu Chrome Push API.