WebRTC sopii itkuhälytinsovelluksiin, koska sen avulla voidaan välittää suoraa ääntä ja videota luotettavasti. Se ei kuitenkaan ole koko tuotteen laatuleima. Sovelluksen on silti hoidettava turvallinen pariliitos, ymmärrettävät käyttöoikeudet ja selkeät tilanäytöt hyvin.
Sanasto yhdellä rivillä
- Median kerääminen
- Sovellus pyytää mikrofonin ja kameran käyttöoikeutta, jotta se voi ottaa laitteelta vastaan reaaliaikaista ääntä ja kuvaa.
- Vertaisyhteys
- Yhteys, joka välittää suoraa ääntä, videota ja mahdollisesti dataa kahden laitteen välillä.
- Datakanava
- Erillinen kanava ohjausviesteille, kuten puhepainikkeen tapahtumille tai kameran päälle- ja poiskytkennälle.
- ICE / TURN
- Yhteystekniikoita, jotka auttavat laitteita löytämään toimivan reitin reitittimien, NATin ja estävien verkko-olosuhteiden läpi.
Yksinkertaistettu rakenne
Mitä WebRTC-pohjaisen itkuhälytinyhteyden aikana yleensä tapahtuu
Laitteet vaihtavat yhteystiedot
Signaloinnin avulla molemmat osapuolet saavat tiedon siitä, miten ne tavoittavat toisensa.
Median käyttö sallitaan paikallisesti
Laite ottaa mikrofonin ja tarvittaessa kameran käyttöön vasta, kun tarvittavat käyttöoikeudet on myönnetty.
Valitaan suora reitti tai välityspalvelin
ICE ratkaisee, onko suora reitti mahdollinen vai tarvitaanko TURN-tyyppistä välitystä.
Media ja ohjausdata kulkevat rinnakkain
Ääni ja video toimivat reaaliajassa, samalla kun erilliset ohjausviestit voivat kulkea datakanavalla.
Miksi WebRTC sopii hyvin itkuhälyttimiin
Itkuhälytin ei tarvitse viestiarkistoa tai viiveellä toimivaa latausjärjestelmää. Se tarvitsee pienen viiveen ääneen, selkeän reaaliaikaisen tilan ja järkevän toiminnan vaihtuvissa verkko-olosuhteissa. Juuri tässä WebRTC on vahva: suora media, laitteiden välinen yhteys ja mahdollisuus lisätä erillinen ohjauskanava.
Vanhemman näkökulmasta tämä tarkoittaa, että WebRTC:tä käyttävä tuote pyrkii yleensä ratkaisemaan reaaliaikaisen viestinnän suoraan sen sijaan, että se jäljittelisi sitä hitaammilla tai huonommin tarkoitukseen sopivilla keinoilla. Se on hyödyllistä. Silti se ei yksin kerro, kuinka rehellinen tuote on, kuinka selkeästi se käsittelee käyttöoikeuksia tai kuinka paljon rakenteesta jää piiloon.
Miksi palvelimia tarvitaan, vaikka puhutaan vertaisyhteydestä
Tässä kohtaa moni vanhempi pysähtyy – aivan syystä. Vertaisyhteys ei tarkoita, ettei palvelinta käytettäisi koskaan. Laitteiden on ensin löydettävä toisensa, vaihdettava yhteystietoja ja joskus käytettävä välityspalvelinta hankalissa verkoissa. Signalointipalvelimet ja TURN-palvelimet ovat tavallisia. Olennaista on, mihin niitä käytetään ja kuinka selkeästi sovellus kertoo siitä.
Itkuhälytinsovellus voi käyttää palvelimia ja silti kunnioittaa yksityisyyttä, jos niiden rooli on tarkasti rajattu ja hyvin selitetty. Ongelmat alkavat, kun tekninen välitys muuttuu epämääräiseksi tallennukseksi, huonosti selitetyksi tililogiikaksi tai näkymättömäksi tietojen säilytykseksi.
| WebRTC:n rakennusosa | Miksi se on tärkeä itkuhälyttimessä |
|---|---|
| getUserMedia | Hallitsee mikrofonin ja kameran käyttöä, joten käyttöoikeudet ovat ensiarvoisen tärkeitä. |
| RTCPeerConnection | Välittää reaaliaikaisen mediayhteyden kahden laitteen välillä. |
| ICE / TURN | Auttaa pitämään yhteyden toiminnassa, kun reitittimet ja NAT vaikeuttavat suoraa viestintää. |
| DataChannel | Mahdollistaa lisäohjaustoiminnot päämediavirran rinnalla. |
Mitä WebRTC ei ratkaise automaattisesti
WebRTC ei luo turvallista pariliitosta itsestään. Se ei päätä, miten tuote käsittelee identiteettiä, kuinka kauan signalointitiedot ovat saatavilla tai näyttääkö käyttöliittymä yhteyden katkeamisen. Tuote voi siis aidosti käyttää WebRTC:tä ja silti olla heikko tai epäselvä juuri niissä asioissa, joilla on vanhemmille eniten merkitystä.
Käytännön johtopäätös on yksinkertainen: ”käyttää WebRTC:tä” on hyödyllinen vihje, ei arvioinnin loppu. Sen jälkeen alkaa varsinainen työ – pariliitos, yksityisyys, käyttöoikeudet, verkon toiminta ja tuotteen rehellisyys.
WebRTC:tä koskevat kysymykset, jotka vanhempien kannattaa oikeasti esittää
kysy seuraavaksi, miten signalointi, pariliitos ja yhteyden tilan näkyvyys on hoidettu.
kysy, mitä palvelimia edelleen käytetään ja onko niiden rooli rajattu ja ymmärrettävä.
tarkista tarkoin käyttöoikeudet, välitysyhteyksien toiminta ja yksityisyyttä koskeva viestintä sen sijaan, että olettaisit tekniikan nimen riittävän.
Tekninen pikakatsaus
- Kerrotaanko selkeästi, miksi mikrofoni-, kamera- ja lähiverkon käyttöoikeuksia tarvitaan?
- Selittääkö tuote, miten laitteet löytävät toisensa ja aloittavat yhteyden?
- Käsitelläänkö välitysyhteyttä ymmärrettävänä asiana eikä taikuutena?
- Näkevätkö vanhemmat yhteyden tilan selkeällä kielellä?
- Kertooko arkkitehtuurikuvaus muutakin kuin vain ”käytämme WebRTC:tä”?
Usein kysytyt kysymykset
Mitä WebRTC tarkoittaa itkuhälyttimessä?
WebRTC on tekniikka salattuihin reaaliaikaisiin yhteyksiin laitteiden välillä. Se välittää ääntä ja videota, ja verkosta riippuen yhteys voi toimia suoraan tai välityspalvelimen kautta.
Voiko TURN-palvelin nähdä itkuhälyttimen videon?
TURN-palvelin välittää paketteja, kun suoraa reittiä ei ole saatavilla. Media pysyy WebRTC:n siirtosalauksen suojaamana, eikä TURN-palvelin tallenna sitä tallenteeksi.
Miksi WebRTC tarvitsee myös signalointia?
Laitteiden on ensin vaihdettava yhteystiedot, ennen kuin mediakanava voi käynnistyä. Myös signalointi tulee suojata, tallentaa mahdollisimman vähän ja poistaa käyttöönoton jälkeen.
Lähteet ja lisälukemista
- WebRTC:n käytön aloittaminen · WebRTC
- WebRTC API · MDN Web Docs
- MediaDevices: getUserMedia() · MDN Web Docs
- Pyydä sovelluksen käyttöoikeuksia · Android Developers
- Suojattujen resurssien käyttöoikeuden pyytäminen · Apple Developer Documentation
- Todenna Firebaseen anonyymisti · Firebase Documentation
- NSLocalNetworkUsageDescription · Apple Developer Documentation
- Baby Monitor Timmy -turvallisuus ja -arkkitehtuuri · Baby Monitor Timmy