Google Chrome mivel a 42-es verzió támogatja a Push API-t keresztül Google szerverek A GCM használata Valószínűleg már látta ezeket a felszólításokat az értesítésekhez való hozzáférésre vonatkozóan. Ha engedélyezi a hozzáférést, a webhely értesítéseket küldhet Önnek. Ez a funkció vadonatúj, és kevesen tudnak róla, de véleményem szerint már vannak nagy hátrányai:
  • Minden oldal engedélyt kér a böngészőben, nehéz szabályozni, hogy hány forrás küldhet most értesítést, mindegyiknek megvan a saját háttérfolyamata, amely külön felébred, nincs beérkezett értesítések előzménye vagy szűrés, nincs szinkronizálás az előfizetések között eszközöket
  • A webhelyeknek közvetlenül az eszközökre kell értesítéseket küldeniük, figyelniük kell az eszközadatbázis relevanciáját, minden egyes felhasználó eszközét külön-külön kell figyelniük.
  • Ez a funkció csak az SSL-t használó webhelyeken működik.

Egy köztes szolgáltatás, amely mindezen funkciókat ellátja, meg tudja oldani a felmerülő problémákat.

Egy kis elmélet

A fő cikk, amelyen ezt a funkciót ténylegesen elkészítettem, megtalálható
Röviden, a böngésző létrehoz egy Service-Workert (a Chrome 40 óta elérhető), ez egy háttérfolyamat a JS-ben. Nem folyamatosan működik a háttérben, hanem reagál a különféle kívülről érkező kérésekre. Például amikor push üzenet érkezik. Természetesen nem igényli nyitott oldal. Sőt, akkor is működik, ha a böngésző be van zárva (na jó, nem teljesen zárva, de a háttérben.)

Amikor Push üzenet érkezik, a böngésző értesítéseket jelenít meg. Ez minden. Ez lehetővé teszi a push értesítések fogadásának teljes megvalósítását alkalmazások nélkül, ráadásul androidon is működik mobil krómban! A nyilvánvaló hiányosságok közül azonosíthatók Ebben a pillanatban az, hogy push üzenetben nem lehet rakományt küldeni, pl. maga az üzenet. A Google ezt biztonsági problémáknak tulajdonítja, és jelentése szerint a Chrome 44-ben a probléma teljesen megoldódott, és a böngésző képes lesz közvetlenül fogadni az adatokat. Ezenkívül egyes jelentések szerint, ha a böngésző be van zárva, akkor a kérés nem éri el. Ezt a problémát úgy oldja meg, hogy kidobja az összes olyan értesítést, amelyet a következő üzenet érkezésekor nem nyugtáztak.

Hogyan oldja meg a problémát a PushAll

A Push API-n keresztül akár webhely nélkül is küldhet értesítéseket. Vagyis létrehozhat egy csatornát, és manuálisan küldhet értesítéseket, akár a szerverről curl-en keresztül, akár RSS-hírcsatorna csatlakoztatásával. Ebben az esetben a felhasználó hozzáférést engedélyez a PushAll webhelyre történő küldéshez.
Ugyanakkor a fejlesztőnek nem kell gondolkodnia azon, hogy kinek küldje el az értesítést. Android-alkalmazáson, Chrome-bővítményen vagy közvetlenül a Push API-n keresztül. Egy tucat felhasználónak tud üzenetet küldeni, de valójában minden felhasználó 2-3 eszközére eljut. A jövőben ez más böngészőket és más platformokat is magában foglal, mint például az iOS és a WP.

Tesztelés

A függvény tegnap íródott, ezért tesztelésre van szükség.

Az értesítések Push API-n keresztüli teszteléséhez fel kell lépnie a PushAll.ru webhelyre, és be kell jelentkeznie Google-fiókjával.

A bejelentkezés után azonnal a csatornakönyvtárba kerül. A jobb felső sarokban van egy kapcsoló, amely bekapcsolja az új funkciót.

Az engedélyezést követően a Chrome hozzáférést kér az értesítésekhez. Ezt követően el kell lépnie a profil szakaszba, és „pingelnie” kell az eszközt

Írd meg nekem személyesen, vagy kommentben, hogyan működnek az értesítések. Néhány embernek problémái voltak az értesítésekkel, és szeretném javítani a helyzetet. Ellenőrizze az értesítéseket is Android okostelefon. A tesztelés során azt hiszem, találsz néhány érdekes csatornát a katalógusban.

Azonnal, hogy ne legyen kérdés: nem szükséges minden értesítést megkapni a csatornáktól. Feliratkozott a csatornára, újra kinyitotta - kinyitotta a szűrőt, belépett kulcsszavakat. Az Ön számára fontos témákról először is azonnal értesítést küldenek az eszközökre, a többit pedig magukról az oldalakról olvashatja (ez pl. a SoHabr csatornára vagy TV sorozat csatornákra vonatkozik)

kilátások

Ez a funkció lehetővé teszi a felhasználók nagy közönségének elérését. Sokan nehéznek találják egy alkalmazás vagy kiegészítő telepítését, de néhány gomb megnyomása nem nehéz.
A jövőben egy speciális widgetet fogok írni az oldalakhoz. Egy kattintással 4 dolgot lehet egyszerre csinálni.
  • Regisztráció.
  • Bejönni
  • Iratkozz fel
  • Engedélyezze a Push API értesítéseket a böngészőben.
Vagyis a felhasználó rákattint a gombra, hozzáférést kér egy Google-fiókhoz, hozzáférést kér az értesítésekhez - ez minden. A felhasználó készen áll az értesítések fogadására. Sőt, ha a felhasználó ezután letölti az alkalmazást bármely más platformra, továbbra is kap értesítéseket az Ön webhelyéről, egészen addig, amíg le nem iratkozik róluk személyes fiók. Ugyanakkor a szolgáltatásom lehetővé teszi, hogy akár címre is küldjön mobil eszközökértesítéseket az alkalmazás telepítése nélkül!

