Szerző: Gálffy Csaba

2017. augusztus 1. 18:34

Végre érkezik a Google Nearby Connections

Nem kötődik Android-főverzióhoz a platform egyik legnagyobb új dobása, a Nearby Connections API élesedése. A Google Play Services keretében implementált új lokáció-alapú megoldás nagyon izgalmas új fejlesztéseknek ágyaz meg.

Megérkezett a napokban az Google Play Services 11-es kiadása s vele a régóta várt Nearby Connections API, erre immár a fejlesztők is építhetnek alkalmazásokat, amelyeket a Play Store-ban publikálhatnak is. De mi is ez az új technológia és hogyan hoz új színt a fejlesztők és felhasználók életébe?

A Nearby Connections lehetővé teszi, hogy a telefonunkkal vagy más androidos eszközünkkel a közelben lévő, szintén a technológiát használó eszközökhöz kapcsolódjunk és azokkal adatot cseréljünk közvetlenül a technológiát használó alkalmazásokon keresztül. Ez roppant egyszerűen (sőt: triviálisan) hangzik 2017-ben, a Google új megoldása azonban egyszerre takarékos az akkuval, gyors, és mind a fejlesztők, mind pedig a felhasználók elől elrejti a hálózatkezelés komplexitását.

Elrejteni a komplexitást

A Nearby Connections lényege és igazi újítása tehát, hogy mind a fejlesztő, mind a felhasználó szempontjából teljesen transzparensen működik, mindenféle beállítás, kapcsolgatás nélkül teszi a dolgát. Például működéséhez nem kell ki-be kapcsolni a Wi-Fi és a Bluetooth kapcsolatot, azt megteszi a rendszer saját hatáskörben (ez persze le is tiltható, ehhez a Nearby-t külön ki kell kapcsolni) - a kapcsolat bontását követően pedig visszaállítja az eredeti állapotot.

Az implementáció tehát okosan képes összefogni a Bluetooth LE, a "sima" Bluetooth, és a Wi-Fi szabványokat, és elfedve gyengeségeiket kihasználni azok egyedi erősségeit - a BLE például nagyon alacsony fogyasztása miatt hasznos, míg a Wi-Fi magas átviteli sebességet nyújt a keverékben, ezek között pedig automatikusan váltanak az eszközök az igénynek és a kapcsolat státuszának megfelelően. A különböző szabványokat felhasználva a Nearby Connections fel tud építeni igény szerint, ad-hoc módon hálózati kapcsolatokat, az Android beépített hotspot funkciójára alapozva. Ez utóbbi azt jelenti, hogy a rendszer nem kizárólag pont-pont kapcsolatokra vethető be, az egyik eszközből központi szereplő is lehet, így egy egész Wi-Fi alapú (infrastruktúra-szerű) hálózat kiépíthető. Az implementáció a fejlesztőknek "egyszerű, megbízható és magas teljesítményű" kommunikációt ígér, az már csak hab a tortán, hogy mindez természetesen titkosított adatátvitellel párosul.

Introvertáltak az IT-ban: a hard skill nem elég

Már nem elég zárkózott zseninek lenni, aki egyedül old meg problémákat. Az 53. kraftie adásban az introverzióról beszélgettünk.

Introvertáltak az IT-ban: a hard skill nem elég Már nem elég zárkózott zseninek lenni, aki egyedül old meg problémákat. Az 53. kraftie adásban az introverzióról beszélgettünk.

Maga az API "hirdetőkre" és "felfedezőkre" osztja az eszközöket: előbbiek aktívan hirdetik a kapcsolat lehetőségét utóbbiak számára a kapcsolat előtti fázisban. Amennyiben a felfedező kapcsolatot kezdeményez, beindul egy szimmetrikus hitelesítési folyamat, amely során a felek ellenőrzik egymást és elfogadják (vagy elutasítják) a kapcsolódást. Amennyiben létrejön a kapcsolat, indulhat az adatfolyam a két fél között.

A Google kimondott célja volt elfedni a hálózatkezelés komplexitását, ennek megfelelően az API nagyon egyszerű elemekből épül fel. A küldött-fogadott üzenetek típusa például három típusú lehet: a "bytes" 32 kilobájtos csomagot jelent, ami tipikusan metaadatok vagy vezérlésre használt üzenetek átadására alkalmas. Átvihető ezen felül "file", vagyis egy állomány, az ezzel járó szokásos komplexitás (és folyamatok közötti másolás) nélkül. A harmadik típus a "stream", kimondottan olyan adatfolyamokhoz, amelyek hossza nem ismert - például játékok vagy audiovizuális streaming használná ezt.

De mire jó?

A nagy sávszélességű p2p (peer-to-peer) hálózati kapcsolat egészen változatos feladatokra befogható, itt tényleg csak a fejlesztők ötletei szabnak határt, hogy mire vetnék be ezt a kapcsolatot. A Google első körben (természetesen) reklámokban gondolkodik, például boltok, reklámtáblák tudják megszólítani a kezünkben lévő telefont, anélkül, hogy mobilhálózati forgalmat generálnának.

Kapcsolat inicializálása - tényleg nem bonyolult.

A Google néhány példája: kollaboratív virtuális rajztábla, amelyre mindenki saját telefonjáról rajzolhat, helyi multiplayer játék, képernyőmegosztás különböző eszközök (például tévé) felé, vagy fájlok másolása eszközök között. Ahogy korábban említettük, mindez anélkül működik, hogy a hálózatra egyenként kellene kapcsolódniuk az eszközöknek, az app fejlesztője az API segítségével egyszerűen összekötheti például a játékosok telefonjait.

Az API korábbi verziói is kipróbálhatóak voltak, a tulajdonképpeni implementáció azonban a Play Services 11.0.55-ös (a cikk írásakor aktuálisnak számító) verziójával érkezett meg: mostantól elérhető a teljesen offline (mobiladat-mentes) működés, a titkosított kapcsolatok, a nagy állományok küldése és az új, egyszerűsített, szimmetrikus API. Szintén újdonság, hogy egy eszköz egyszerre képes felfedező és hirdető módban is működni, de eltűnt a megbízható és nem-megbízható küldés közötti különbség is, utóbbit egyszerűen kivezette a Google a végső verzióban.

A Nearby Connections API dokumentációja a Google oldalán érhető el.

a címlapról