Übersicht

Nearby Connections ist eine Peer-to-Peer-Netzwerk-API, mit der Apps Daten in der Nähe finden, eine Verbindung zu ihnen herstellen und in Echtzeit mit ihnen kommunizieren können, unabhängig von der Netzwerkverbindung.

Beispiele für Anwendungsfälle:

  • Gemeinsames Whiteboard:Schreiben Sie Ideen mit Teilnehmern in der Nähe auf einem gemeinsam genutzten virtuellen Whiteboard.
  • Lokales Mehrspieler-Game:Richte ein Mehrspieler-Game ein und lade andere Nutzer in der Nähe ein.
  • Gaming auf mehreren Bildschirmen:Über ein Smartphone oder Tablet können Sie Spiele auf einem nahe gelegenen Großbildschirm-Android-Gerät wie Android TV spielen.
  • Offlinedateiübertragungen: Teilen Sie Fotos, Videos oder andere Daten schnell und ohne Netzwerkverbindung.

Einführung

„Nearby Connections“ ermöglicht Werbung, Auffindbarkeit und Verbindungen zwischen Geräten in der Nähe auf vollständige Offline-Peer-to-Peer-Basis. Verbindungen zwischen Geräten sind hohe Bandbreite, niedrige Latenz und vollständig verschlüsselt, um eine schnelle und sichere Datenübertragung zu ermöglichen.

Ein Hauptziel der API ist die Bereitstellung einer Plattform, die einfach, zuverlässig und leistungsfähig ist. Die API verwendet eine Kombination aus Bluetooth-, BLE- und WLAN-Technologien, um die jeweiligen Stärken zu nutzen und gleichzeitig die jeweiligen Schwächen zu umgehen. Dies abstrahiert effektiv die verschiedenen Möglichkeiten von Bluetooth und WLAN auf verschiedenen Plattformen und bei unterschiedlichen Betriebssystemversionen, sodass sich Entwickler auf die wichtigsten Funktionen konzentrieren können.

API-Übersicht

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

In der Vorverbindungsphase schalten Werbetreibende sich selbst, während Discoverer Werbetreibende in der Nähe finden und Verbindungsanfragen senden. Eine Verbindungsanfrage von einem Discoverer zu einem Werbetreibenden initiiert einen symmetrischen Authentifizierungsvorgang, wodurch beide Seiten unabhängig voneinander angenommen oder abgelehnt werden.

Nachdem beide Seiten die Verbindungsanfrage angenommen haben, wird davon ausgegangen, dass eine Verbindung besteht und die Geräte in die Phase nach der Verbindung gelangen, in der beide Seiten Daten austauschen können.

Werbung und Auffindbarkeit

Werbetreibende werden für andere Discover-Nutzer sichtbar und Discovery-Nutzer werden benachrichtigt, wenn ein neuer Werbetreibender gefunden wird oder verloren gegangen ist.

Verbindungen herstellen

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

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

Sobald beide Seiten geantwortet haben, werden beide Seiten über das Ergebnis benachrichtigt. Wenn beide Seiten die Verbindung akzeptiert haben, wird die Verbindung als hergestellt betrachtet und die Datenübertragung kann dann gestartet werden.

Datenaustausch

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

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

  • Bytes: Bytearrays sind auf 32k begrenzt. Sie sind gut zum Senden von Dingen wie Metadaten oder Kontrollnachrichten geeignet.
  • Datei: Dateien jeder Größe. Diese werden von der App an die Netzwerkschnittstelle mit minimalem Kopiervorgang über Prozessgrenzen übertragen.
  • Stream:Ein Stream von Daten, die direkt erstellt werden, wie z. B. bei aufgezeichneten Audio- und Videoinhalten, ohne dass eine endgültige Größe bekannt ist.

Die Empfänger werden über neue eingehende Daten und über Fortschritte, Stornierungen oder Fehler informiert.

Die hergestellten Verbindungen sind Vollduplex. Das bedeutet, dass Werbetreibende und Erkennungsgeräte gleichzeitig Daten senden und empfangen können.

Datenerfassung

Bei der Verwendung des Nearby SDK für Google Play-Dienste werden Nutzungsstatistiken erhoben, um die Nutzung zu verbessern.

  • Leistungsmesswerte:Beim Scannen und Herstellen einer Verbindung zu Geräten mit dem Nearby SDK werden Erkennungs- und Verbindungslatenz, Zuverlässigkeit und Durchsatz erfasst.
  • Geräteinformationen:Gerätemodell, Land, Build-Version und Name des Anwendungspakets werden erfasst und den Leistungsmesswerten zugeordnet, um regionale und gerätespezifische Segmente zu identifizieren.

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