Push - értesítés, mi ez? Ez egy olyan értesítés, amely bizonyos oldalakra való belépés után a böngészőablak jobb vagy bal felső sarkában jelenik meg, és felajánlja, hogy feliratkozhat a hírre, az oldal frissítéseire vagy a meglátogatott portál egyéb változásaira. Általánosságban, leegyszerűsítve ez egy felugró ablak az oldalra való feliratkozásra való felhívással.

Természetesen semmi ellenem semmiféle előfizetés. Például ha tetszik és neked való hasznos anyag, amelyet a weboldalunkon teszünk közzé, egyszerűen feliratkozhat ránk ugyanazon az RSS-en, vagy használhatja az e-mailes feliratkozási űrlapot, és csatlakozhat hozzánk VK csoport vagy kövessen minket a címen Youtube. És ami a legfontosabb, ezt saját kezdeményezésére is megteheti, és nem azért, mert egy ablak a " Iratkozz fel, iratkozz fel, iratkozz fel».

Az ilyen push értesítések népszerűsége most kezd növekedni, aminek eredményeként egyre több oldal próbál meg önállóan hasonlókat bevezetni. Biztos vagyok benne, hogy minden híroldalon már régóta engedélyezve van ez a funkció.

A legmeglepőbb az, hogy az efféle értesítések divatja csak most kezdett lendületet venni, és már mindenkiből eléggé elege van. Sokan összehasonlítják őket ugyanazzal tolakodó reklámozásés felugró ablakok, amelyek csak akadályozzák és bosszantanak.

Tehát ebben az oktatóanyagban megmutatom, hogyan kapcsolhatja ki az előfizetési értesítést a böngésző beállításaiban, és örökre megszabadulhat ettől a bosszantó felugró ablaktól.

A push értesítések letiltása a Mozilla Firefoxban

Elvileg az értesítések megjelenítésének kikapcsolása szinte minden böngészőben közvetlenül a beállításokban történik. De a Firefox kivételnek bizonyult, igen, a beállításoknál a tartalombeállítások „Ne zavarj” jelölőnégyzet bejelölésével kikapcsolható az értesítés, de csak a böngésző újraindításáig lesznek letiltva.

Amint újra megnyitja a Firefoxot, a korábban beállított jelölés automatikusan törlődik, és minden kezdődik elölről. Természetesen ez a lehetőség nem mindenkinek felel meg, ezért azoknak a felhasználóknak, akik egyszer és mindenkorra le akarják tiltani a push értesítéseket, a következőket kell tennie:

A false érték azt jelenti, hogy a továbbiakban nem zavarja Önt az előfizetés a push értesítések fogadására.

A push értesítések blokkolása a Google Chrome-ban

A Chrome-ban sokkal egyszerűbb az értesítések kikapcsolása, mert ezt a szokásos beállításokban teheti meg, és nem kell belemenni a böngésző konfigurációjába.


Ha szükséges, újraindítjuk a böngészőt, és örülünk, hogy hiányoznak a folyamatosan felugró ajánlatok az Ön által meglátogatott webhelyről érkező értesítések fogadására.

Megszabadulni a push értesítésektől a Yandex böngészőben

A következő nem kevésbé híres Yandex böngésző lesz. Bizonyára sokan tudják, hogy ezt a böngészőt ugyanazzal a motorral hozták létre, mint a Chrome-ban, így még a beállítások is szinte azonosak.


Például a beállításaimat valamiért csak a második alkalomtól mentettem el, nem tudom mihez kapcsolódik, lehet, hogy a „Befejezés” gomb helyett a keresztre kattintottam, és csak bezártam az ablakot, ennek eredményeként amelyek beállításai nem lettek elmentve. Nos, a lényeg az, hogy másodszorra minden sikerült, és eltűnt az értesítésekre való feliratkozás kérése.

Le lehet tiltani a push értesítéseket az Operában?

És természetesen nem kerüljük meg az operát. Tudom, hogy nagyon sok felhasználó még mindig szívesebben használja. Ezért itt van egy utasítás az Opera push értesítéseinek letiltásához.


Általánosságban elmondható, hogy a beállítások nem is nagyon különböznek a korábbi böngészőktől, de elvileg ez nem fontos, a lényeg az, hogy az oldal értesítéseinek fogadására vonatkozó kérések többé nem zavarnak bennünket.

A push (push) értesítések letiltása Yandex böngésző, Chrome, Firefox és Opera

Hogyan lehet kikapcsolni a push értesítéseket - ez a kérdés aggaszt néhány felhasználót, aki értesítéseket lát a böngészőben, miután bejelentkezett számos internetes webhelyre. A push technológiát arra tervezték, hogy információkat terjesztsen az interneten a szolgáltatótól, jelen esetben a webhelytől a webhely felhasználójához.

Az oldalra vonatkozó push értesítésekre azért van szükség, hogy a honlap látogatóit tájékoztassák a hírekről, elsősorban az új cikkek megjelenéséről. Ebben az esetben a látogató időben értesítést kap az oldalról, és azonnal elolvashatja a híreket.

Az oldal nevében az értesítéseket egy harmadik féltől származó szolgáltatás segítségével küldik el, amely megszervezi az értesítések kézbesítését a felhasználók számítógépére.

Mi az a push értesítés a számítógépen? Ha az oldal látogatója beleegyezik, hogy értesítéseket kapjon tőle ezt az erőforrást, akkor időről időre értesítések jelennek meg a webhely híreiről a felhasználó asztalán.

