Przegląd

Połączenia 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 wymienianie z nimi danych w czasie rzeczywistym, niezależnie od połączenia z siecią.

Przykładowe przypadki użycia:

  • Wspólna tablica: zapisuj pomysły z uczestnikami spotkania na wspólnej wirtualnej tablicy.
  • Gry w lokalnym trybie wieloosobowym: skonfiguruj grę wieloosobową i zapraszaj do niej innych użytkowników znajdujących się w pobliżu.
  • Granie na wielu ekranach: używaj telefonu lub tabletu jako kontrolera do gier wyświetlanych na dużym ekranie urządzenia z Androidem, np. Androida TV.
  • Przesyłanie plików offline: szybko udostępniaj zdjęcia, filmy i inne dane bez połączenia z siecią.

Wprowadzenie

Połączenia w pobliżu umożliwiają reklamowanie, wykrywanie i nawiązywanie połączeń między urządzeniami w pobliżu w trybie peer-to-peer w pełni offline. Połączenia między urządzeniami mają dużą przepustowość i małe opóźnienia oraz 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 korzysta z technologii Bluetooth, BLE i Wi-Fi, wykorzystując zalety każdej z nich i omijając ich wady. Dzięki temu deweloperzy nie muszą się martwić o zawiłości Bluetootha i Wi-Fi na różnych platformach i wersjach systemów operacyjnych, a mogą 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 osoby wyszukujące odkrywają pobliskich reklamodawców i wysyłają prośby o połączenie. Prośba o połączenie wysłana przez osobę odkrywającą 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 jest uznawane za nawiązane, a urządzenia przechodzą w fazę po połączeniu, podczas której obie strony mogą wymieniać dane.

Reklamy i odkrywanie

Reklamodawcy będą widoczni dla innych osób i firm, a osoby i firmy będą otrzymywać powiadomienia o znalezieniu lub utracie nowego reklamodawcy.

Nawiązywanie połączeń

Gdy osoba odkrywająca chce połączyć się z reklamodawcą w pobliżu, może wysłać prośbę o połączenie.

Obie strony zostaną powiadomione o rozpoczęciu procesu nawiązywania połączenia i będą miały możliwość zaakceptowania lub odrzucenia połączenia.

Gdy obie strony odpowiedzą, każda z nich otrzyma powiadomienie o wyniku. Jeśli obie strony zaakceptują połączenie, zostanie ono uznane za nawiązane i można będzie 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 odkrywcą.

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

  • Bajt: tablice bajtów ograniczone do 32 tys. bajtów; nadają się do wysyłania takich informacji jak metadane czy wiadomości sterujące.
  • Pliki: pliki o dowolnym rozmiarze, które są przesyłane z aplikacji do interfejsu sieciowego z minimalnym kopiowaniem między granicami procesów.
  • Strumień: strumień danych generowany na bieżąco, np. w przypadku nagranego dźwięku lub filmu, którego ostateczny rozmiar nie jest znany z góry.

Odbiorcy będą otrzymywać powiadomienia o nowych danych przychodzących oraz o postępach, anulowaniach i błędach.

Nawiązywane połączenia są dwukierunkowe, co oznacza, że reklamodawcy i osoby wyszukujące mogą jednocześnie wysyłać i odbierać dane.

Zbieranie danych

Podczas korzystania z pakietu SDK Usług Google Play do obsługi urządzeń w pobliżu zbierane są statystyki użytkowania, które pomagają ulepszać działanie tej usługi.

  • Dane o skuteczności: podczas skanowania i łączenia się z urządzeniami za pomocą pakietu Nearby SDK zbierane są dane o opóźnieniu wykrywania i nawiązywania połączenia, niezawodności i przepustowości.
  • Informacje o urządzeniu: zbieramy model urządzenia, kraj, wersję kompilacji i nazwę pakietu aplikacji, a następnie łączymy je z danymi o wydajności, aby identyfikować segmenty regionalne i zależne od urządzenia.

Użytkownicy mogą zezwolić na to gromadzenie danych lub mu odmówić, wybierając kolejno Ustawienia > Google > Użytkowanie i diagnostyka.