Один MaxCode вместо десятка ключей: как PushMeld добавляет уведомления туда, где их не было
Один MaxCode вместо десятка ключей: как PushMeld добавляет уведомления туда, где их не было
Įsivaizduokime namų kompiuterį, kuris kiekvieną naktį sukuria atsarginę svarbių failų kopiją. Rezultatas įrašomas į sisteminį žurnalą: operacija sėkmingai užbaigta arba įvyko klaida.
Techniniu požiūriu tai veikia. Nepatogumai atsiranda ryte: žmogui tenka pats atidaryti žurnalą ir patikrinti rezultatą. Programai nėra mobiliosios programėlės, siuntimas įspėjimų nėra numatytas, o įdiegti atskirą infrastruktūrą vien tam, kad vienai funkcijai, nieko daugiau, niekas nenorėtų.
Naudojant PushMeld į tokią procesą galima pridėti paprastą užklausą. Po atsarginės kopijos pabaigos telefonas gaus pranešimą: kopija sukurta arba operacija baigėsi klaida. Jei reikia, tą patį pranešimą galima gauti ir elektroniniu paštu.
Pagrindas šiai idėjai yra MaxCode — vieningas saugus kodas, per kurį PushMeld gauna visą reikalingą informaciją tolimesnei pranešimų pristatymo procesui.
Susipažinus su projektu, būtent MaxCode pasirodė kaip jo įdomiausia dalis. Push-pranešimai ir el. pašto žinutes nėra naujovė. Svarbiau tai, kad pradinis programos kodas nebevaldys jų pristatymo. Ji tik informuoja PushMeld apie įvykį, o visa kita vyksta jau už jos ribų.
Iškart aiškinsiu kontekstą: PushMeld priklauso MELD® sistemai, o DigiMeld UG — įmonė, kuri šį sistemą vysto.
Šaltinis žino tik apie įvykį
Įprasta įgyvendinti įspėjimus greitai susiduria su techninėmis detalėmis. Reikia nustatyti projektą, sukonfigūruoti prieigą, saugoti klavišus, atsižvelgti į įrenginių tokenus, suderinti pašto siuntimą ir spręsti įvairių mobiliųjų platformų reikalavimus.
PushMeld viską perkeliama iš pradinės sistemos į atskirą valdomą kontūrą.
Atsarginės kopijavimo programa žino tik vieną dalyką: operacija pavyko ar nepavyko. Ji perduoda MaxCode, pranešimo antraštę ir tekstą.
Jai nereikia žinoti:
kiek įrenginių yra prijungtų prie projekto;
koks telefonas šiuo metu aktyvus;
per kurį paslaugų teikėją turi būti siųstas push;
ar siunčiama el. pašto pranešimų;
ar vartotojui atsirado naujas išmanusis telefonas;
ar buvo išjungtas senas planšetinis kompiuteris;
Kokie asmenys turi gauti konkretų įspėjimą.
Visa tai jau nustato pats PushMeld.
Mano nuomone, būtent čia yra pagrindinė projekto architektūrinė idėja: MaxCode perkelia įspėjimų valdymą iš programos, kurioje įvyko įvykis, į sistemą, kuri jį pristato.
Viena MaxCode vietoje daugelio klavišų
Dažnai, jungiantis prie išorinės paslaugos, reikia dirbti su keliais elementais. Atskirai nurodomas projekto identifikatorius, atskirai — prieigos klavišas, gali prireikti slaptažodžių, įrenginių tokenų ir konkrečių paslaugų nustatymų.
MaxCode apjungia viską, kas reikalinga siuntimui, viename apsaugotame kode.
Kiekvienam projektui sukuriamas individualus MaxCode. Jame sujungiami projekto identifikacija, siuntimo teisės ir duomenys, leidžiantys PushMeld taikyti tinkamiausią pristatymo konfigūraciją.
Už siuntimą atsakingai sistemai nereikia saugoti:
projekto identifikatoriaus;
API rakto ir papildomo slaptažodžio;
prisijungusių įrenginių tokenų;
Kiekvieno gavėjo parametrų;
skirtingų push paslaugų klavišų;
atskirų nustatymų push ir email.
Prie programos, svetainės ar skripto pridedamas vienas MaxCode. Jį gavusi su žinute, PushMeld savarankiškai nustato projektą, patikrina užklausą, suranda prijungtus įrenginius ir pasirenka galimus kanalus.
Todėl MaxCode negalima laikyti dar vienu klavišu, pridėtu prie kitų. Jo paskirtis — pakeisti visus įprastus susietus raktus, tokenus ir identifikatorius vienu kodu.
Įspėjimas iš ten, kur jis nėra numatytas
MaxCode galima naudoti bet kurioje sistemoje, kuri gali atlikti HTTP užklausą savarankiškai arba per nedidelę pagalbinę priemonę.
Pavyzdžiui, PushMeld gali pranešti, kai:
namų serveris neatsako;
atsarginė kopija baigėsi arba įvyko klaida;
pačios skriptas atliko ilgą užduotį;
3D spausdintuvas baigė spausdinti;
jutiklis užfiksavo nutekėjimą;
durys buvo pravertos arba įvyko signalizacija;
puslapį pasirodė svarbi informacija;
prekes kaina pakito;
palikta laisva vieta įrašyti;
senoji programa baigė apdoroti didelį failą;
mažas internetinis parduotuvė gavo naują užsakymą.
Kiekvienas iš šių šaltinių gali neturėti savo programėlės. Kai kurie įrenginiai gali tiesiog tik kreiptis į tam tikrą adresą, kiti leidžia paleisti naudotojo komandą, treti gali būti papildyti trumpu automatizavimo scenarijumi.
Tai pakankama, kad praneštų įvykį į PushMeld.
Šaltinis tuo pačiu nesikeičia į autonominį įspėjimų servisą. Jis tik fiksuoja įvykusį įvykį ir siunčia žinutę su MaxCode. Viską kitą — gavėjai, įrenginiai, kanalai ir techninis maršrutas — palieka PushMeld.
Ne tik push, bet ir email
Pavadinimas PushMeld pirmiausia siejasi su įspėjimais telefonuose, tačiau projekto galimybės tuo nesibaigia.
Pristatymui naudojami gali būti push, email arba abu kanalai — priklausomai nuo projekto nustatymų ir galimybių.
Pavyzdžiui, išsamių atsarginės kopijos pranešimas pakankamai parodyti telefone. Sunkesnė klaida gali būti papildomai išsiųsta el. paštu.
Pradinė programa abiem atvejais vykdo tą patį užklausą su MaxCode. Jai nereikia atskirai jungti pašto serverio, saugoti nustatymų ar kurti antra scenarijų.
Sprendimas apie pristatymo kanalus priimamas pačios PushMeld. Jei vėliau vartotojas pridės el. paštą prie jau esamo projekto, atsarginės kopijos programa nebus reikės keisti.
Be to, el. paštas čia nėra naudojamas kaip įprastas masinis siuntimas, o kaip papildomas būdas informuoti apie įvykį, gautą iš prijungto projekto.
Viena projekto — viena įvykių šaltinio
Projektai leidžia atskirti įspėjimus pagal jų paskirtį.
Įprastas vartotojas gali sukurti, pavyzdžiui:
HomeServer— namų serverio būklė;Backups— atsarginių kopijų rezultatai;SmartHome— jutikliai ir namų automatika;PriceMonitor— kainų pokyčiai;Website— nauji užklausimai iš asmeninio svetainės.
Kiekvienas projektas gauna savo MaxCode. Dėl to namų automatika neperduoda kodų iš svetainės, o kainų monitorius nesimaišo su atsarginėmis kopijomis.
Programa iš karto aišku, iš kur buvo gautas pranešimas ir prie kurios užduoties jis priklauso.
Toks atskyrimas ypač naudingas, kai šaltinių yra daugiau. Vietoje vieno bendro srauto žmogus gauna kelis nepriklausomus kanalus, kurių kiekvieno nustatymus galima valdyti atskirai.
Naujas telefonas nereikalauja programos keitimo
Įprastas push-žetonas yra susijęs su konkrečiu programos įdiegimu tam tikrame įrenginyje.
Jeigu žmogui yra du telefonai ir planšetinis kompiuteris, tai jau yra keli žetonai. Po programos perkrovimo ar įrenginio keitimo atskiras žetonas gali pasikeisti arba nustoti veikti.
MaxCode yra aukščiau šio lygio. Jis priklauso projektui, o ne vieno telefono identitetui.
Vartotojas pats nustato, kurie įrenginiai susieti su projektu ir turi būti gavėjais. Pavyzdžiui, pranešimus namų serveris gali siųsti į asmeninį telefoną ir planšetinį kompiuterį, o į įmonės svetainės įvykį — tik į tarnybinį išmanųjį telefoną.
Jeigu žmogus įsigyja naują telefoną arba atjungia seną, pradinė skripto nuolat naudos tą patį MaxCode. Aktualus gavėjų sąrašas keičiasi jau PushMeld viduje.
Tai taikoma ir el. pašto pridėjimui arba kitų pristatymo parametrų keitimui.
Būtent todėl MaxCode nėra paprastas būdas sumažinti klavišų kiekį. Jis sukuria ribą tarp įvykio ir jo vėlesnio maršruto. Viską, kas yra po šia riba, galima keisti be išorinės programos keitimo.
Nemokama dažnam naudojimui
Infrastruktūros produktai dažnai aprašomi per įmonines sistemas, serverinius komandos ir didelius duomenų kiekius. Dėl to gali atrodyti, kad PushMeld skirtas tik profesionaliems kūrėjams ir įmonėms.
Praktikoje galima pradėti nuo paprasto namų užduoties.
Sistema pati yra nemokama. Pagrindinės MaxCode galimybės veikia nemokamai iki tam tikrų limitų. Žmogus gali sukurti projektą, prijungti įrenginį ir gauti įspėjimus iš savo serverio, svetainės, skripto ar namų automatizacijos.
Tai nėra laikinas demonstracinis režimas, kuris nustojęs veikti po pirmo susipažinimo su produktu. Kasdieniam naudojimui nemokami ištekliai dažnai yra pakankami.
Planų poreikis kyla, kai padidėja užklausų kiekis, atsiranda papildomų funkcijų arba sistema pradeda naudotis didesniu mastu.
Tikslas — vienodas vartotojas ir įmonė
MaxCode mechanika nesikeičia priklausomai nuo užduoties apimties.
Vartotojas gauna pranešimą apie atsarginės kopijos pabaigą. Maža dirbtuvė sužino, kad 3D spausdintuvas baigė ilga trukusią spausdinimo proceso etapą. Internetinė parduotuvė mato naują užsakymą. Techninė komanda gauna įspėjimą apie serverio klaidą.
Skiriasi apimtys ir projektų skaičius, tačiau principas lieka tas pats.
Įsivaizduokime organizaciją su trimis įvykio šaltiniais:
Orders— nauji užsakymai;Payments— įmokos ir grąžinimai;ServerStatus— techninės klaidos.
Kiekvienam sukuriamas atskiras MaxCode ir sukonfigūruojami savo įrenginiai. Užsakymai gali būti siunčiami savininkui ir vadybininkui, finansiniai įvykiai — atsakingam darbuotojui, o techninės klaidos — specialistams, aptarnaujantiems serverį.
Įmonės sistema visais atvejais daro beveik tą patį: perduoda įvykio turinį ir atitinkamo projekto MaxCode.
Jeigu keičiasi darbuotojai, įrenginiai ar pristatymo būdai, pradinės sistemos nereikia keisti. Valdymas lieka PushMeld rankose.
APNs, FCM ir HMS lieka už programos ribų
Siekiant siųsti push pranešimus įvairiuose įrenginiuose gali būti naudojami APNs, FCM arba HMS. Kiekvieno paslaugų teikėjo taisyklės, tokenai ir techninės ypatybės skiriasi.
Dažniausiai šiuos skirtumus tenka atsižvelgti kuriant siuntimo sistemą. PushMeld jie lieka už MaxCode ribų.
Namų serveris, svetainė ar skriptas nesiaiškina, kurį telefoną naudoja gavėjas ir per kokią infrastruktūrą turi būti perduotas pranešimas. Jie vykdo vieną užklausą, o PushMeld parenka reikiamą maršrutą.
MaxCode nepakeičia Apple, Google ar Huawei infrastruktūros. Jis sukuria vieningą įėjimą prieš ją.
Dėl to pradinės sistemos nereikia keisti, kai keičiasi įrenginiai. Šiandien žinutė gali būti siunčiama per FCM, rytoj — per APNs, o po kurio laiko projektui gali būti pridėtas dar vienas telefonas ar el. paštas. Įvykusio įvykio programa tai nepakeis.
MaxCode ir įprastas API rakto — ne tas pats
Įprastas API raktas dažniausiai tik leidžia prieiti prie paslaugos. Po klavišo patikrinimo sistemai vis tiek tenka atskirai nurodyti projektą, gavėjus ir pristatymo būdą.
MaxCode sujungia šį kontekstą viename kode.
Jis leidžia PushMeld atpažinti projektą, patikrinti užklausą ir taikyti jos aktualius nustatymus. Išorinė sistema perduoda MaxCode ir įvykio turinį, nevaldydama tolesnio maršrutų pasirinkimo.
Praktinis skirtumas trumpai tariant: API raktas atveria prieigą prie funkcijos, o MaxCode vienu metu nustato, kontekste kurio šios funkcijos turės būti įgyvendintos.
Įspėjimas kaip įtraukiama galimybė
Po pažinties su PushMeld nebūčiau jį vadinęs tik push-įspėjimų programa.
Tikslesnė būtų sakyti, kad tai būdas pridėti įspėjimus ten, kur jų anksčiau nebuvo, ir valdyti juos nepriklausomai nuo pradinės programos.
Šaltiniu gali būti namų serveris, jutiklis, sena programėlė, interneto svetainė, savo skriptas ar įmonės vidinė sistema. Jeigu jis sugeba atlikti HTTP užklausą savarankiškai ar per nedidelį adapterį, įvykį galima perduoti į PushMeld.
Tada MaxCode įtvirtina ribą tarp įvykio ir jo pristatymo. Vienoje pusėje – programa, kuri praneša, kas įvyko. Kitoje – PushMeld, kuris nustato projektą, įrenginius, kanalus ir techninį maršrutą.
Todėl svarbiausia MaxCode galimybė yra ne tik pakeisti daugybę klavišų vienu kodu. Jis perkelia įspėjimų valdymą iš pradinės sistemos už jos ribų.
Telefoną galima pakeisti, el. paštą pridėti, seną įrenginį išjungti, o pristatymo maršrutą — keisti. Programai, iš kurios įvyksta įvykis, tai nieko nekeičia — ji tik praneša apie įvykį ir baigia darbą.
\n \"seo_title\": \"MaxCode vietoje daugelio raktų: kaip PushMeld valdo įspėjimus\",\n \"seo_description\": \"PushMeld naudoja MaxCode, kad palengvintų įspėjimų pristatymą į įrenginius ir el. paštą, atskirdamas valdymą nuo pradinių sistemų ir praplėsdama funkcionalumą.\",\n \"og_title\": \"Viena MaxCode vietoje daugelio klavišų: kaip PushMeld prideda įspėjimus ten, kur jų anksčiau nebuvo\",\n \"og_description\": \"Kaip PushMeld naudoja MaxCode, perkelia įspėjimų valdymą iš originalių sistemų ir leidžia siųsti pranešimus į įrenginius bei email pagal individualius poreikius.\"\n}"}