Hogyan működnek a push értesítések

Amikor olyan webhelyet keres fel, amelyen engedélyezve van az értesítések küldése, a látogató minden alkalommal megjelenik egy kérés, hogy engedélyezze az értesítések megjelenítését, amelyben az „Engedélyezés” vagy a „Letiltás” gomb megnyomása javasolt. A gombok nevei eltérőek lehetnek, de a jelentésük mindenhol ugyanaz.

A webhely látogatója figyelmen kívül hagyhatja ezt a felugró ablakot, mert a push értesítési kérés ablaka kicsi, és nem zavarja a webhely böngészését.

Az ilyen ablakok megjelenése eltérő attól a szolgáltatástól függően, amely értesítéseket küld erről a webhelyről.

Az "Engedélyezés" gombra kattintva beleegyezik abba, hogy push üzeneteket kapjon számítógépén.

Az értesítési területen, a felhasználó számítógépének asztalán, értesítések jelennek meg a webhelyen található hírekről. Általában ez egy új cikk megjelenéséről szóló üzenet. Egyes webhelyek visszaélnek a riasztások küldésének lehetőségével, mindenről értesítenek egymás után, néha szükségtelen információkat küldenek.

A push értesítés kézhezvétele után a felhasználó felkeresheti a webhelyet, hogy elolvassa a cikket, vagy bezárhatja az értesítést az üzenet figyelmen kívül hagyásával. Az ilyen webhelyekről érkező értesítések gyakorlatilag nem zavarják a számítógépen végzett munkát, mivel megjelennek az értesítési területen, és rövid idő után maguktól bezárnak.

Ha meg szeretné akadályozni, hogy az erről az oldalról érkező riasztások küldésére vonatkozó engedélykérés többé ne jelenjen meg, amikor ismét meglátogatja ezt a webhelyet, kattintson a "Blokkolás" gombra.

Ha Ön már kap push üzeneteket egy adott webhelyről, akkor a felhasználó saját maga letilthatja a push értesítéseket a böngészőjében, amelyben engedélyezte az értesítések fogadását a számítógépén.

Hogyan távolítsuk el a push értesítéseket riasztások fogadása után

Számos értesítésnél az értesítéseket küldő szolgáltatás beállításaitól függően közvetlenül a megnyitott üzenet ablakában tilthatja le a push értesítéseket.

Ehhez kattintson a beállítások ikonra (fogaskerék), majd válassza a "Értesítések kikapcsolása a webhelyről" lehetőséget.

Ezt követően az erről a webhelyről érkező értesítések többé nem jelennek meg számítógépén.

Hogyan lehet letiltani a push értesítéseket a Google Chrome-ban

Adja meg a Google Chrome böngésző beállításait, görgessen le az egér görgőjével, kattintson a "Speciális" linkre.

Az "Adatvédelem és biztonság" részben kattintson a "Webhelybeállítások" gombra. A megnyíló „Webhelybeállítások” ablakban keresse meg az „Értesítések” részt.

Itt állíthatja be a webhelyekről érkező riasztások fogadását. Alapértelmezés szerint az „Engedélykérés küldés előtt (ajánlott)” van kiválasztva.

A push értesítések eltávolításához Google böngésző A Chrome-ban aktiválja a „Ne jelenjen meg riasztások a webhelyeken” elemet.

Ha nem szeretne riasztásokat kapni egy adott webhelyről, kattintson a "Hozzáadás" gombra, amely a "Block" paraméterrel szemben található.

A "Webhely hozzáadása" ablakban adja meg a webhely címét, majd kattintson a "Hozzáadás" gombra.

A push üzenetek fogadásának konfigurálásához kattintson az "Engedélyezés" opcióval szemben található "Hozzáadás" gombra.

A megnyíló ablakban adja hozzá a kívánt webhelyet azon webhelyek listájához, amelyekről értesítéseket kaphat a Google Chrome böngészőben.

A push üzenetek letiltása a Mozilla Firefoxban (1 mód)

Adja meg a böngésző beállításait Mozilla Firefox, nyissa meg az „Adatvédelem és biztonság” részt. Az „Engedélyek” lehetőségnél lépjen az „Értesítések” lehetőségre.

Jelölje be az Értesítések kikapcsolása a Firefox újraindításáig jelölőnégyzetet. Ezt követően a Push értesítések nem jelennek meg, amíg a Mozilla Firefox böngészőt le nem tiltják.

A riasztások kezeléséhez kattintson a "Beállítások..." gombra. Az „Opciók – Engedély az értesítések megjelenítéséhez” ablakban található azoknak a webhelyeknek a listája, amelyek értesítései engedélyezettek vagy letiltottak.

Ha egy webhely mellett a "Letiltás" állapota van, akkor az erről a webhelyről érkező értesítések nem jelennek meg a számítógépén, mert korábban letiltotta az erről a webhelyről érkező értesítések küldését.

Ha a webhely címe mellett az „Engedélyezés” állapot látható, akkor erről a webhelyről értesítések jelennek meg a számítógépen.

Bármely webhelyet eltávolíthat a listáról a Webhely eltávolítása gombbal, vagy eltávolíthat minden webhelyet a listáról az Összes webhely eltávolítása gombra kattintva.

Ezt követően a távoli webhelyről érkező új értesítések nem jelennek meg a számítógép asztalán. Amikor ismét meglátogatja ezt az oldalt, utasítsa el a figyelmeztetések fogadására vonatkozó kérést.

Ha le szeretné tiltani az új üzenetek fogadását a listában nem szereplő webhelyekről, jelölje be az „Új értesítések küldésére irányuló kérések blokkolása” jelölőnégyzetet.

