Google erweitert die Android-API für Peer-to-Peer-Verbindungen

Die neue Version der Nearby Connections API funktioniert auch ohne Internetanbindung. Die Endgeräte kommunizieren direkt und verschlüsselt miteinander über Bluetooth oder WLAN. Entwickler finden zudem eine vereinfachte API.

 –  5 Kommentare
Google erweitert die Android-API für Peer-to-Peer-Verbindungen

Google hat die Nearby Connections API deutlich erweitert. Die API ermöglicht Peer-to-Peer-Verbindungen zwischen Android-Endgeräten. Google hatte sie erstmals 2015 als Methode vorgestellt, Android-Endgeräte als Second Screen Controller für Android TV zu verwenden. Seinerzeit mussten die Geräte jedoch jeweils mit dem Internet verbunden sein.

Die jüngste Fassung der API, die der Blog als Nearby Connections 2.0 bezeichnet, ist Bestandteil der Google Play Services mit dem API-Level 11.0. Eine wesentliche Neuerung ist, dass die Endgeräte nun auch miteinander kommunizieren können, wenn sie über keinerlei Internetverbindung verfügen. Nearby Connections verwendet je nach Verfügbarkeit WLAN, BLE (Bluetooth Low Energie) sowie herkömmliches Bluetooth und abstrahiert die Art der Übertragung, sodass Entwickler sich nicht um die zugrundeliegende Schicht kümmern müssen.

Die Verbindungen lassen sich je nach Anwendungszweck entweder sternförmig in einer 1:N-Topologie oder als Cluster mit einer M:N-Topologie aufbauen. Die Verbindungen zwischen den Endgeräten sind neuerdings verschlüsselt. Geräte können nun gleichzeitig Verbindungen anbieten (advertise) als auch nach angebotenen Verbindungen suchen (discover). Zuvor mussten sie sich für eine der beiden Rollen entscheiden.

Außerdem lassen sich mit der erneuerten API größere Payload-Objekte übertragen, darunter Nachrichten mit einer Größe von bis zu 32 KByte, Dateien und auch Daten-Streams. Für Entwickler dürfte interessant sein, dass Google die API vereinfacht hat. Unter anderem sind die Aufrufe für die Advertise- und Discover-Rollen nun symmetrisch aufgebaut.

Innerhalb der API gibt es einige nennenswerte Änderungen: Die Methoden sendReliableMessage() und sendUnreliableMessage() gelten nun als überholt (deprecated), da sendPayload() beide ersetzt und garantiert, dass die Inhalte in der korrekten Reihenfolge übertragen werden. Da das System vollständig offline arbeiten kann, entfällt die Notwendigkeit, vor dem Verbindungsaufbau die Netzwerkverbindung zu überprüfen. Schließlich geben entdeckte Endpunkte nicht mehr ihre Device ID preis.

Google hat die API-Änderungen laut dem Blogbeitrag in Zusammenarbeit mit Partnern vorgenommen, die Apps mit der Nearby Connections API entwickelt haben. So kann die App von The Weather Channel Unwetterwarnungen über Peer-to-Peer weitergeben. GameInsight ermöglicht Multiplayer-Spiele, auch wenn die Endgeräte offline sind, und Hotstar lässt die Nutzer Medieninhalten über Peer-to-Peer teilen.

Vorstellung der API-Neuerungen auf der Google I/O 2017

Weitere Details lassen sich dem Android-Developer-Blog entnehmen. Eine detaillierte Übersicht gibt die Seite der Nearby Connections API. Auf GitHub findet sich zudem eine Beispielanwendung, die Audio-Streams überträgt. (rme)