Wykrywanie urządzeń w sieci przy użyciu interfejsów API warstwy danych

Urządzenia mogą nawiązywać połączenie z internetem bezpośrednio przez Wi-Fi lub sieć komórkową albo pośrednio przez sparowane urządzenie Bluetooth.

Osiągalne i pobliskie węzły

Urządzenie jest uznawane za osiągalne, gdy jest online i może komunikować się z innym urządzeniem – bezpośrednio przez Bluetooth lub pośrednio, korzystając z chmury jako pośrednika.

Urządzenie jest uznawane za pobliskie, jeśli może być połączone bezpośrednio przez Bluetooth bez korzystania z chmury.

Działania, które wpływają na czas ponownego połączenia

W niektórych przypadkach przywrócenie połączenia może zająć do 4 minut. Możliwe scenariusze to:

  • Nieaktywność urządzenia z Wear OS: jeśli urządzenie z Wear OS zostanie usunięte z nadgarstka użytkownika lub z innego powodu nie będzie aktywnie używane przez dłuższy czas, czas ponownego nawiązania połączenia może się wydłużyć.
  • Stan uśpienia: stan uśpienia telefonu komórkowego może ograniczać procesy w tle, co potencjalnie wydłuża czas ponownego połączenia urządzenia.
  • Interakcja użytkownika: jeśli użytkownik zacznie w tym samym czasie korzystać zarówno z urządzenia mobilnego, jak i urządzenia z Wear OS, często przyspiesza proces ponownego łączenia.

Wykrywanie wszystkich urządzeń za pomocą klienta węzłów

Obiekt NodeClient identyfikuje i wysyła dane do listy urządzeń z Androidem połączonych z siecią, niezależnie od możliwości ich urządzeń. Wszystkie aplikacje na urządzeniu otrzymują te powiadomienia o zdarzeniach, na przykład nowe urządzenie dołączające do sieci lub istniejące urządzenie przechodzące w tryb offline.

Klasa NodeClient jest szczególnie pomocna przy wykrywaniu urządzeń, na których nie ma zainstalowanej Twojej aplikacji.

Wykrywanie określonych urządzeń za pomocą klienta obsługującego funkcje

Obiekt CapabilityClient zawiera informacje o tym, które urządzenia w sieci Wear OS obsługują określone funkcje aplikacji. Możliwość to funkcja, którą aplikacja określa w momencie kompilacji lub dynamicznie konfiguruje się w czasie działania.

Na przykład aplikacja mobilna na Androida może reklamować, że obsługuje zdalne sterowanie odtwarzaniem filmów. Wersja tej aplikacji na Wear OS może używać polecenia CapabilityClient do sprawdzania, czy mobilna wersja aplikacji jest zainstalowana na urządzeniu w pobliżu i obsługuje tę funkcję. Jeśli tak, w aplikacji na Wear OS może pojawiać się przycisk odtwarzania i wstrzymywania, który umożliwia użytkownikom sterowanie odtwarzaniem filmu na urządzeniu mobilnym z poziomu urządzenia z Wear OS. Transmisja działa też w przeciwnym kierunku – aplikacje na Wear OS mogą zawierać listę obsługiwanych funkcji.

Sprawdzanie nowych funkcji aplikacji

Użyj CapabilityClient, aby określić identyfikator węzła urządzenia, z którym chcesz się komunikować. Jeśli na przykład chcesz sprawdzić dostępność nowej funkcji w aplikacji na urządzenia przenośne, utwórz taką możliwość po lewej stronie. Aplikacja na Wear OS może wtedy wysyłać zapytania o urządzenia, które obsługują tę funkcję. Jeśli brakuje tej funkcji na wszystkich urządzeniach, oznacza to, że użytkownik nie ma wersji Twojej aplikacji, która ją obsługuje. Jeśli założysz, że urządzenie przenośne jest zawsze prawidłowym węzłem do komunikacji, Twoje wiadomości mogą w końcu nie zostać dostarczone, ponieważ aplikacja na telefon nie obsługuje tej funkcji.

Sprawdzanie, czy urządzenie z Wear OS jest jedynym w sieci

Za pomocą CapabilityClient możesz sprawdzić, czy aplikacja musi działać w trybie samodzielnym, ponieważ w pobliżu nie ma żadnych innych urządzeń z Androidem. Jeśli nie skonfigurujesz FILTER_ALL, w wynikach nie powinny się pojawiać żadne inne urządzenia.