Az értesítések beérkezési sorrendjének beállításához kattintson a „Változások mentése” gombra.

A push értesítések eltávolítása a Mozilla Firefoxban (kétirányú)

Az értesítések teljes kikapcsolásához Mozilla böngésző Firefox, meg kell adnia a rejtett böngészőbeállításokat.

Írja be a címsorba a következő kifejezést: "about:config" (idézőjelek nélkül). A megnyíló ablakban kattintson az „Elfogadom a kockázatot!” gombra.

Az új ablakban írja be a "Keresés" mezőbe a "dom.webnotifications.enabled" kifejezést (idézőjelek nélkül), majd nyomja meg az "Enter" billentyűt.

Ez a beállítás alapértelmezés szerint "igaz". Jelölje ki a vonalat, kattintson Jobb klikk egeret, válassza a "Váltás" lehetőséget a helyi menüből. A paraméter értéke "false"-ra változik.

A push értesítések letiltása a Yandex.Browserben

Adja meg a Yandex böngésző beállításait, lépjen a "Webhelyek" fülre.

A „Webhelyek” részben lépjen az „Értesítések küldésére vonatkozó kérések” lehetőségre. Itt három cselekvési lehetőség van:

  • Küldési kérések megjelenítése (ajánlott).
  • Ne jelenítse meg a küldési kéréseket.
  • Automatikusan feliratkozik az értesítésekre.

Válassza ki a push üzenetek fogadásának folyamatát szabályozó kívánt opciót. Az összes push értesítés teljes letiltásához a Yandex böngészőben válassza a „Ne jelenjen meg a küldési kérések” lehetőséget.

Ha konfigurálnia kell az egyedi értesítések fogadását, kattintson a „Más webhelyeken” hivatkozásra. Ezután az „Értesítések küldése” ablakban válassza ki, hogy mely push értesítéseket szeretné blokkolni, és melyeket engedélyezni.

Nyissa meg az "Engedélyezett" vagy a "Tiltott" lapot, a "Hozzáadás" gombbal a megfelelő szakaszban adjon hozzá egy hivatkozást a webhelyre.

Hogyan lehet kikapcsolni a push értesítéseket az Operában

Lépjen be a menübe Opera böngésző, kattintson az elemre helyi menü"Beállítások". Ezután válassza ki a "Speciális" részt, kattintson a "Biztonság" elemre.

Az Adatvédelem és biztonság részben válassza a Tartalombeállítások lehetőséget. Keresse meg az „Értesítések” lehetőséget.

Az Értesítések ablakban az "Engedélykérés küldés előtt (ajánlott)" opció alapértelmezés szerint engedélyezve van.

Itt hozzá kell adnia a webhelyet a "Blokkolás" vagy az "Engedélyezés" szakaszhoz.

A push értesítések letiltása a Microsoft Edge-ben

Jelentkezzen be a Microsoft Edge böngésző beállításaiba. Válassza az "Opciók" lehetőséget. Az "Opciók" ablakban kattintson a "Nézet" elemre Extra lehetőségek". A "Speciális beállítások" ablakban válassza az "Értesítések" lehetőséget, majd kattintson a "Kezelés" gombra.

Az Értesítések kezelése ablakban megjelennek azok a webhelyek, amelyek engedélyt kérnek az értesítések megjelenítésére. Megváltoztathatja bizonyos webhelyek engedélyeit.

Cikk következtetései

A felhasználó önállóan letilthatja a böngészőben a push (push) értesítéseket, amelyeket számítógépe Asztalára kap, lehetővé téve értesítések küldését egy adott webhelyről.

A push értesítések akkor is megjelennek a böngészőablakban, ha elküldésük idején offline állapotban volt. Ez egy nagyszerű marketingeszköz az üzleti termékek és szolgáltatások népszerűsítésére. Ennek ellenére zavarhatják a felhasználókat, ha hangjelzés kíséri őket. Olvasson tovább, hogy megtudja, hogyan kapcsolhatja ki őket.

A webes push értesítések engedélyezése vagy letiltása a Google Chrome-ban

Menjen a böngésző beállításaihoz

Kattintson a beállítások ikonra a böngészőablak jobb oldalán, és válassza a "Beállítások" lehetőséget.

Válasszon speciális beállításokat

Görgessen le az oldalon, és válassza a "Speciális beállítások" lehetőséget.

Válassza a Tartalombeállítások lehetőséget

Kattintson a „Tartalombeállítások” lehetőségre az „Adatvédelem és biztonság” részben.

Válassza a Figyelmeztetések lehetőséget

Kattintson a Figyelmeztetések elemre.

Itt hozzáadhat olyan webhelyeket, amelyek riasztásait szeretné megkapni, vagy letilthatja azokat a webhelyeket, amelyek riasztásai nem érdekelnek.

Azt is beállíthatja, hogy értesítések küldésére vonatkozó engedélykérést kapjon.

Használjon push értesítéseket, hogy tájékoztassa ügyfeleit a raktárkészletről, az eladásokról és a blogod legújabb bejegyzéseiről.

És annak érdekében, hogy értesítései ne legyenek blokkolva, csak azoknak a felhasználóknak küldje el azokat, akik beleegyeztek, hogy megkapják.

Push értesítések a SendPulse-ban

Az értesítések küldése szolgáltatásunkban ingyenes - bármilyen mennyiségben és örökre! Ha már csinálod email marketing, használja a push-ot további üzenetküldési csatornaként. Például az ünnep előestéjén küldött egy e-mailt a kedvezményről egy különleges napra, de az előfizető nem nyitotta meg. Küldj push értesítést X napon, és nagyobb esélyed lesz az eladások növelésére.

