Przegląd

Połączenia z urządzeniami w pobliżu to interfejs API sieci peer-to-peer, który umożliwia aplikacjom łatwe wykrywanie urządzeń w pobliżu, łączenie się z nimi i wymianę danych w czasie rzeczywistym, niezależnie od połączenia sieciowego.

Przykładowe przypadki użycia:

  • Współdzielona tablica: zapisuj pomysły wraz z uczestnikami znajdującymi się w pobliżu na współdzielonej wirtualnej tablicy.
  • Lokalna gra wieloosobowa: skonfiguruj grę wieloosobową i zaproś do niej innych użytkowników w pobliżu.
  • Gry na wiele urządzeń: używaj telefonu lub tabletu jako kontrolera do gier, aby grać w gry wyświetlane na urządzeniu z Androidem z dużym ekranem, takim jak Android TV.
  • Przesyłanie plików offline: udostępniaj zdjęcia, filmy i inne typy danych szybko i bez konieczności połączenia sieciowego.

Wprowadzenie

Połączenia z urządzeniami w pobliżu umożliwiają rozgłaszanie, wykrywanie i łączenie urządzeń w pobliżu w trybie peer-to-peer, całkowicie offline. Połączenia między urządzeniami mają dużą przepustowość, niskie opóźnienia i są w pełni szyfrowane, co umożliwia szybkie i bezpieczne przesyłanie danych.

Głównym celem tego interfejsu API jest zapewnienie prostej, niezawodnej i wydajnej platformy. Interfejs API wykorzystuje kombinację technologii Bluetooth, BLE i Wi-Fi, wykorzystując mocne strony każdej z nich i jednocześnie omijając ich słabe strony. Dzięki temu można uniknąć problemów z Bluetooth i Wi-Fi na różnych platformach i wersjach systemów operacyjnych, co pozwala deweloperom skupić się na funkcjach, które są ważne dla użytkowników.

Przegląd interfejsów API

Korzystanie z interfejsu API dzieli się na 2 fazy: przed połączeniem i po połączeniu.

W fazie przed połączeniem reklamodawcy reklamują się, a odkrywcy odkrywają reklamodawców w pobliżu i wysyłają prośby o połączenie. Prośba o połączenie wysłana przez wykrywacza do reklamodawcy inicjuje symetryczny proces uwierzytelniania, w wyniku którego obie strony niezależnie akceptują (lub odrzucają) prośbę o połączenie.

Gdy prośba o połączenie zostanie zaakceptowana przez obie strony, połączenie zostanie uznane za nawiązane, a urządzenia przejdą do fazy po połączeniu, podczas której obie strony mogą wymieniać dane.

Reklamy i odkrywanie

Reklamodawcy będą widoczni dla innych urządzeń wykrywających, a urządzenia wykrywające będą powiadamiane o znalezieniu nowego reklamodawcy lub utracie połączenia z nim.

Nawiązywanie połączeń

Gdy wykrywający chce połączyć się z reklamodawcą w pobliżu, może poprosić o połączenie.

Obie strony zostaną powiadomione o procesie inicjowania połączenia i będą mogły je zaakceptować lub odrzucić.

Gdy obie strony odpowiedzą, każda z nich otrzyma powiadomienie o wyniku. Jeśli obie strony zaakceptowały połączenie, uznaje się je za nawiązane i można rozpocząć przesyłanie danych.

Wymiana danych

Po nawiązaniu połączenia dalsze korzystanie z interfejsu API jest symetryczne, więc nie ma już rozróżnienia między reklamodawcą a wykrywcą.

Obie strony mogą teraz wymieniać dane. Obsługiwane są 3 typy ładunków:

  • Bajty: tablice bajtów ograniczone do 32 kB. Są przydatne do wysyłania takich elementów jak metadane czy komunikaty sterujące.
  • Plik: pliki o dowolnym rozmiarze; są przesyłane z aplikacji do interfejsu sieciowego z minimalnym kopiowaniem między procesami.
  • Strumień: strumień danych generowany na bieżąco, jak w przypadku nagrywanego dźwięku lub obrazu, którego ostateczny rozmiar nie jest znany z góry.

Odbiorcy będą powiadamiani o nowych danych przychodzących oraz o postępach, anulowaniu lub błędach.

Nawiązane połączenia są pełnodupleksowe, co oznacza, że reklamodawcy i wykrywający mogą jednocześnie wysyłać i odbierać dane.

Zbieranie danych

Gdy korzystasz z pakietu SDK usług Google Play dla urządzeń w pobliżu, zbierane są statystyki użytkowania, aby ulepszać działanie usługi.

  • Wskaźniki skuteczności: podczas wykrywania urządzeń i łączenia się z nimi za pomocą pakietu SDK Nearby zbierane są dane o opóźnieniu, niezawodności i przepustowości.
  • Informacje o urządzeniu: model urządzenia, kraj, wersja kompilacji i nazwa pakietu aplikacji są zbierane i powiązane ze wskaźnikami wydajności, aby można było identyfikować fragmenty danych dotyczące regionu i urządzenia.

Użytkownicy mogą zezwolić na zbieranie tych danych lub je zablokować, wybierając kolejno Ustawienia > Google > Użytkowanie i diagnostyka.