Один MaxCode вместо десятка ключей: как PushMeld добавляет уведомления туда, где их не было
Один MaxCode вместо десятка ключей: как PushMeld добавляет уведомления туда, где их не было
Képzelj el egy otthoni számítógépet, amely minden éjjel biztonsági másolatot készít fontos fájlokról. Az eredmény a rendszernaplóba kerül: a művelet sikeresen befejeződött vagy hiba történt.
Technikailag minden működik. A probléma reggel jelentkezik: az embernek magának kell megnyitnia a naplót és ellenőrizni az eredményt. A programnak nincs mobilalkalmazása, nem támogatja az értesítések küldését a fejlesztők részéről, és külön infrastruktúrát senki sem szeretne létrehozni csak egy funkció érdekében.
A PushMeld segítségével azonban egyszerű lekérdezést lehet ehhez hozzáadni. A mentés befejezésekor üzenet érkezik a telefonra: a másolat elkészült vagy a művelet hibával végződött. Szükség szerint ugyanezt az értesítést emailben is meg lehet kapni.
Az ötlet alapja a MaxCode — egy egységes védett kód, amelyen keresztül a PushMeld megkapja az összes szükséges információt az értesítés további kézbesítéséhez.
Amikor először megismerkedtem a projekttel, a MaxCode tűnt a legérdekesebb része. A push-értesítések és az email rég nem újszerűek. Sokkal fontosabb, hogy a kiindulási program nem irányítja többé a kézbesítést. Csak tájékoztat a PushMeld számára az eseményről, a további folyamat már rajta kívül zajlik.
Az alábbiakban tisztázzuk a kontextust: a PushMeld a MELD® rendszerhez tartozik, míg a DigiMeld UG a fejlesztő cége.
Csak az esemény ismeri a forrást
A szokásos értesítési integráció gyorsan részletekkel szűkíthető. Meg kell határozni a projektet, beállítani a hozzáférést, tárolni a kulcsokat, figyelembe venni az eszköz tokenjeit, bekapcsolni az email küldést és eligazodni a különböző mobilplatformok követelményeiben.
A PushMeld ezeket mind áthelyezi egy külön, kezelhető környezetbe.
A biztonsági mentőprogram csak annyit tud, hogy a művelet sikeresen befejeződött vagy hibával végződött. Csak a MaxCode-t, a fejlécet és az üzenet szövegét küldi tovább.
Neki nem kell tudnia:
hány eszköz csatlakozik a projekthez;
Ezt mind a PushMeld határozza meg belülről.
Szerintem az alapgondolat itt rejlik: a MaxCode átveszi az irányítást az értesítés felett a programtól, ahol az esemény történt, egy olyan rendszernek adva át, ami a kézbesítésért felelős.
Olyan MaxCode, mint sok kulcs helyett egységes kód
Az általában alkalmazott külső szolgáltatás csatlakoztatásakor több entitással kell foglalkozni. Külön a projekt azonosító, külön a hozzáférési kulcs, és szükség lehet titkosítókra, eszköz tokenekre és a szolgáltatók beállításaira.
A MaxCode mindent összevon egy biztonságos kódban, ami az üzenetküldéshez szükséges.
Minden projekthez saját MaxCode készül, amely összekapcsolja a projekt azonosítóját, a küldési jogosultságot és az adatokat, hogy a PushMeld alkalmazhassa a megfelelő kézbesítési konfigurációt.
A küldő rendszer nem köteles külön tárolni:
az API-kulcsot és a további titkot;
az összekapcsolt eszközök tokenjeit;
az egyes címzettek paramétereit;
a különböző push szállítók kulcsait;
Csak egy MaxCode kerül az alkalmazásra, weboldalra vagy szkriptre. Miután ez megvan a üzenettel, a PushMeld magától felismeri a projektet, ellenőrzi a kérést, megtalálja a csatlakoztatott eszközöket és kiválasztja a rendelkezésre álló csatornákat.
Ezért a MaxCode nem tekinthető ugyanúgy, mint egy kulcs a többi mellett. Célja, hogy helyettesítse a széttagolt kulcsok, tokenek és azonosítók egységes kóddá alakítását.
Olyan értesítés, ahol nincs is erre lehetőség
A MaxCode bármilyen olyan rendszerben alkalmazható, amely képes HTTP-kérést végrehajtani önállóan vagy egy kis segédszkripten keresztül.
Például a PushMeld értesítést küldhet, amikor:
az otthoni szerver nem válaszol;
a biztonsági mentés befejeződött vagy hibával végződött;
a saját szkript hosszabb feladatot hajtott végre;
3D nyomtató befejezte a nyomtatást;
egy érzékelő szivárgást észlelt;
ajtó nyílt vagy riasztó aktiválódott;
megjelent a weboldalon valami fontos információ;
a termék ára változott;
hely szabadult fel íráshoz;
régi program nagy fájlt fejezett be.
Minden ilyen forrásnak nem feltétlenül van saját alkalmazása. Vannak eszközök, amelyek csupán egy adott címhez képesek elérni, mások saját parancs futtatását teszik lehetővé, harmadikok rövid automatizációs szkripttel egészíthetők ki.
Ez már elegendő ahhoz, hogy az eseményt át lehessen adni a PushMeldnek.
Az esemény forrása ebben az esetben nem válik önálló értesítési szolgáltatássá. Csak rögzíti az eseményt, és elküldi a MaxCode-t tartalmazó üzenetet. Minden más — a címzettek, eszközök, csatornák és technikai útvonal — a PushMeld oldala marad.
Nem csak push, hanem email is
A PushMeld elnevezést elsősorban az értesítésekkel kötik össze a telefonokon, de a projektnak ez nem jelenti a lehetőségek végső határát.
A kézbesítéshez használhatók push, email vagy mindkettő — a projekt beállításaitól és az elérhető lehetőségektől függően.
Például egy sikeres mentés esetén elegendő az értesítés a telefonra. Egy komolyabb hiba esetén további emailt is küldhetünk.
A kiinduló program mindkét esetben ugyanazt a MaxCode-alapú kérést hajtja végre. Nincs szükség különlevelek szerverhez való csatlakoztatására, a beállítások mentésére vagy egy második független szkript létrehozására.
A kézbesítési csatornákról a PushMeld dönt. Ha később a felhasználó az emailt hozzáadja egy már meglévő projekthez, nem kell átírni a mentőszkriptet.
Az email nem tömeges hírlevélként működik, hanem egy kiegészítő módja az eseményről való tájékoztatásnak, a csatlakoztatott projektből érkező információnak.
Egy projekt — egy eseményforrás
A projektek lehetővé teszik az értesítések cél szerint történő elkülönítését.
Az egyszerű felhasználó például létrehozhat:
HomeServer— otthoni szerver állapota;Backups— biztonsági másolat eredményei;SmartHome— érzékelők és otthoni automatizálás;PriceMonitor— árváltozás követése;Website— új észrevételek az oldalon.
Minden projekt saját MaxCode-t kap. Ezáltal az otthoni automatizálás nem használja a weboldal kódját, a árfigyelés nem keveredik a biztonsági mentésekkel.
A felületen azonnal látható, honnan érkezett az üzenet és melyik feladathoz tartozik.
Ez az elkülönítés különösen akkor hasznos, ha több forrás van. Ahelyett, hogy egyetlen haladó adatfolyam lenne, több független csatorna nyílik meg, mindegyik saját beállításokkal.
Új telefon nem igényel programmódosítást
A push token általában egy adott alkalmazás telepítéséhez kötött egy adott eszközön.
Ha valakinek két telefonja és egy tabletje van, az már több token. Újratelepítés vagy eszközcsere esetén ez változhat vagy akár meg is szűnhet.
A MaxCode ezen a szinten túl van. Projekthez kötött, nem egy telefonhoz.
A felhasználó maga határozza meg, mely eszközök kapcsolódnak a projekthez és kaphatnak értesítést. Például a házi szerver értesítéseit a személyes telefonjára és tabletre küldi, a munkahelyi oldal eseményeit csak a munkás okostelefonra.
Új telefon vásárlásakor vagy régi eszköz kikapcsolásakor az eredeti szkript ugyanazt a MaxCode-t használja tovább. A aktuális címzettek listája a PushMeld-ben változik.
Ugyanez van az email hozzáadása vagy más kézbesítési mód módosítása esetén is.
Ezért a MaxCode nem pusztán kulcsok számának csökkentése, hanem az esemény és az útjának közötti határ meghúzása. Minden, ami ezen a határon túl van, módosítható anélkül, hogy az eredeti programot érintené.
Ingyenes a mindennapi felhasználás számára
Az infrastruktúratermékeket gyakran nagyvállalati rendszeren, szerverparancsokon és nagyméretű adatokon keresztül írják le. Ezért elsőre úgy tűnhet, a PushMeld kizárólag profi fejlesztők és vállalatok számára készült.
Gyakorlatban azonban egy egyszerű otthoni feladattal is elindulhatunk.
Az alkalmazás ingyenes. A MaxCode fő funkciói szintén ingyen működnek, a rendelkezésre álló korlátokon belül. A felhasználó létrehozhat projeket, csatlakoztathat eszközt, és értesítéseket kaphat saját szerveréről, weboldaláról, szkriptjéről vagy otthoni automatizálásából.
Ez nem csak egy ideiglenes demó mód, ami a termék ismertetése után leáll. A mindennapi használathoz is elegendő lehet az ingyenes szint.
Előfizetési opciók a második, harmadik vagy későbbi szintig szükségesek elsősorban, ha növekszik a lekérdezések száma, extra funkciókra van szükség vagy a rendszer nagyobb léptékben kerül használatba.
Egy elv – egy felhasználónak és egy cégnek
A MaxCode működési mechanikája nem változik a feladattömeg növekedésével.
Felhasználó például értesítést kap arról, hogy a biztonsági mentés befejeződött. Egy kis műhely megtudja, hogy a 3D nyomtató hosszú nyomtatási folyamata véget ért. Nézők egy online bolt új rendeléséről értesülnek. A technikai csapat a szerver hibájáról kap információt.
A volumenek és projektek száma eltérhet, de az alapelv ugyanaz marad.
Például szervezetének három forrása lehet:
Orders— új megrendelések;Payments— befizetések és visszatérítések;ServerStatus— technikai hibák.
Mindenhez külön MaxCode és beállított eszközök tartoznak. A megrendelések a tulajdonosnak és a feletteseknek, a pénzügyi események a felelős munkatársnak, a szerver hibák pedig a megfelelő műszaki személyzetnek jutnak el.
A rendszer ugyanazt az alapfunkciót végzi: tartalmat és a megfelelő MaxCode-t továbbít az eseményről.
Ha változnak a munkatársak, eszközök vagy a kézbesítési mód, nem kell újra konfigurálni az eredeti rendszert. A kezelést belül a PushMeld végzi.
Az APNs, FCM és HMS láthatóságán kívül maradnak
A push kézbesítéshez különböző szolgáltatók használhatók: APNs, FCM vagy HMS. Mindegyik saját szabályokkal, tokenekkel és technikai sajátosságokkal rendelkezik.
Ezek rendszerint alkalmazás fejlesztésekor figyelembe veendők. A PushMeld esetében azonban ezek mind a MaxCode hatáskörébe esnek.
A házi szerver, weboldal vagy szkript nem határozza meg, hogy ki melyik telefonon fogadja az értesítést vagy milyen infrastruktúrán keresztül történik az elküldés. Csak egy kérés, a MaxCode és az esemény tartalma érkezik.
A MaxCode nem helyettesíti az Apple, Google vagy Huawei infrastruktúráját, hanem egy egységes belépési pontot teremt ezek előtt.
Így a kiinduló rendszer nem kell változzon az eszközök változásával. Ma például FCM-en keresztül küld, lehet, hogy holnap APNs-en, és később még egy új telefon vagy email csatlakozik a projekthez. Az eseményt feldolgozó program nem változik.
MaxCode és a szokásos API-kulcs – nem ugyanaz
A hagyományos API-kulcs legfeljebb az alkalmazás hozzáférését engedélyezi a szolgáltatáshoz. A kulcs ellenőrzése után a rendszer külön meg kell adja a projektet, a címzetteket és a kézbesítés módját.
A MaxCode ezeket egyetlen kódban egyesíti.
Ez lehetővé teszi a PushMeld számára, hogy felismerje a projektet, ellenőrizze a kérés helyességét, és alkalmazza a legfrissebb beállításokat. A küldő program csak elküldi a MaxCode-t és az esemény tartalmát, a további útvonalat nem irányítja.
Gyakorlatilag így különböztethető meg röviden: az API-kulcs hozzáférést ad, a MaxCode pedig egyben meghatározza, hogy ebben a kontextusban melyik funkció fut majd.
Értesítés, mint integrálható szolgáltatás
A PushMeld megismerése után nem mondanám, hogy csak egy push-értesítés küldő alkalmazás.
Pontosabban fogalmazva, ez egy módszer arra, hogy az értesítéseket oda helyezzük, ahol korábban nem voltak, és attól függetlenül irányíthatjuk őket.
Forrás lehet otthoni szerver, érzékelő, régi alkalmazás, online bolt, saját szkript vagy céges rendszer. Ha önállóan vagy egy kis adapter segítségével HTTP-kérést képes végrehajtani, az eseményt át lehet adni a PushMeldnek.
A MaxCode ezután elválasztja az eseményt a kézbesítéstől. Az egyik oldal az alkalmazás, ami jelzi, hogy mi történt. A másik oldal a PushMeld, ami meghatározza a projektet, eszközöket, csatornákat és a technikai útvonalat.
Ezért a MaxCode legfőbb értéke nem egyszerűen abban rejlik, hogy egy kóddal helyettesíti a sok kulcsot. Hanem abban, hogy az értesítésekkel kapcsolatos irányítást a kiindulási rendszeren túlra viszi.
Telefont cserélhetsz, emailt hozzáadhatsz, régi eszközt ki kapcsolhatsz, vagy a kézbesítési útvonalat módosíthatod. A program csak annyit tesz, amit elvárnak tőle: kommunikál az eseményről.
\n \"seo_title\": \"MaxCode helyett sok kulccsal: hogyan irányítja a PushMeld az értesítéseket\",\n \"seo_description\": \"A PushMeld a MaxCode segítségével egyszerűsíti az értesítések kézbesítését az eszközökön és emailen, különválasztva az irányítást az eredeti rendszertől és bővítve a lehetőségeket.\",\n \"og_title\": \"Odin MaxCode helyett tucat kulccsal: hogyan teszi a PushMeld elérhetővé a értesítéseket, ahol eddig hiányoztak\",\n \"og_description\": \"A PushMeld a MaxCode segítségével egyszerűsíti az értesítések kézbesítését az eszközökön és emailen, különválasztva az irányítást az eredeti rendszertől és bővítve a lehetőségeket.\"\n}"}