Pubblicato da Ritesh Nayak M, Product Manager Immagina di entrare in una stanza d'albergo e avere la temperatura impostata proprio come la vuoi tu, il tuo genere preferito di math-rock progressivo in sottofondo e la TV che ti esorta a continuare a guardare la watchlist dei tuoi piaceri segreti. Cosa succederebbe se l'elenco dei contatti del tuo cellulare potesse espandersi per unirsi a quello di tua moglie quando siete insieme ed evitarti l'imbarazzo di chiederle per l'ennesima volta il numero di tua suocera (che invece dovresti aver salvato in chiamata rapida, nei tuoi preferiti ed elencato come contatto d'emergenza)? Ora immagina un mondo in cui puoi arrivare in una stradina vuota e parcheggiare in un posto auto privato in una città come New York o San Francisco e negoziare per affittare
quel posto finché il suo proprietario non ritorni.
L'elemento in comune di questi scenari è la capacità di rilevare la prossimità (e di poter comunicare) con persone, luoghi e cose "vicini" a te.
In occasione dell'I/O di quest'anno abbiamo parlato di un
aggiornamento dell'API Connections che può fornire trasferimenti di dati crittografati a larghezza di banda elevata e bassa latenza tra dispositivi vicini in modalità P2P totalmente offline. Ora annunciamo la
disponibilità di questa API sui dispositivi Android che eseguono
Google Play services 11.0 e versioni successive.
Nearby Connections utilizza WiFi, Bluetooth LE e Classic Bluetooth dietro le quinte per scoprire e stabilire connessioni con i dispositivi vicini. Astrae la complessità intrinseca di queste radio sfruttando i punti di forza di ciascuna ed eludendo al tempo stesso i rispettivi punti deboli. Oltre al chiaro vantaggio di evitare di avere a che fare con la volatile natura di queste radio su versioni e dispositivi diversi di OS, questa astrazione consente di migliorare costantemente la larghezza di banda di una connessione commutando tra le radio come e quando risulti conveniente, oltre a ricevere aggiornamenti invisibili in modalità OTA per utilizzare le nuove tecnologie radio, appena disponibili, senza dover apportare cambiamenti al codice dell'app.
La parte più importante dell'API è una connessione (con semantica stile socket Unix) che è possibile utilizzare per trasferire byte, file o flussi di dati. Presenta due topologie di connessione supportate.
- Star: utile per la creazione di topologie 1:N con un dispositivo centralizzato a cui altri sono particolarmente interessati. Ad esempio, l'host di un gioco offline o il dispositivo dell'insegnante in un'applicazione quiz in classe.
- Cluster: utile per la creazione di topologie M:N che consentono la creazione di reti a mesh più libere. Ad esempio, un'applicazione in classe che supporta la creazione di progetti di gruppo ad-hoc per la collaborazione in tempo reale o un'applicazione di chat in modalità offline basata sull'iperprossimità.
Come parte del processo di creazione di questa API abbiamo collaborato con alcuni partner, ciascuno dei quali con esigenze e ambienti trasferimento dei dati offline specifici. È interessante vedere cosa sono riusciti a creare sfruttando le prime versioni di questa API e i loro feedback sono stati preziosi per farci arrivare al suo lancio. Ecco alcune delle soluzioni interessanti sulle quali stanno lavorando.
- The Weather Channel crea reti a mesh su richiesta in aree con carenze di dati per diffondere avvertimenti meteorologici urgenti.
- Hotstar consente di condividere i media offline in luoghi con scarsa o nessuna connettività Internet (come i mezzi pubblici, gli aerei ecc.)
- GameInsight sfrutta Nearby Connections non solo per trovare i giocatori vicini ma anche per giocare intere partite offline.
- Android TV sta sviluppando un'applicazione di telecomando (alimentata da Nearby Connections) per semplificare la configurazione iniziale e per abilitare le eventuali esperienze su un secondo schermo.
Ora che l'API è disponibile al pubblico, non vediamo l'ora di scoprire come
utilizzerai Nearby Connections nelle
tue applicazioni. Per iniziare visita il nostro
sito web per sviluppatori, vedi gli
esempi di codice e pubblica qualsiasi domanda su Stackoverflow (con tag
google-nearby). Per tenerti aggiornato sulle ultime offerte di Nearby Android (e le altre API relative al contesto), iscriviti alla nostra
mailing list.