Latest newsSlovenščina
Back to feedTehnologijeNewsMeld Editorial

Один MaxCode вместо десятка ключей: как PushMeld добавляет уведомления туда, где их не было

Один MaxCode вместо десятка ключей: как PushMeld добавляет уведомления туда, где их не было

{"text": "{\n \"title\": \"Eden MaxCode namesto desetih ključev: kako PushMeld dodaja obvestila tam, kjer jih ni bilo\",\n \"slug\": \"odin-maxcode-vmesto-desyatka-klyuchey-kak-pushmeld-dobavlyaet-uvedomleniya-tuda-gde-ih-ne-bylo\",\n \"excerpt\": \"Kako MaxCode prenese upravljanje push in e-poštnih obvestil iz spletnih strani, strežnikov, skriptov in naprav v PushMeld.\",\n \"body_markdown\": \"

Predstavljajmo si domači računalnik, ki vsako noč ustvari varnostno kopijo pomembnih datotek. Rezultat je zapisan v sistemski dnevnik: operacija je uspešno zaključena ali je prišlo do napake.

Tehnično vse deluje. Neprijetnost nastopi zjutraj: osebi je treba samostojno odpreti dnevnik in preveriti rezultat. Program nima mobilne aplikacije, pošiljanje obvestil ni predvideno, za enostavno funkcijo pa nihče ne bo vzpostavljal ločene infrastrukture.

S pomočjo PushMeld je mogoče v ta proces dodati preprost zahtevek. Po končanem varnostnem kopiranju bo na telefon prišlo sporočilo: kopija je ustvarjena ali je bila operacija zaključena z napako. Če je potrebno, isto obvestilo lahko prejmete tudi po e-pošti.

Temelj te ideje je MaxCode — enotni zaščiteni kodo, prek katere PushMeld prejme vse informacije, potrebne za nadaljnjo dostavo obvestila.

Ko sem prvič spoznal projekt, se mi je MaxCode zdel najzanimivejši del. Push obvestila in e-pošta že dolgo nista novost. Veliko pomembneje je, da izvorna programska oprema ne upravlja več njihove dostave. Le sporoči PushMeld o dogodku, vse ostalo pa se zgodi zunaj njega.

Najprej razjasnimo kontekst: PushMeld je del sistema MELD®, DigiMeld UG pa je družba, ki ga razvija.

Viri vedo samo za dogodek

Običajna integracija obvestil hitro postane preveč tehničnih podrobnosti. Potrebno je določiti projekt, vzpostaviti dostop, hraniti ključe, upoštevati tokene naprav, vključiti pošiljanje po pošti in se spopasti z zahtevami različnih mobilnih platform.

PushMeld vse to prenese iz izvornega sistema v ločeno upravljano cono.

Varnostni kopiji poznajo samo eno: ali je operacija uspešno zaključena ali je prišlo do napake. Prenesejo MaxCode, naslov in vsebino sporočila.

Ni jim treba vedeti:

  • koliko naprav je povezano s projektom;

  • katero telefonsko napravo je trenutno aktivno;

  • kroz katerega ponudnika mora iti push;

  • ali je vključena dostava po e-pošti;

  • ali ima uporabnik nov pametni telefon;

  • ali je bil izklopljen star tablični računalnik;

  • kdo naj prejme določeno obvestilo.

Vse to je določeno že znotraj PushMeld.

Po mojem mnenju je prav tu glavna arhitekturna ideja projekta: MaxCode prenese upravljanje obvestil iz programa, kjer se je zgodil dogodek, v sistem, ki skrbi za dostavo.

Eden MaxCode namesto nabora ključev

Običajno ob implementaciji zunanega sistema moramo delati z več entitetami. Posamezno je identifikator projekta, posebej — dostopni ključ, poleg tega so morda potrebni še tajni ključi, tokeni naprav in nastavitve določenega ponudnika.

MaxCode združuje vse potrebno za pošiljanje v enem zaščitenem kodu.

Za vsak projekt je ustvarjen lasten MaxCode. V njem je združena identifikacija projekta, pravica za pošiljanje in podatki, ki omogočajo uporabo aktualne konfiguracije dostave s strani PushMeld.

Pošiljajoča sistem ne potrebuje ločeno hraniti:

  • identifikator projekta;

  • API-ključ in dodatni tajni kodo;

  • tokene povezanih naprav;

  • parametre vsakega prejemnika;

  • ključe različnih push ponudnikov;

  • ločene nastavitve za push in e-pošto.

V program, spletno stran ali skripto se doda en sam MaxCode. Ko ga prejme skupaj z sporočilom, PushMeld samodejno določi projekt, preveri zahtevo, najde povezane naprave in izbere razpoložljive kanale.

Zato MaxCode ni mogoče dojemati kot še en ključ, dodan k ostalim. Njegova naloga je nadomestiti celoten skupek odštekanih ključev, tokenov in identifikatorjev z enim kodom.

Obvestilo od tam, kjer ni predvideno

MaxCode je mogoče uporabiti v katerikoli sistem, ki lahko samostojno izvede HTTP-pozivali ali z majhnim vmesnim skriptom.

Na primer, PushMeld lahko obvesti, ko:

  • domači strežnik preneha odgovarjati;

  • varnostno kopiranje se zaključi ali se zaključi z napako;

  • lastni skript izvede dolgotrajen postopek;

  • 3D tiskalnik konča tisk;

  • senzor je zaznal puščanje;

  • odprla se je vrata ali je sprožila alarm;

  • na spletni strani se je pojavila potrebna informacija;

  • se je spremenila cena izdelka;

  • je prosti prostor za zapisovanje;

  • stara programska oprema je zaključila obdelavo velike datoteke;

  • majhno spletno trgovino je prejel nov naročilo.

Vsak od teh virov morda nima lastne aplikacije. Nekatere naprave lahko le dostopajo do določenega naslova, druge omogočajo zagon uporabniške ukazne vrstice, tretje pa je mogoče dopolniti s kratek scenarij avtomatizacije.

To je zadostno za prenos dogodka v PushMeld.

Vir hkrati ne postane samostojni obvestilni servis. Samo zazna dogodek in pošlje sporočilo s MaxCode. Vse ostalo — prejemniki, naprave, kanali in tehnična pot — ostane na strani PushMeld.

Ne le push, temveč tudi e-pošta

Ime PushMeld je predvsem povezano z obvestili na telefonu, toda možnosti projekta s tem niso omejene.

Za dostavo je mogoče uporabiti push, e-pošto ali oba kanala — odvisno od nastavitev projekta in razpoložljivih možnosti.

Na primer, sporočilo o uspešnem varnostnem kopiranju je dovolj prikazati na telefonu. Resno napako pa je mogoče dodatno poslati po elektronski pošti.

Izvorna programska oprema v obeh primerih uporablja enak zahtevek s MaxCode. Ni ji treba ločeno vzpostavljati e-poštnega strežnika, shranjevati njegovih nastavitev in ustvarjati drugo neodvisno shemo.

Odločitev o kanalih dostave sprejme notranji sistem PushMeld. Če pozneje uporabnik doda e-pošto k že obstoječemu projektu, ni treba prepisovati varnostne kopije.

Pri tem e-pošta ni namenjena običajni množični razdelitvi, temveč je dodatna metoda obveščanja o dogodku, ki ga je posredoval povezani projekt.

En projekt — en vir dogodkov

Projekti omogočajo razdelitev obvestil po namenu.

Običajen uporabnik lahko ustvari, na primer:

  • HomeServer — stanje domačega strežnika;

  • Backups — rezultati varnostnih kopij;

  • SmartHome — senzorji in domača avtomatizacija;

  • PriceMonitor — spremembe cene;

  • Website — nove zahteve z osebne spletne strani.

Vsak projekt dobi lasten MaxCode. Zaradi tega domača avtomatizacija ne uporablja kode spletne strani, spremljanje cen pa ni zmešano z varnostnimi kopijami.

V aplikaciji je takoj jasno, od kod je prišla sporočilo in na kateri nalogi se nanaša.

Takšna razdelitev je še posebej koristna, kadar je število virov večje. Namesto ene skupne pretoka uporabnik dobi več neodvisnih kanalov, za vsak pa se lahko določijo lastne nastavitve dostave.

Novo telefonsko - brez sprememb programa

Običajen push token je povezan s specifično namestitvijo aplikacije na določenem napravi.

Če ima oseba dva telefona in tablico, je že več tokenov. Po ponovni namestitvi aplikacije ali zamenjavi naprave se lahko ločeni token spremeni ali preneha delovati.

MaxCode se nahaja nad tem nivojem. Nanaša se na projekt, ne na en telefon.

Uporabnik sam določi, katere naprave so povezane s projektom in naj prejemajo sporočila. Na primer, obvestila o domačem strežniku lahko pošiljate na osebni telefon in tablico, dogodke delovnega spletnega mesta pa samo na službeni pametni telefon.

Če oseba kupi nov telefon ali izklopi starega, izvorni skript še naprej uporablja isti MaxCode. Aktualni seznam prejemnikov se spremeni znotraj PushMeld.

Enako velja za dodajanje e-pošte ali spremembo drugih nastavitev dostave.

Zato MaxCode ni zgolj način za zmanjšanje števila ključev. Ustvari mejo med dogodkom in njegovo nadaljnjo pot. Vse, kar je za to mejo, je mogoče menjati brez posega v izvorno programsko opremo.

Brezplačno za običajne naloge

Infrastrukturni produkti so pogosto opisani prek korporacijskih sistemov, strežniških ukazov in velikih količin podatkov. Zaradi tega se zdi, da je PushMeld namenjen zgolj profesionalnim razvijalcem in podjetjem.

Na žalost lahko začnete z običavnimi domačimi nalogami.

Sama aplikacija je brezplačna. Glavne možnosti MaxCode prav tako delujejo brez stroškov v okviru razpoložljivih brezplačnih omejitev. Človek lahko ustvari projekt, poveže napravo in prejema obvestila s svojega strežnika, spletne strani, skripta ali domače avtomatizacije.

To ni začasni demonstracijski način, ki preneha delovati po spoznavanju produkta. Za vsakodnevne scenarije bo morda zadostovala brezplačna zmogljivost.

Načrti plačljivega modela so potrebni, ko se poveča število zahtevkov, so potrebne dodatne funkcije ali sistem začne delovati na večjem obsegu.

En principi za posameznika in podjetje

Načelo delovanja MaxCode se ne spreminja glede na obseg naloge.

Človek prejme obvestilo o končani varnostni kopiji. Majhna delavnica ugotovi, da je 3D-tiskalnik zaključil dolgo tiskanje. Spletna trgovina vidi nov naročilo. Tehnična ekipa prejme obvestilo o napaki na strežniku.

Obseg in število projektov se razlikujeta, načelo pa ostaja isto.

Predstavljajmo si organizacijo z tremi viri dogodkov:

  • Orders — nova naročila;

  • Payments — prejemki in vračila;

  • ServerStatus — tehnične napake.

Za vsak projekt se ustvari ločen MaxCode in nastavi lasten sklop naprav. Naročila prejme lastnik in vodja, finančne dogodke odgovorna oseba, za tehnične napake pa strokovnjaki strežnika.

Sistem podjetja v vseh primerih opravi praktično isto: posreduje vsebino dogodka in ustrezni MaxCode projekta.

Če se zaposleni, naprave ali načini dostave spremenijo, izvorne sisteme ni treba ponovno konfigurirati. Upravljanje ostaja v PushMeld.

APNs, FCM in HMS ostajajo izven programa

Za dostavo push sporočil na različnih napravah lahko uporabljajo APNs, FCM ali HMS. Vsak ponudnik ima svoje lastne pravila, tokene in tehnične posebnosti.

Običajno je treba te razlike upoštevati pri razvoju odjemalskega sistema. V primeru PushMeld pa so te odvisnosti zunaj MaxCode.

Domači strežnik, spletna stran ali skripta ne določa, kateri telefon uporabnik uporablja in preko kakšne infrastrukture mora potovati sporočilo. Izvede en sam poizvedbo, PushMeld pa izbere pravi pot.

MaxCode ne nadomešča infrastrukture Apple, Google ali Huawei. Ustvari enoten vstop pred njimi.

To pomeni, da izvorna sistem ne potrebuje prilagoditev za spremembe naprav uporabnika. Danes se sporočilo lahko pošlje prek FCM, jutri prek APNs, pozneje pa se lahko k projektu doda še en telefon ali e-pošta. Za program, kjer se je dogodilo, se nič ne spremeni.

MaxCode in običajen API-ključ nista enaka

Običajen API-ključ najpogosteje omogoča le dostop do storitve. Po preverjanju ključa je sistem še vedno dolžan posebej določiti projekt, prejemnike in načine dostave.

MaxCode združuje ta kontekst v eni kodi.

Poveže PushMeld z možnosťjo prepoznati projekt, preveriti zahtevo in uporabiti njegove najnovejše nastavitve. Zunanja programska oprema posreduje MaxCode in vsebino dogodka, ne vodijočega nadaljnjega ravnanja.

Praktično razliko lahko strnemo takole: API-ključ odpre dostop do funkcije, MaxCode pa hkrati določi kontekst, v katerem naj se funkcija izvede.

Obvestilo kot priključljiva možnost

Po spoznanju PushMeld ne bi več imenoval le aplikacijo za push obvestila.

Natančneje, to je način dodajanja obvestil tistim mestom, kjer prej niso obstajala, in upravljanja z njimi neodvisno od izvorne programske opreme.

Vir lahko postane domači strežnik, senzor, staro aplikacijo, spletna trgovina, lastni skript ali interna sistem podjetja. Če je sposoben samostojno izvesti HTTP-poziv ali preko majhnega posrednika, je mogoče dogodke prenesti v PushMeld.

MaxCode nato postavi mejo med dogodkom in njegovo dostavo. Na eni strani je program, ki sporoči, kaj se je zgodilo; na drugi pa PushMeld, ki določi projekt, naprave, kanale in tehnično pot.

Zato je najpomembnejša možnost MaxCodeja ne le v zamenjavi več ključev z enim, ampak v prenosu upravljanja obvestil zunaj izvorne sistemske kode. Telefon lahko zamenjate, e-pošto dodate, staro napravo izključite, pot dostave pa spremenite. Program to bo še vedno le poročal o dogodku.

\n \"seo_title\": \"MaxCode namesto množice ključev: kako PushMeld upravlja obvestila\",\n \"seo_description\": \"PushMeld uporablja MaxCode za poenostavitev dostave obvestil na naprave in e-pošto, loči upravljanje od izvornih sistemov in razširja možnosti.\",\n \"og_title\": \"Odin MaxCode вместо десятка ключей: как PushMeld добавляет уведомления туда, где их не было\",\n \"og_description\": \"PushMeld koristi MaxCode za olajšanje dostave obvestil na naprave in email, loči upravljanje od izvornih sistemov in razširja funkcionalnosti.\"\n}"}