Один MaxCode вместо десятка ключей: как PushMeld добавляет уведомления туда, где их не было
Один MaxCode вместо десятка ключей: как PushMeld добавляет уведомления туда, где их не было
Замислите кућни рачунар који сваке ночи креира резервну копију важних фајлова. Резултат се чува у системском дневнику: операција је успешно завршена или је настала грешка.
Технички све ради исправно. Неугодност настаје ујутру: особа мора сама да отвори дневник и провери резултат. Програми немају мобилну апликацију, обавештења од стране развијача нису предвиђена, а нико не одлучује да направи посебну инфраструктуру ради једне функције.
Помоћу PushMeld у овај процес може се додати једноставан захтев. Након што се заврши резервна копија, на телефон стиже порука: копија је креирана или операција је завршена грешком. По потреби, исто обавештење може се добити и на имејл.
Основа ове идеје је MaxCode — један јединствени заштићени код кроз који PushMeld добија све потребне информације за даљу доставу обавештења.
Узмимо у обзир: PushMeld се односи на систем MELD®, а DigiMeld UG је компанија која га развија.
Извор је свестан само о догађају
Обична интеграција обавештења брзо се обогати техничким детаљима. Потребно је дефинисати пројекат, подесити приступ, чувати кључеве, узимати у обзир токене уређаја, повезати слање поште и разумети захтеве различитих мобилних платформи.
PushMeld све то премешта из изворног система у посебан управљани круг.
Резервни систем зна само једно: операција је успешно завршена или је пала грешка. Он преноси MaxCode, наслов и текст поруке.
Није му потребно да зна:
колико уређаја је повезано на пројекат;
Све то је већ одређено унутар PushMeld.
Мислим да је управо ту главна архитектонска идеја пројекта: MaxCode преноси управљање обавештењима из програма у којем се догодио догађај у систем који се бави испоруком.
Један MaxCode уместо групе кључева
Обично при укључивању спољашњег сервиса рад није могућ без рад са неколико ентитета. Посебно се користи идентификатор пројекта, додатно — кључ приступа, поред тога могу бити потребни тајни, токени уређаја и подешавања за одређене провајдере.
MaxCode све то обједињује у једном заштићеном коду.
За сваки пројекат се креира свој MaxCode. У њему су повезани идентификација пројекта, право на слање и подаци који омогућавају PushMeld-у да применити важећу конфигурацију испоруке.
Система за слање порука не мора да чува:
идентификациони број пројекта;
API-кључ и додатни тајни податак;
токене повезаних уређаја;
параметре сваког примаоца;
кључеве различитих push-провајдера;
посебне подешавања за push и емаил.
У програму, сајту или скрипти се додаје један MaxCode. После добијања тога заједно са поруком, PushMeld самостално одређује пројекат, проверава захтев, налази повезане уређаје и бира доступне канале.
Зато MaxCode није као још један кључ који се додаје. Његова сврха је да замени цео досадашњи скуп раздвојених кључева, токена и идентификатора једним кодом.
Обавештење тамо где није предвиђено
MaxCode се може користити у било којем систему који је самоспособан да изврши HTTP-захтев, са или без малог помоћног скрипта.
На пример, PushMeld може известити када:
домашни сервер престане да одговара;
резервна копија је завршена или се завршила грешком;
ваш скрипт је извршио дуготрајан задатак;
3D штампач је завршио штампање;
сензор је забележио цурење;
отворена је врата или су активирани аларми;
на вебсајту је постављена важна информација;
променила се цена производа;
место за снимање је ослобођено;
стара софтверска апликација је завршила обраду великог фајла;
мали интернет продавница је добила нову поруџбину.
Од извора можда нема сопствену апликацију. Неки уређаји могу само да се обрате подешеном адресу, други могу да покрећу кориснички задатак или скрипту, трећи могу бити проширени малим аутоматским сценаријем.
Ово је довољно да се догађај пошаље у PushMeld.
Извор тиме не претвара у самосталну службу за обавештења. Само региструје догађај и шаље поруку са MaxCode. Остало — примаоци, уређаји, канали и технички пут — остаје на страни PushMeld.
Не само push, већ и емаил
Назив PushMeld највише асоцира на обавештења на телефону, али могућности пројекта тиме нису ограничене.
За испоруку могу се користити push, емаил или оба канала — у зависности од подешавања пројекта и доступних могућности.
На пример, обавештење о успешној резервној копији довољно је приказати на телефону. Већу грешку можемо додатно послати и емаилом.
Изворна програма у оба случаја извршава исти захтев са MaxCode. Не треба јој посебно да укључује поштански сервер, чува његове податке и прави други не dependent сценарий.
Одлука о каналима испоруке доноси се унутар PushMeld-а. Ако касније корисник дода емаил ка већ постојећем пројекту, резервни систем се не мора преписивати.
У овом случају емаил употребљава као додатни начин обавештавања о догађају који је стигао из спојеног пројекта, а не као масовна кампања.
Један пројекат — један извор догађаја
Пројекти омогућавају да се обавештења разликују по намени.
Обичан корисник може креирати, на пример:
HomeServer— стање кућног сервера;Backups— резултати резервних копија;SmartHome— сензори и аутоматизација у домаћинству;PriceMonitor— промене цена;Website— нови захтеви са личног сајта.
Сваког пројекта добија свој MaxCode. Тако домаћа аутоматизација не користи код сајта, а праћење цена се не меша са резервним копијама.
У апликацији је одмах јасно од кога је стигло обавештење и на коју тему се односи.
Такво одвајање је посебно корисно када се број извора повећа. Уместо једног заједничког тока, корисник добија више независних канала, за сваки од њих се може дефинисати сопствена конфигурација испоруке.
Нови телефон не захтева измену програма
Обичан push-токен повезан је са одредиштем апликације на одређеном уређају.
Ако особа има два телефона и таблет, то су већ неколико токена. После реинсталације апликације или замене уређаја, посебан токен може се променити или престати да ради.
MaxCode је изнад тог нивоа. Он се односи на пројекат, а не на један телефон.
Корисник сам одређује који уређаји су повезани са пројектом и треба да добију његове поруке. На пример, обавештења са домаћег сервера се могу слати на лични телефон и таблет, а догађаји са пословног сајта — само на службени паметни телефон.
Ако особа купи нови телефон или искључи стари уређај, изворни скрипт наставља да користи исти MaxCode. Тренутна листа примаоца се мења унутар PushMeld.
Исто важи и за додавање емаил-а или промену других параметара испоруке.
Зато MaxCode није само начин да се смањи број кључева. Он гради границу између догађаја и његовог даљег рутирања. Све што се налази после ове границе може се мењати без утицаја на изворни програм.
Бесплатно за уобичајене задатке
Инфраструктурни производи се често описују кроз корпорацијске системе, серверске команде и велике количине података. Због тога може изгледати да је PushMeld намењен искључиво професионалним развијачима и компанијама.
На пракси, почети можете са обичним домаћим задатком.
Сам апликација је бесплатно доступна. Основне могућности MaxCode такође раде без наплате у оквиру доступних бесплатних лимита. Особа може креирати пројекат, повезати уређај и примати обавештења са свог сервера, сајта, скрипта или кућне аутоматизације.
То није привремени демонстрациони режим који престаје да ради после упознавања са производом. За свакодневне сценарије, бесплатне могућности су довољне.
Тарифни планови су потребни када се повећава број захтева, потребне су додатне функције или систем добија већу масу употребе.
један принцип за човека и компанију
Механика MaxCode-а не мења се у зависности од величине задатка.
Особa добија поруку о завршетку резервне копије. Мала радионица сазна да је 3D-штампач завршио дуготрајну штампу. Интернет продавница види нову поруџбину. Технички тим добија обавештење о грешци на серверу.
Обим и број пројеката могу варирати, али принцип остаје исти.
Замислите организацију са три извора догађаја:
Orders— нове поруџбине;Payments— уплате и повраћаји;ServerStatus— техничке грешке.
За сваки се креира посебан MaxCode и подешавају својеврсни уређаји. Поруџбине појављују се код власника и менаџера, финансијски догађаји пријављују одговорни службеник, а техничке грешке — техничка служба који одржава сервер.
Систем компаније у сваком случају ради исто: преноси садржај догађаја и MaxCode релевантног пројекта.
Ако се запослени мењају, уређаји или начини доставе, изворни системи се не морају преоријентисати. Управљање остаје унутар PushMeld-а.
APNs, FCM и HMS остају изван програма
За доставу push обавештења на различитим уређајима могу се користити APNs, FCM или HMS. Код сваког провајдера су правила, токени и техничке специфичности различити.
Ове разлике обично треба узети у обзир у развоју система за слање. У случају PushMeld, оне су изван MaxCode-а.
Домашни сервер, сајт или скрипта не одређује који телефон прималац користи и преко које инфраструктуре ће се порука доставити. Они извршавају један захтев, а PushMeld бира одговарајући пут.
MaxCode не заменује Apple, Google или Huawei инфраструктуру. Он формира улазни систем који вас води пред њу.
Зато исходне системе није потребно прерадити у складу са уређајима корисника. Данас порука може бити послата преко FCM, сутра — преко APNs, а у међувремену се може додати још један телефон или емаил. За систем у којем се догодио догађај, ништа се не променило.
MaxCode и обичан API-кључ — није исто
Обичан API-кључ најчешће једино даје дозволу за приступ сервису. После провере кључа, систем и даље мора да прецизира пројекат, пролазнике и начин испоруке.
MaxCode ову конфигурацију обједињује у један код.
Омогућава PushMeld-у да препозна пројекат, провери захтев и применити најактуелније подешавања. Ван програма, он преноси MaxCode и садржај догађаја, без да управља даљим маршрутом.
Практично, разлика је у кратком сажетку: API-кључ даје дозволу за функцију, а MaxCode одређује у ком контексту се она извршава.
Обавештење као могућност која се може укључити
После упознавања са PushMeld, не бих га назвао само апликацијом за push-обавештења.
Тачније, то је начин да се додате обавештења тамо где их раније није било и да се управља њима независно од изворног програма.
Извор може бити домашни сервер, сензор, стари апликaција, интернет продавница, сопствени скрипт или унутрашњи систем компаније. Ако је способан да изврши HTTP-захтев сам или преко малог адаптера, догађај се може проследити у PushMeld.
Затим MaxCode формира границу између догађаја и његове испоруке. Са једне стране је програма који јавља шта се догодило. Са друге — PushMeld, који одређује пројекат, уређаје, канале и технички пут.
Зато је најважнија могућност MaxCode-а не само заменити више кључева једним кодом, већ и пренети управљање обавештењима изван изворног система. Останак на страни програма је да јавља догађај, а све друго — примаоци, уређаји, канали и путеви — остаје управљиво унутар PushMeld-а.
\"\n}"}