Norlys Forening: Flutter komunikacijos programėlė vienai didžiausių Danijos telekomunikacijų įmonių.
Vienai didžiausių Danijos telekomunikacijų ir energetikos bendrovių Norlys sukūrėme Norlys Forening - Flutter programėlę, per kurią būstų asociacijos tiesiogiai gauna naujienas, pranešimus, kampanijas ir renginius. Mobiliąją dalį kūrėme mes, sklandžiai integruodami ją su atskiros komandos sukurtu backend.
MediaPulsas kuria Flutter komunikacijos programėles telekomunikacijų ir energetikos įmonėms - įskaitant integraciją su išorės komandų backend sistemomis.

Apie projektą
Norlys teikia interneto, TV, mobiliojo ryšio ir energetikos paslaugas milijonams klientų visoje Danijoje. Bendrovė glaudžiai dirba su būstų asociacijomis ir gyvenamųjų namų organizacijomis - būtent joms tiekiama infrastruktūra ir paslaugos į pastatus bei bendruomenes.
Kad komunikacija su šiomis suinteresuotomis šalimis taptų tiesioginė ir tikslinga, Norlys paleido Norlys Forening programėlę - skaitmeninį kanalą, per kurį informacija pasiekia asociacijas tiesiogiai, be tarpinių grandžių. Vietoj bendrų laiškų ar skambučių centro - viena programėlė, kurioje kiekviena asociacija mato būtent jai aktualų turinį.
Kaip veikia sistema
Turinio kelias nuo Norlys komandos iki konkrečios būstų asociacijos telefono - tikslingas, ne masinis:
- Norlys komanda
- Turinio sukūrimas
- Segmento parinkimas
- Backend (MyLoyal)
- API
- Programėlė
- Push pranešimas asociacijai
Iššūkis
Didelio kliento programėlė, kurios backend kuria kita komanda, - projektas, kur inžinerija persipina su komandų koordinacija:
- Kurti mobiliąją programėlę dideliam įmonės klientui pagal jo standartus
- Sklandžiai integruotis su atskiros komandos kuriamu backend
- Koordinuoti darbą tarp kelių nepriklausomų komandų
- Užtikrinti paprastą ir intuityvią naudotojo patirtį
- Garantuoti patikimą pranešimų ir atnaujinimų pristatymą
- Išlaikyti vienodą veikimą iOS ir Android platformose
Kodėl tai buvo sudėtinga: techniniai iššūkiai
Integracija su išorės backend
Backend kūrė atskira MyLoyal komanda. Mūsų pusėje - švarus API kontraktas ir gynybinis integravimas: programėlė korektiškai elgiasi net kai backend atsakymai keičiasi ar vėluoja, be lūžių naudotojui.
Kelių komandų koordinacija
Kai mobilioji dalis ir backend kuriami lygiagrečiai skirtingų komandų, svarbiausia - aiškus API kontraktas ir dažna komunikacija. Sutarėme sąsajas anksti, kad integracija nevirstų paskutinės minutės deryba.
Patikimas pranešimų pristatymas
Telekomo komunikacijoje praleistas pranešimas - prarasta kampanija. Push kanalai (APNs, FCM) integruoti taip, kad pristatymas būtų patikimas, o segmentavimas nukreiptų žinutę tinkamai auditorijai.
Tikslinga komunikacija
Ne kiekviena naujiena aktuali kiekvienai asociacijai. Naudotojų segmentavimas leidžia siųsti turinį pagal aktualumą - asociacija mato tik tai, kas susiję su jos pastatais.
Cross-platform vientisumas
Flutter viena kodo baze užtikrino, kad iOS ir Android naudotojai gautų identišką patirtį - be dviejų atskirų kodo bazių palaikymo ir be platformų neatitikimų.
Įmonės lygio kokybė
Didelės telekomunikacijų įmonės prekės ženklas reikalauja atitinkamos kokybės kartelės - nuo dizaino nuoseklumo iki stabilaus veikimo, kurį programėlė turi išlaikyti visose situacijose.
Autentifikacija ir sesijos valdymas
Prieiga prie asociacijoms skirto turinio saugoma prieigos raktais (token). Sesijos atnaujinamos fone, kad naudotojui nereikėtų kartoti prisijungimo, o prieigos raktui pasibaigus programėlė jį saugiai atnaujina be trikdžių.
Klaidų valdymo strategija
Kadangi backend kuria kita komanda, klaidų valdymas centralizuotas: tinklo, autentifikacijos ir serverio klaidos apdorojamos vienoje vietoje ir naudotojui virsta aiškia būsena, o ne tuščiu ekranu ar lūžiu.
API versijavimas ir suderinamumas
Su išorės backend suderintas API versijavimo principas: programėlė korektiškai dirba su apibrėžta API versija, todėl backend pokyčiai nesulaužo veikiančių diegimų telefonuose.
„Kai backend kuria viena komanda, o programėlę - kita, sėkmę lemia ne kodas, o anksti sutartas API kontraktas ir nuolatinė komunikacija tarp komandų."
- MediaPulsas architektų komanda
Sprendimas
Sukūrėme Flutter programėlę kaip komunikacijos sluoksnį tarp Norlys ir būstų asociacijų:
- Naujienų ir pranešimų pristatymas asociacijoms
- Kampanijų ir specialių pasiūlymų platinimas
- Renginių ir iniciatyvų atnaujinimai
- Tikslinga komunikacija pagal pastatus ir segmentus
- Patikimi push pranešimai
- Mobile-first sąsaja, vienoda iOS ir Android
Architektūra ir inžineriniai sprendimai
Programėlė sukurta su Flutter - viena kodo baze abiem platformoms, kad iOS ir Android naudotojai gautų vienodą patirtį be dvigubo palaikymo. Esminis architektūrinis akcentas - integracija su atskiros komandos kurtu backend: sąsaja projektuota kaip aiškus API kontraktas su gynybiniu elgesiu, todėl du nepriklausomai vystomi sluoksniai veikia kaip vientisa sistema.
Turinio pristatymo ir pranešimų sistema remiasi naudotojų segmentavimu: kiekviena būstų asociacija priskiriama segmentui, ir turinys jai rodomas pagal aktualumą, o ne masiškai. Push pranešimai keliauja per APNs ir FCM kanalus patikimai. Leidyba vykdyta per etapinį testavimą (TestFlight ir Google Play uždaros testavimo grupės) prieš viešą paleidimą, kad įmonės lygio kokybė būtų patikrinta realiuose įrenginiuose. Toks sprendimas užtikrina, kad nepriklausomai sukurti komponentai - mūsų programėlė ir MyLoyal backend - sklandžiai dirba kartu.
Architektūriniai pasirinkimai: kodėl būtent taip
Kodėl Flutter, o ne native?
Programėlė - komunikacijos kanalas, kuriam svarbiausia vienoda patirtis abiejose platformose ir efektyvus palaikymas. Flutter viena kodo baze davė iOS ir Android vientisumą be dvigubų sąnaudų - idealu turinio tipo programėlei.
Kodėl aiškus API kontraktas buvo kritiškas?
Backend kūrė kita komanda. Be anksti sutarto ir dokumentuoto API integracija būtų virtusi nuolatiniu derinimu. Kontraktas leido abiem komandoms dirbti lygiagrečiai ir susijungti be netikėtumų.
Kodėl gynybinis integravimas su išorės backend?
Kai nekontroliuoji kito sluoksnio, negali daryti prielaidų, kad jis visada atsakys idealiai. Programėlė suprojektuota korektiškai elgtis su vėluojančiais ar netikėtais atsakymais - naudotojas nemato kitos komandos problemų.
Kodėl segmentavimas, o ne masinės žinutės?
Būstų asociacijai neaktualaus turinio srautas - kelias į išjungtus pranešimus. Segmentavimas siunčia tik tai, kas susiję su konkrečiais pastatais, todėl kanalas išlieka vertingas, o ne triukšmingas.
Kodėl svarbi buvo komandų koordinacija, ne tik kodas?
Daugiakomandiniuose projektuose techniškai teisinga programėlė vis tiek gali žlugti dėl prastos komunikacijos. Todėl nuo pradžių investavome į aiškias sąsajas ir dažną kontaktą su backend komanda - tai lygiavertė kodo dalis.
Kodėl centralizuotas klaidų valdymas?
Kai duomenys ateina iš nekontroliuojamo išorės backend, klaidos neišvengiamos. Sutvarkius jas vienoje vietoje, naudotojas visada mato aiškią būseną, o ne skirtingus lūžius skirtinguose ekranuose - patikimumas tampa nuoseklus.
Technologijos
- Flutter (Dart)
- Būsenos valdymas (state management)
- REST API
- Prieigos raktų (token) valdymas
- Sesijos atnaujinimas fone
- Centralizuotas klaidų valdymas
- API versijavimas
- Naudotojų segmentavimas
- APNs / FCM push
- TestFlight ir Google Play testavimas
- Gynybinis integravimas
- Cross-platform architektūra
Rezultatai
Programėlė tapo centralizuotu skaitmeniniu komunikacijos kanalu tarp Norlys ir būstų asociacijų:
Ko išmokome
- Daugiakomandiniuose projektuose API kontraktas yra svarbiausias artefaktas - jį reikia sutarti anksti
- Gynybinis integravimas būtinas, kai nekontroliuoji kito sistemos sluoksnio
- Segmentavimas išlaiko komunikacijos kanalo vertę - be jo net geras turinys tampa triukšmu
- Flutter idealiai tinka turinio tipo programėlėms, kur svarbiausia vienoda patirtis, ne gilios native funkcijos
Kam tinka panašus sprendimas
- Telekomunikacijų ir energetikos bendrovėms
- Įmonėms su B2B komunikacijos poreikiu
- Asociacijoms ir narystės organizacijoms
- Būstų ir nekilnojamojo turto valdytojams
- Įmonėms, turinčioms atskirą backend komandą
- Norintiems tikslingos, segmentuotos komunikacijos
- Verslams, kuriems reikia Flutter programėlės
- Bet kam, kam reikia patikimo pranešimų kanalo
Dažniausi klausimai
Kas sukūrė Norlys Forening programėlę? +
Kam skirta Norlys Forening programėlė? +
Kokios technologijos naudotos? +
Ar galite integruotis su mūsų esamu ar kitos komandos backend? +
Kas Lietuvoje kuria Flutter programėles įmonėms? +
Turite idėją? Paverskime ją produktu
Papasakokite, ką norite pasiekti - per 48 valandas gausite apimties ir biudžeto įvertinimą bei mūsų siūlymą, nuo ko pradėti. Nemokamai ir be įsipareigojimų.
mediapulsas