Személyre szabhatja és szegmentálja az értesítéseket a személyre szabott élmény érdekében, tesztelje az üzeneteket, állítsa be az automatikus küldést bizonyos események után. Webhelyenként mindössze egyetlen kódsor távolítja el Önt a magas konverzióktól és a feláraktól.

2015 óta a technológia gyorsan népszerűvé vált. Push API a Chrome-ból. A különböző híroldalak (és nem csak híroldalak) látogatása során a látogatók egyre gyakrabban kapnak egy ilyen rendszerkeretet egy kéréssel:

Google Chrome rendszerablak, amely engedélyt kér értesítések kézbesítésére a webhelyről.

Őszintén az egyik legígéretesebbnek tartom ezt a tartalomszolgáltatási csatornát (vagy felhasználószerzést, bárhogy is nevezzük). Talán még pár év múlva is ezek a push értesítések ugyanolyan kötelező attribútumai lesznek minden önmagát tisztelő híroldalnak, ami ma az RSS és a közösségi oldalakon.

Ez a technológia azonban ma még meglehetősen fiatal, és nem csak a hazai interneten, hanem a külföldieken is kevés irányelv létezik a használatára. Nem kell messzire keresni a példát - még maga a Google is, amikor bejelentette a Push API-t, könnyekig sovány sajtóközleményt adott ki. És csak most, miután néhány órán át beleásta magát a Google fejlesztőknek szóló GYIK-be, információkat gyűjthet annak érdekében, hogy legalább működő szkripteket gyűjtsön a push értesítések olvasóinak küldéséhez.

Hogyan készíthet ilyen push értesítéseket a webhelyére? Itt két lehetőség van: használjon harmadik féltől származó szolgáltatásokat (már léteznek, és néhány nagyon jó), vagy hozzon létre saját megoldást. Mivel én támogatom a harmadik fél szolgáltatásainak minimális használatát az oldalon, a város felé vezető utunk előre eldöntött volt.

De az igazságosság kedvéért érdemes néhány szót ejteni a külső megoldásokról. Bevallom, nem nagyon tanulmányoztam ezt a piacot (az okot fentebb említettem), de nem szabad megemlíteni a OneSignal szolgáltatást, melynek legvonzóbb tulajdonsága, hogy szolgáltatásaik teljesen ingyenesek - az adatok eladásával keresnek az ügyféloldal látogatói. Van egy Jeapie szolgáltatás is, nagyon hozzáértő marketinggel állnak az oldalukon, és általában jó visszajelzés. Érdemes azonban megjegyezni, hogy a Meduza egy időben megtagadta szolgáltatásaikat - A platform egyszerűen nem volt felkészülve arra a sok lökésre, amelyet a Meduza hatalmas közönségének kellett küldenie.

Végrehajtás. Hitelesítési adatok beszerzése a Google-tól.

A forrásadatokban egy oldal van beírva Sínek 3.2.8 a feladat pedig az, hogy készítsünk rajta értesítést a Chrome-hoz.

Az első lépés az oldal átvitele HTTPS-re (secure hypertext protocol), azaz SSL-tanúsítvány létrehozása a webhely számára. Enélkül a push értesítések nem működnek (rendes http-vel nem ellenőriztem, de mindenhol így van kiírva). Nem írok arról, hogy mi az SSL, mivel fogyasztják, hogyan kell tanúsítványt tenni a szerverre és csatlakoztatni - az internet tele van hasonló cikkekkel. Csak a StartSSL-t ajánlom erre a célra. Ez egy jó Hitelesítés-szolgáltató, amellyel az összes általam ismert böngésző barátok, szándékosan egyszerű regisztrációs és ellenőrzési eljárással (csak a minimumot kell tudni angol nyelv), hogy abszolút ingyenes SSL tanúsítvány belépő szint, amely további öt (sic!) aldomaint tartalmazhat.

Tehát megkaptuk a tanúsítványt, és ennek megfelelően konfiguráltuk az Nginxet vagy az Apache-t. Most címsor böngésző oldalunk címe mellett zölden világít, a legcukibb kis zár, a felirat https://,és ha a pénz érdekel, a szervezet neve.

Tovább megyünk Google Cloud Platform, ahol regisztrálunk új projekt, elnevezése például MySite-Push.

Hozzon létre egy új projektet a Google Cloud Platformban

Néhány másodperc múlva, amikor a projekt létrejön, a szakaszon keresztül Csatlakozás a Google API-hoz, link Engedélyezze és konfigurálja az API-t lépjen arra a szakaszra, ahol a teljes lista API módszerek mindenkinek Google szolgáltatások. Ide kell foglalnunk a módszert Google Cloud Messaging a Mobile API részből.

Módszer Google Cloud Messaging a Mobile API részből

Valószínűleg a módszerhez való csatlakozáskor a Google további adatok regisztrálását kéri. Például meg fogja kérni, hogy tisztázza, honnan hívják az API-t, majd jelezzük, hogy milyen típusú kezelőre van szükségünk (például webszerver).

Ezután megadjuk a szerver IP-címét (ha kérik), és létrehozunk egy privát kulcsot, amely a kérések engedélyezésére szolgál. Erre a kulcsra természetesen szükségünk lesz a jövőben.

Privát kulcs generált a Google API eléréséhez

A gomb megnyomása után Kész egy oldalon találjuk magunkat, ahol meg kell adnunk a domaint, és meg kell erősítenünk a jogosultságokat a Search Console eszközeivel. Az interneten is jó néhány cikk található erről, és maga az eljárás is intuitív. Szóval ne álljunk meg itt.

Valójában nincs is szükségünk másra a Google Cloud Platformtól. Kulcs és azonosító.

Végrehajtás. A webhely kezdeti beállítása.

