Teledom iOS
Versiia s neitral'nym brendom i ekranom vybora operatora. Ideal'no podkhodit tem, kto ne khochet vozit'sia s publikatsiei svoego sobstvennogo prilozheniia.
Istoriia proekta
Eto prilozhenie, kotoroe bylo iznachal'no zakazano operatorm sviazi LanTa (g. Tambov) u studii mobil'noi razrabotki MadBrains (g. Ul'ianovsk) v 2020 godu dlia proekta umnykh domofonov. Eto iznachal'no byl MVP, kotoryi umel prinimat' videozvonki s IP domofonov Beward, otkryvat' dveri, kalitki, shlagbaumy, prinimat' oplatu ot klientov, podtverzhdat' dostup pol'zovatelia k adresu, ostavliat' zaiavki na podkliuchenie, otobrazhat' kamery videonabliuliudeniia s arkhivom, poluchat' i otobrazhat' tekstovye uvedomleniia, vesti chat s operatorom, upravliat' nastroikami domofona i upravliat' dostupami dlia drugikh zhitelei kvartiry. Pozzhe my stali razvivat' etot proekt svoimi silami i dopolniat' ego dopolnitel'nymi fichami. My dobavili: vidovye kamery, zhurnal sobytii, nastroiki funktsii raspoznavaniia lits, integratsiiu s Siri, Bystrymi komandami, a takzhe ispravliali bagi, kotorye za vremia raboty to tam, to tut vsplyvali.
V oktiabre 2021 goda my sozreli dlia togo, chtoby otkryt' iskhodnye kody nashego proekta i predlgaem vsem, kto zainteresovan v postroenii analogichnykh servisov ne "izobretat' svoi velosiped" s nulia, a vmeste s nami razvivat' dannyi proekt, obmenivaias' ideiami i narabotkami. Na etot moment prilozheniem pol'zuetsia okolo 65 tysiach pol'zovatelei, zhivushchikh v domakh oborudovannykh domofonnymi paneliami i sistemami videonabliudeniia ot nashei kompanii.
V sentiabre 2022 goda my reshili sdelat' OEM-versiiu prilozheniia "Teledom" dlia operatorov, kotorym khochetsia srazu poprobovat' prilozhenie v dele, prezhde chem prinimat' reshenie o publikatsii sobstvennogo prilozheniia na marketakh.
Vozmozhnosti prilozheniia
- Dve kategorii nabora prav pol'zovatelei: vladelets i zhitel'. Vladelets u kvartiry mozhet otsutstvovat' ili byt' tol'ko odin - eto litso komu prinadlezhit litsevoi schiot kvartiry. Vladelets mozhet dobavliat' i udaliat' iz kvartiry zhitelei. Zhitel' mozhet udalit' tol'ko sebia iz kvartiry.
- Dobavlenie vladel'tsev v kvartiry proiskhodit cherez administrativnyi interfeis operatora posle zakliucheniia dogovora. Takzhe dostupno dobavlenie po nomeru dogvora i paroliu ot uzhe zakliuchennogo dogovora na uslugi(internet ili tv) operatora po etomu adresu. Esli do etogo u kvartiry byl vladelets - novyi ego prava zabiraet sebe.
- Dobavlenie zhitelei v kvartiru vozmozhno cherez: dobavlenie vladel'tsem iz nastroek dostupa v prilozhenii, cherez skanirovanie QR-koda kvartiry prilozhenii, libo sotrudnikom Operatora po pred'iavleniiu dokazatel'stv prozhivaniia v kvartire (propiska ili svezhaia kvitantsiia za kommunal'nye uslugi ot etoi kvartiry)
- V prilozhenii dlia dobavleniia novogo adresa pol'zovatel' ukazyvaet ego, zatem sistema proveriaet dostupnye uslugi po etomu adresu i esli pol'zovateliu trebuetsia zakliuchit' dogovor na internet/tv/telefon, to prilozhenie sozdaiot nam zaiavku na podkliuchenie i my pripodkliuchenii podtverzhdaem ego adres i dobavliaem pol'zovatelia. Esli zhe pol'zovateliu nado tol'ko podtverzhit' svoiu prinadlezhnost' k adresu dlia domofona, to my formiruem zaiavu na dostaku personal'nogo QR-koda ego kvartiry v ego pochtovyi iashchik.
- Kazhdyi pol'zovatel' mozhet byt' priviazan k neskol'kim raznym kvartiram - v prilozhenii budut otobrazhat'sia vse ego kvartiry s sootvetstvuiushchim naborom prav.
- Prilozhenie prinimaet vkhodiashchie vyzovy ot domofonov, esli eto ne vykliucheno v nastroikakh prilozheniia dlia etogo adresa.
- Ekran vkhodiashchego vykhova podderzhivaet al'bomnuiu i portretnuiu orientatsiiu telefona.
- Est' perekliuchenie mezhdu dinaminkami telefona, pri podneseniiu telefona k ukhu dinamik perekliuchaetsia avtomaticheski.
- Pri postuplenii vkhodiashchego vyzova prilozhenie pozvoliaet videt' izobrazhenie zvoniashchego do otveta na vyzov.
- Podderzhivaiutsia dva rezhima dostavki vkhodiashchikh vyzovov: cherez Push-Notification (kak video-zvonok v WhatsApp) i cherez VoIP-Push+CallKit (kak audio-zvonok v WhatsApp)
- Do otveta na zvonok dostupen video-glazok, kotoryi zapuskaet slaid-shou s kamery domofona (chastota kadrov ot skorosti internet zavisit, no v srednem 2-3 kadra v sekundu)
- Posle otveta na vyzov izobrazhenie i zvuk perekliuchaiutsia na SIP media-potoki
- Dlia kazhdogo adresa est' vozmozhnost' otobrazhat' zhurnal sobytii s video ili izobrazheniiami v moment sobytiia.
- Dlia kvartiry mozhno meniat' kod dlia vkhoda, vkliuchit' avtomatichskoe otkryvanie na chas (rezhim "Zhdu gostei"), podelit'sia vremennym dostupom k vorotam-shlagbaumu (cherez zvonok na spetsial'nyi nomer telefona)
- Esli na adrese est' kamery videonabliudeniia, to dostupna karta s ikh raspolozheniem, s vozmozhnost'iu posmotret' kartinku v onlain ili iz arkhiva.
- Pri prosmotre videokamer podderzhivaetsia masshtabirovanie izobrazhenie zhestom pinch, korrektno obrabatyvaiutsia propuski v arkhive esli oni est' i podgruzhaetsia informatsiia o vsekh dostupnykh intervalakh v arkhive.
- V arkhive videozapisei vozmozhen vybor fragmenta s posleduiushchim polucheniem ssylki na ego skachivanie v uvedomlenii.
- Na vkladke uvedomlenii otobrazhaetsia Web-View, v kotorom otobrazhaetsia istoriia uvedomlenii dlia pol'zovatelia. Poluchaemye uvedomleniia prikhodiat v vide Push-Notifications
- Na vkladke Chat - takzhe gotovyi komponent na baze Web-View ot me-Talk (takoi zhe kak ispol'zuetsia na nashem osnovnom saite)
- Na vkladke Oplatit' - dostupny vse litsevye scheta, kotorye priviazany k etomu pol'zovateliu, s otobrazheniem balansa, vozmozhnost'iu oplaty cherez ApplePay i ssylkoi na lichnyi kabinet.
- V meniu Gorodskie kamery dostupny transliatsii s publichnykh kamer, a takzhe vozmozhnost'iu otpravit' nam zapros na poluchenie zapisi iz arkhiva etikh kamer (priamoi dostup k arkhivu nedostupen iz prilozheniia).
- V meniu Nastroiki Adresov po kazhdomu adresu mozhno upravliat' dostupom, meniat' kody i nastraivat' rezhimy raboty domofona pod sebia.
- V meniu Obshchie nastroiki nastraivaetsia sposob dostavki zvonkov (CallKit - ne CallKit), a takzhe parametry uvedomlenii.
- Prilozhenie imeet vidzhet dlia ekrana Today, a takzhe integratsiiu s Shortcuts i Siri
- Esli dlia domofona vkliuchena podderzhka raspoznavaniia lits, to prilozhenie pozvoliaet pol'zovateliam upravliat' vozmozhnost'iu otkryvat' dver' po litsu. Zhiteli mogut dobavliat' i udaliat' svoi litsa cherez zhurnal sobytii ili meniu nastroek adresa. Vladelets pomimo etogo mozhet udaliat' litsa drugikh pol'zovatelei iz svoei kvartiry.
- Vybor operatora iz spiska pri pervom zapuske prilozheniia.
- Podderzhka temnogo rezhima prilozheniia.
API
Prilozhenie ispol'zuet nashe sobstvennoe API. (ssylka na API) Iskhodnyi kod back-end, realizuiushchii API, na tekushchii moment neotdelim ot nashei arkhitektury i ot vsekh ostal'nykh nashikh sistem, poetomu na tekushchem etape my ne mozhem vam predlozhit' nichego luchshe, kak realizovat' u sebia eto API svoimi silami. V opisanii API est' primer togo, kak delaetsia integratsiia mezhdu Asterisk i mobil'nym prilozheniem na primere Liphhone. Dlia ponimaniia printsipov postroeniia sistemy eto budet takzhe polezno izuchit'.
Ispol'zuemye freimvorki i komponenty (osnovnye)
- CocoaPods dlia upravleniia ispol'zuemymi freimvorkami
- linphone-sdk dlia realizatsii SIP chasti
- Flussonic dlia raboty s arkhivom videokamer
- Firebase Cloud Messaging dlia raboty s Push-uvedomleniiami
- MapBox dlia raboty s kartami (obiazatel'no nuzhno na ikh saite zaregistrirovat'sia, chtoby poluchit' token dlia raboty s API i dlia ustanovki)
- Crashlytics dlia sbora informatsii o sboiakh
- Yandex AppMetrika dlia sbora pol'zovatel'skoi analitiki
- Reaktivnyi freimvork RxSwift i
- XCoordinator dlia realizatsii arkhitektury MVVM+Coordinator
- Freimvork Moya Swift dlia udobnoi raboty s REST API
- Onlain chat talk-me dlia chata s pol'zovateliami.
Dizain
Vozmozhno, vam takzhe mozhet ponadobit'sia chto-to pomeniat' v dizaine prilozheniia, ili v kode vy uvidite ssylki na nomera ekranov, togda nashi makety ekranov prilozheniia v Figma mogut byt' polezny.
Skrinshoty
Chastye voprosy (FAQ)
- Gde brat' GoogleService-Info.plist dlia sborki prilozheniia?
GoogleService-Info.plist - eto fail nastroek proekta dlia raboty s Google Firebase, kotoryi neobkhodimo skachat' iz konsoli Firebase posle registratsii tam svoego proekta. Instruktsiia po registratsii https://firebase.google.com/docs/ios/setup
- Kak dobavit' svoi server v spisok operatorov, podderzhivaemykh prilozheniem?
Napishite vash zapros na dobavlenie nam na pochtu: sesameware@gmail.com ili sviazhites' s nami cherez Telegram https://t.me/+39S-IGTfmMdmZDJi
Litsenziia i usloviia ispol'zovaniia
Dannyi proekt opublikovan pod standartnoi obshchestvennoi litsenziei GNU GPLv3. Vy mozhete modifitsirovat' i ispol'zovat' nashi narabotki v svoikh proektakh, v t.ch. kommercheskikh, pri obiazatel'nom uslovii publikatsii ikh iskhodnogo koda. Takzhe my gotovy rassmotret' vashi Pull requests, esli vy khotite chtoby nash proekt razvivalsia s uchiotom vashikh modifikatsii i dorabotok.