Übersicht

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

Hier einige Beispielanwendungsfälle:

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

Einführung

Nearby Connections ermöglicht die Werbung, Erkennung und Verbindung zwischen Geräten in der Nähe in einer vollständig offline-basierten Peer-to-Peer-Weise. 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, um die Stärken der einzelnen Technologien zu nutzen und gleichzeitig ihre jeweiligen Schwächen zu umgehen. Dadurch werden die Unwägbarkeiten von Bluetooth und WLAN auf einer Reihe von Plattformen und Betriebssystemversionen effektiv abstrahiert, sodass sich Entwickler auf die Funktionen konzentrieren können, die für ihre Nutzer wichtig sind.

API-Übersicht

Die Verwendung der API erfolgt in zwei Phasen: vor und nach der Verbindung.

In der Phase vor der Verbindung bewerben sich die Werbetreibenden selbst, während die Entdecker Werbetreibende in der Nähe finden und Verbindungsanfragen senden. Eine Verbindungsanfrage von einem Discoverer an einen Advertiser 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 treten in die Phase nach der Verbindung ein, in der beide Seiten Daten austauschen können.

Werbung und Auffindbarkeit

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

Verbindungen herstellen

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

Beide Seiten werden über den Verbindungsaufbau benachrichtigt und haben die Möglichkeit, die Verbindung zu akzeptieren oder abzulehnen.

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

Daten austauschen

Nachdem eine Verbindung hergestellt wurde, ist die weitere API-Nutzung symmetrisch, sodass nicht mehr zwischen Advertiser und Discoverer unterschieden wird.

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

  • Byte: Byte-Arrays, die auf 32 KB begrenzt sind. Sie eignen sich gut zum Senden von Metadaten oder Steuerungsnachrichten.
  • Datei: Dateien beliebiger Größe; diese werden von der App mit minimalem Kopieren über Prozessgrenzen hinweg an die Netzwerkschnittstelle übertragen.
  • Stream: Ein Datenstream, der spontan generiert wird, z. B. bei aufgezeichneten Audio-/Videoinhalten, ohne dass die endgültige Größe im Voraus bekannt ist.

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

Die hergestellten Verbindungen sind Vollduplex-Verbindungen, d. h., Werbetreibende und Entdecker können gleichzeitig Daten senden und empfangen.

Datenerfassung

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

  • Leistungsmesswerte: Latenz, Zuverlässigkeit und Durchsatz bei der Suche nach Geräten und beim Herstellen einer Verbindung mit Geräten über das Nearby SDK.
  • Geräteinformationen: Gerätemodell, Land, Build-Version und der Name des Anwendungspakets werden erfasst und mit den Leistungsmesswerten verknüpft, um regionale und gerätespezifische Segmente zu identifizieren.

Endnutzer können diese Erhebung unter „Einstellungen“ > „Google“ > „Nutzung & Diagnose“ zulassen oder ablehnen.