Most gyökérkönyvtár webhelyünkhöz hozzá kell adnunk egy fájlt manifest.json amely a következőket fogja mondani :

( "name": "mysite.ru Push teszt", // Webhely neve "megjelenítés" : "standalone", // Adja meg, hogy hol jelenjenek meg az értesítések "gcm_sender_id": "258466066904" // Ugyanaz az alkalmazásazonosító a Google Cloud Platformban )

Ez a legtöbb szükséges minimum információk a manifeszthez. Lehet google-zni és ott milyen további paramétereket lehet megadni.

Nos, add hozzá a részt metacímke a jegyzékre mutató hivatkozással:

Most ugyanott, a gyökérmappában hozzon létre egy fájlt push.js, ahol a következő kódot írjuk be:

"szigorúan használd"; function SendPushMe() ( if ("serviceWorker" a navigátorban) ( console.log("A Service Worker támogatott"); navigator.serviceWorker.register("/sw.js").then(function() ( return navigator.serviceWorker .ready; )).then(function(reg) ( console.log("Service Worker készen áll:^)", reg); reg.pushManager.subscribe((userVisibleOnly: true)).then(function(sub) ( console.log("végpont:", al.végpont); $.get("https://mysite.ru/createpushadresat?adresat=" + sub.endpoint, function(data) ()); )); )) .catch(function(error) ( console.log("Service Worker error:^(", error); )); ) )

Mit csinál ez a kód? A SendPushMe() metódus meghívásakor ellenőrzi, hogy a böngésző támogatja-e a push értesítésekre való előfizetést. Ezután, ha igen (a fejlesztői naplókonzolon a „ A Service Worker támogatott”, különben hibaüzenet jelenik meg ott), megpróbál regisztrálni Szervizmunkás amely hamarosan megjelenik a /sw.js Ebben a pillanatban a felhasználó egy kérést fog látni a böngészőtől a művelet megerősítésére. Ezután, ha a felhasználó beleegyezik, a dolgozó regisztrálásra kerül, és a címen https://mysite.ru/createpushadresat GET kérés egy változóban cím egyedi böngészőazonosító kerül átadásra. A fejlesztő naplókonzoljában is megjelenik.

Most hozzunk létre egy Service Workert. Ez lesz a fájl sw.js gyökér mappában:

"szigorúan használd"; self.addEventListener("telepítés", függvény(event) ( event.waitUntil(self.skipWaiting()); )); self.addEventListener("push", függvény (event) ( event.waitUntil(fetch("/latest.json").then(function (response) ( if (response.status !== 200) ( console.log(") Latest.json kérelem hiba: " + response.status); throw new Error(); ) return.json().then(function (data) ( if (data.error || !data.notification) ( console.error ("Legújabb.json formátumhiba", data.error); dobja új hibát(); ) var title = data.notification.title; var body = data.notification.body; var icon = "https://mysite. ru/my_beautiful_push_icon.png"; return self.registration.showNotification(title, ( törzs: törzs, ikon: ikon, adatok: ( url: data.notification.url ) )); )).catch(function (err) ( konzol .error("Adathiba lekérése", err); )); ))); )); self.addEventListener("notificationclick", függvény (esemény) ( event.notification.close(); var url = event.notification.data.url; event.waitUntil(clients.openWindow(url)); ));

Ez a kód a hívás után egy értesítést hoz létre, amelynek adatait a fájlból veszik legújabb.json található https://mysite.ru/latest.json. Ha a fájl kérése meghiúsul, vagy a webhely érvénytelen json-kóddal válaszol, egy megfelelő bejegyzés jelenik meg a fejlesztő naplókonzoljában. Ha minden rendben van, push generálódik. A push változókból jön létre test- ez egy rövid szöveges üzenet, cím- nyomja meg a címet, url- az a hivatkozás, amelyet a felhasználó követni fog, amikor az értesítésre kattint, és ikon- egy gyönyörű és tetszetős (lehetőleg négyzet alakú, oldala legalább 150 képpont) ikon, amelyen a weboldal logója látható. És konkrétan ebben a forgatókönyvben ikon- statikus paraméter, és az összes többi dinamikusan frissül legújabb.json.

Kicsit át lehet vinni a szkriptet, hogy az ikon egyben dinamikus paraméter is legyen, de nekem úgy tűnik, ez teljesen felesleges lesz, jobb az értesítéseket márkajelzéssel ellátni, mint olyan képet adni, amit egy kis nyomással nem igazán látsz .

És végül alkotunk legújabb.json ahonnan az értesítésekhez szükséges információkat veszik. Szerintem nem nehéz kitalálni, hogy a gyökérmappában lesz. És íme a tartalma:

("értesítés":("url":"https://mysite.ru/posts/1","title":"Jó hír","body":"Nagyszerű előfizetést tettünk a Chrome-ra"), "_id" :319)

Feltételezem, hogy nincs értelme elmagyarázni, hogy mi van ebben a json-ban, úgyis minden világos.

Elméletileg az oldalunk, vagy inkább a kezelőfelülete mára szinte teljesen készen van. Már csak annyi a dolgunk, hogy megtanuljuk, hogyan közöljük a Google-lal, hogy új frissítéseink vannak, hogy ők viszont értesítsék az előfizetőink böngészőjét. És természetesen dinamikusan frissítjük legújabb.json. Ez azonban a következő részben lesz.

P.S. Egyébként most azonnal meghívhatod a SendPushMe()-t, és megnézheted, mi történik. Ehhez például létrehozhat egy hivatkozást, amelyre kattintva ez a metódus meghívódik és meghívódik:

Hívja a SendPushMe-t

És ha minden helyesen történik, egy ilyen hivatkozásra kattintás után megjelenik egy rendszerablak egy kéréssel:

De még ne rohanjon az engedély megadásával. Kattintson a keresztre, és egyelőre zárja be az ablakot.

Ha már rákattintott, akkor nyissa meg a webhely beállításait (ha valaki nem tudja, kattintson a zöld zárra a címsorban), és a „Figyelmeztetések” menüpontban állítsa vissza a Globális beállítást az alapértelmezettre („Kérdés”).

Most nyissa meg a fejlesztői konzolt F12 -> Konzol. Ezután kattintson újra a „SendPushMe hívása” hivatkozásra.

A konzolon egymás után két sornak kell megjelennie A Service Worker támogatott"és" A Service Worker készen áll" ill. És magának a böngészőnek ismét engedélyt kell kérnie. És most megadhatja a beleegyezését.

Ennek eredményeként három ilyen bejegyzésnek kell megjelennie a fejlesztői konzolon:

Push előfizetési napló Chrome böngésző

Ha emlékszel a forgatókönyvre push.js GET kérést küld. Ezzel a kéréssel a végpontot adják át a szervernek. Kicsit később megtanítjuk az oldalt, hogy emlékezzen rájuk, hogy ezekkel az azonosítókkal tudjunk küldeni.

Mi van most? Teljes értékű előfizetőnk van az oldalról érkező értesítésekre, és most már elkülöníthetjük az előfizetők azonosítóit. Most maga Isten mondta nekem, hogy próbáljak értesítést küldeni magamnak.

Ehhez értesítenie kell a Google-t az új értesítésről, ő pedig tájékoztatja erről előfizetőinket (vagy egyetlenegyet, ahogy most mi is).

A Google egy speciális POST-kéréssel kap értesítést a címre https://gcm-http.googleapis.com/gcm/send itt ebben a formában:

Content-Type:application/json Authorization:key=A...A //Alkalmazásunk privát kulcsa, amelyet az utolsó részben kaptunk. ( "to" : "bk3RNwTe3H0:CI2k_...", // Az előfizető egyedi azonosítója. "data" : ( "cím": "Portugália vs. Dánia", // Értesítési adatok "szöveg": "5 to 1" ) , )

Ahogy sejtheti, ez a kérés egy adott előfizetőt értesít, és az értesítéshez szükséges adatokat közvetlenül a kérelemben továbbítják. Értesítéseink tartalma azonban a latest.json fájlból származik. Igen, és túl merész dolog személyes kérést küldeni minden egyes előfizetőnek. Bár, ha egyéni és személyes értesítéseket kell küldenie, ez a lehetőség éppen megfelelő az Ön számára. A kéréseket azonban kötegekben küldjük, amelyekhez a következő sémát használjuk:

Content-Type:application/json Authorization:key=A...A //Alkalmazásunk privát kulcsa, amelyet az utolsó részben kaptunk. ( "regisztrációs_azonosítók" : ( [...] // Előfizetői azonosítók tömbje. ), )

Ebben az esetben, mivel a kérés magához az értesítéshez nem tartalmaz adatokat, a böngésző felveszi a kapcsolatot a Szolgáltatóval, akitől tájékoztatást kap.

Hozzon létre és küldjön egy kérést a terminálon (SSH-konzolon) keresztül:

becsavar--header "Engedélyezés: kulcs=AI...3A" \ --header Content-Type:"application/json" \ https://gcm-http.googleapis.com/gcm/send \ -d "(\" regisztrációs_azonosítók\":[\"cym...W3\"])"

SSH-konzol egy elküldött POST-kéréssel és az ebből eredő Push-val

Ez a képernyőkép magát a kérést és annak eredményét is mutatja – ez az értesítés egy másodperccel később érkezett.

Igen, megcsináltuk - a legfontosabb és, úgy tűnik, homályos rész mögött. Az ebben az irányban végzett további munka attól függ, hogy webhelye mire van írva. És ha az Ön webhelye Railsre van írva, akkor még mindig úton vagyunk. Ha nem, akkor ne rohanjon búcsúzni: a következő záró részben visszatérek a Webes értesítések témakörében azokra a kérdésekre, amelyek megoldása bármilyen szakterületű webfejlesztő számára hasznos lesz.

Tehát Chrome Push értesítések egy Ruby On Rails webhelyhez

Először is hadd mondjam el, hogy ez a kódpélda egy Rails 3.2.8-as webhelyre érvényes!

Lényegében a következőket kell tennünk:

  1. Funkcionalitás, hogy oldalunk emlékezzen az előfizetői azonosítókra;
  2. Modell push értesítések létrehozásához;
  3. Dinamikusan frissített latest.json;
  4. Nos, adjunk hozzá néhány sor kódot a vezérlőhöz, amely egy POST kérést küld a Google szerverének, amikor új Push-t hoz létre.

Ha elfelejtetted, hadd emlékeztesselek arra, hogy az első részben azonnal kiegészítettük push.js egy sor GET kérés létrehozásához oldalunknak, amely minden újonnan aláírt személy böngészőazonosítóját továbbítja.

Most pedig győződjünk meg arról, hogy oldalunk megérti, hogy milyen kérésről van szó, és elmenti az adatokat. Először is hozzunk létre egy modellt és vezérlőt push előfizető:

Rails g modell pushsubscriber browserkey:string rake db:migrate rails g kontroller pushsubscribers létrehozás törlés

A "/createpushadresat" egyezése a következővel: "pushsubscribers#create", via: : kap

Mostantól webhelyünk továbbítja a bejövő GET kéréseket a vezérlőnek push előfizetők , ahol a módszerrel kerül feldolgozásra teremt . Állítsuk be:

def teremt@newsubscriber = Pushsubscriber.new(:browserkey => URI(params[:adresat].to_s).path.split("/").last) ha@newsubscriber.ment? render:text => "ok" más render:text => "sikertelen" vége vége

Azonnal meg kell mondanom, hogy ez a kód csak arra szolgál, hogy megmutassa, milyen irányba kell fejlődnie. Szinte semmit sem ellenőriz, és nem használ sem érvényesítőt, sem reguláris kifejezést – ne így használd. Csak azt ellenőrzi, hogy a bemeneti paraméter hivatkozás formájában tartalmaz-e adatokat, majd a perjel utáni utolsó szakaszt kivonja ebből a hivatkozásból és eltárolja az adatbázisban. Ebben a formában van push.js továbbítja végpont. És a böngésző azonosítója a végpont utolsó szakaszában (a perjel után) található.

Így az emberek elkezdtek előfizetni a frissítéseinkre, és most az adatbázisunk azonosítókkal bővül. Ideje elkezdeni az értesítéseket küldeni nekik:

Rails g állvány értesítés címe:string törzsszöveg:karakterlánc url:string sikerszám:integer rake db:migrate

Ez a Scaffold parancs egy minimálisan működő modellt hoz létre számunkra értesítés mezőkkel cím,törzsszöveg,urlés sikerszám. Az első három - a jövőbeli figyelmeztetés címe, szövege és linkje, ill. sikerszám- A sikeresen továbbított push-ok száma, amelyről a Google értesíteni fog minket. A modellhez egy nézetekkel rendelkező vezérlő is létrejön. Természetesen ott továbbra is be kell írnia a generált nézeteket a webhely általános kialakításába, és „be kell zárnia” a vezérlőt szűrő előtt’ami, hogy csak a megfelelő hozzáféréssel rendelkezők tudjanak „nyomni”. De ezt egyénileg kell eldönteni. És most már csak egy kicsit vagyunk (valójában egyáltalán nem sok) rögzítse a létrehozási módszert notifications_controller.rb:

igényelnek"nyitott uri" igényelnek"multi_json" igényelnek"uri" def teremt@notification = Notification.new(params[:notification]) ha@notification.save @adresats = Pushsubscriber.all.collect(&:browserkey) @keys = "("regisztrációs_azonosítók":" [e-mail védett] _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["Authorization"] = "key=A...A" # Írja be ide a privát kulcsot req["Content-Type"] = "application/json " res = http.request(req, @keys) parsed_json = ActiveSupport::JSON.decode(res.body) @notification.update_attribute(:success, parsed_json["siker"].to_i) végeátirányítás az értesítések_útvonalára vége

Ez a kód új értesítés (@notification) létrehozása és mentése esetén POST kérést generál és küld a Google-nak (pontosan úgy, ahogy fent tettük), amelyben ÖSSZES előfizetői azonosítónkat json formátumban továbbítjuk a Google specifikációi szerint. Ezután a Google-nak a json-jával kell válaszolnia nekünk. Ahonnan a sikeres szekció elemzésre kerül, amelyből a sikeresen továbbított push-ok száma - szám kerül tárolásra. Ugyanitt kerül átadásra a meghibásodási szakasz is, amelyben ennek megfelelően az ilyen vagy olyan okból ki nem adott lökések száma kerül tárolásra. Általában saját szemével láthatja, milyen adatokat továbbít a Google, esetleg úgy dönt, hogy elment valami mást.

És pont mint legutóbb adott kódot nem veszi figyelembe, hogy a Google esetleg nem válaszol, vagy hibaüzenettel válaszol, és nem érvényes json az elemzéshez. Fejlesztése során vegye figyelembe az ilyen eseteket.

Nos, most a Notification.new űrlap segítségével (készítette a Scaffold) megpróbálunk egy push-ot létrehozni az oldalunkon, és… Voilà! A rendszer működik - értesítést kaptunk!

Az értesítés valódi tartalma továbbra is a statikusból származik legújabb.json. Az utolsó dolog, ami maradt, a fájl dinamikus frissítésének kényszerítése. Hogyan kell csinálni? Nagyon egyszerű, mert már van Értesítési modellünk, és be legújabb.json pontosan az utolsó értesítésünket kell tartalmaznia (azaz Notification.all.last). Ehhez eltávolítjuk a static latest.json fájlt a webhely gyökérmappájából, és hozzáadjuk a webhelyhez útvonalak.rb következő útvonal:

A "/latest.json" egyezés a következővel: "notification#latestpush", via: :get

Ez most legújabb.json módszer fogja előállítani legújabbpush vezérlőben értesítés. Hozzuk létre ezt a módszert:

Def latestpush @push = Pushnotification.all.last render json: "("értesítés":("url":"" [e-mail védett] _s+"","cím":"" [e-mail védett] _s+"","body":"" [e-mail védett] _s+""),"_id":" [e-mail védett] _s+")".as_json end

Most hozzunk létre egy másik értesítést a Notification.new űrlapon keresztül. És végül egy lökést látunk a monitor sarkában, pontosan azzal a tartalommal, ami éppen a formába került.

Úgy tűnik, ez minden? Mindent, de nem egészen. Először is feliratkoztunk, de nem iratkoztunk le - legyünk őszinték, és adjuk meg ezt a lehetőséget az oldal látogatóinak. Másodszor, előfizettünk, de még mindig nem informatív, és mindenki számára látható, és nem csak Chrome felhasználók, amelyre az előfizetés történik. Harmadrészt pedig egy nagyon érdekes játékot készítettünk weboldalunkon, aminek megvannak a maga használati szabályai. Csak erről fogunk beszélni történetünk következő, harmadik és végül utolsó részében Chrome Push API.