Übersicht

Nearby Connections ist eine Peer-to-Peer-Netzwerk-API, mit der Apps Geräte in der Nähe in Echtzeit erkennen, sich mit ihnen verbinden und Daten mit ihnen austauschen können – unabhängig von der Netzwerkverbindung.

Einige Beispiele für Anwendungsfälle:

  • Gemeinsames Whiteboard:Notieren Sie Ideen mit Teilnehmern in der Nähe auf einem gemeinsamen virtuellen Whiteboard.
  • Lokales Gaming im Mehrspielermodus:Richten Sie ein Mehrspieler-Game ein und laden Sie andere Nutzer in der Nähe ein, daran teilzunehmen.
  • Gaming auf mehreren Bildschirmen:Sie können ein Smartphone oder Tablet als Controller verwenden, um Spiele zu spielen, die auf einem Android-Gerät mit großem Bildschirm in der Nähe angezeigt werden, z. B. auf einem Android TV.
  • Offline-Dateiübertragungen:Fotos, Videos oder andere Datentypen schnell und ohne Netzwerkverbindung teilen.

Einführung

Mit Nearby Connections können Geräte in der Nähe beworben, gefunden und verbunden werden – alles offline und direkt zwischen den Geräten. Verbindungen zwischen Geräten haben eine hohe Bandbreite, eine niedrige Latenz und sind vollständig verschlüsselt, um schnelle und sichere Datenübertragungen zu ermöglichen.

Ein Hauptziel dieser API ist es, eine einfache, zuverlässige und leistungsstarke Plattform bereitzustellen. Im Hintergrund verwendet die API eine Kombination aus Bluetooth-, BLE- und WLAN-Technologien, wobei die Stärken der einzelnen Technologien genutzt und die jeweiligen Schwächen umgangen werden. Dadurch werden die Unwägbarkeiten von Bluetooth und WLAN auf einer Reihe von Plattformen und Betriebssystemversionen abstrahiert, sodass sich Entwickler auf die Funktionen konzentrieren können, die für ihre Nutzer wichtig sind.

API-Übersicht

Die Verwendung der API lässt sich in zwei Phasen unterteilen: vor und nach der Verbindung.

In der Phase vor der Verbindung werben Werbetreibende für sich, während Nutzer in der Nähe nach Werbetreibenden suchen und Verbindungsanfragen senden. Eine Verbindungsanfrage von einem Discoverer an einen Werbetreibenden initiiert einen symmetrischen Authentifizierungsablauf, bei dem beide Seiten die Verbindungsanfrage unabhängig voneinander annehmen oder ablehnen.

Nachdem eine Verbindungsanfrage von beiden Seiten akzeptiert wurde, gilt die Verbindung als hergestellt und die Geräte gehen in die Phase nach der Verbindung über, in der beide Seiten Daten austauschen können.

Werbung und Auffindbarkeit

Werbetreibende werden für andere Nutzer sichtbar und Nutzer werden benachrichtigt, wenn ein neuer Werbetreibender gefunden oder verloren wurde.

Verbindungen herstellen

Wenn ein Nutzer eine Verbindung zu einem Werbetreibenden in der Nähe herstellen möchte, kann er eine Verbindung anfordern.

Beide Seiten werden über die Einleitung der Verbindung benachrichtigt und haben die Möglichkeit, die Verbindung anzunehmen oder abzulehnen.

Sobald beide Seiten geantwortet haben, werden sie über das Ergebnis benachrichtigt. Wenn beide Seiten die Verbindung akzeptiert haben, gilt sie als hergestellt und die Datenübertragung kann beginnen.

Datenaustausch

Nachdem eine Verbindung hergestellt wurde, ist die weitere API-Nutzung symmetrisch. Es wird also nicht mehr zwischen Werbetreibenden und Nutzern, die Geräte in der Nähe suchen, unterschieden.

Beide Seiten können jetzt Daten austauschen. Es gibt drei Arten von unterstützten Nutzlasten:

  • Bytes:Byte-Arrays mit einer Beschränkung auf 32 KB. Sie eignen sich gut zum Senden von Metadaten oder Steuernachrichten.
  • Datei:Dateien beliebiger Größe, die von der App zur Netzwerkschnittstelle übertragen werden. Dabei wird nur minimal über Prozessgrenzen hinweg kopiert.
  • Stream:Ein Datenstream, der spontan generiert wird, wie bei aufgezeichneten Audio-/Videodaten, deren endgültige Größe nicht im Voraus bekannt ist.

Empfänger werden über neue eingehende Daten und alle Fortschrittsaktualisierungen, Stornierungen oder Fehler benachrichtigt.

Die hergestellten Verbindungen sind Vollduplex-Verbindungen. Das bedeutet, dass Werbetreibende und Nutzer gleichzeitig Daten senden und empfangen können.

Datenerfassung

Wenn Sie das Google Play-Dienste Nearby SDK verwenden, werden Nutzungsanalysen erhoben, um die Nutzerfreundlichkeit zu verbessern.

  • Leistungsmesswerte:Die Latenz bei der Suche und Verbindung, die Zuverlässigkeit und der Durchsatz werden erfasst, wenn mit dem Nearby SDK nach Geräten gesucht und eine Verbindung zu ihnen hergestellt wird.
  • Geräteinformationen:Gerätemodell, Land, Build-Version und der Paketname der Anwendung werden erfasst und den Leistungsmesswerten zugeordnet, um regionale und gerätespezifische Segmente zu identifizieren.

Endnutzer können diese Erhebung zulassen oder ablehnen, indem sie zu „Einstellungen“ > „Google“ > „Nutzung & Diagnose“ gehen.