Omówienie interfejsu Data Layer API

Węzeł w chmurze jest sterowany przez serwer należący do Google
Rysunek 1. Próbka sieci węzłów z urządzeniami przenośnymi i Urządzenia z Wear OS.

Interfejs Wearable Data Layer API, który jest częścią Usług Google Play, zapewnia kanału komunikacyjnego między urządzeniami do noszenia (takimi jak zegarki smartwatche) połączonych urządzeń mobilnych (zwykle smartfonów). Służy on do synchronizacji przesyłać dane między urządzeniami.

Uwaga: ten interfejs API jest dostępny tylko na zegarkach z Wear OS i sparowanych urządzeniach z Androidem. W przypadku zegarków z Wear OS sparowanych z telefonami z iOS aplikacje mogą i wysyła zapytania do innych działających w chmurze interfejsów API, jeśli dostępne jest połączenie z internetem. Więcej informacji o innych interfejsach API można znaleźć na stronie Dostęp do sieci i synchronizacja włączone Wear OS

Uwaga: interfejsy API warstwy danych są przeznaczone to jedyne interfejsy API, które możesz stosować do komunikacji między urządzeniami mobilnymi a urządzeniami do noszenia. Służy do konfigurowania komunikacji między tymi urządzeniami. Nie próbuj na przykład i otwierać gniazda niskopoziomowe, by utworzyć kanał komunikacyjny.

Częste zastosowania

Interfejs Data Layer API jest szczególnie przydatny w przypadku fitnessu i mediów.

Aplikacje fitnessowe

Wysyłanie danych dotyczących ćwiczeń z Wear OS do aplikacji mobilnej Aplikacje fitness często wymaga zapisywać dane dotyczące ćwiczeń zarejestrowane przez zegarek w aplikacji mobilnej lub w sekcji Zdrowie Połącz. Jeśli do przenoszenia danych używasz interfejsu API warstwy danych, zastosuj Klient wiadomości, aby wysłać dane ćwiczeń z aplikacji Wear OS do aplikacji mobilnej w celu zapisywania w Health Connect.

Przesyłaj dane na żywo na urządzenie mobilne podczas treningu w domu

Częstym scenariuszem ćwiczeń w domu jest przesyłanie danych o tętnie z Wear OS. przesyłać z urządzenia do komórki i wyświetlać użytkownikowi aktualne informacje o tętnie. na ekranie urządzenia mobilnego. Aby przesyłać strumieniowo te dane, użyj klienta kanału.

Aplikacje multimedialne

Aby sterować odtwarzaczem za pomocą funkcji wstrzymywania/wznawiania/uruchamiania/zakończenia z poziomu na telefonie, użyj klienta wiadomości.

Opcje komunikacji

Dane są przenoszone na jeden z tych sposobów:

  1. Bezpośrednio, jeśli zostanie nawiązane połączenie Bluetooth między na urządzeniu z Wear OS i innym urządzeniu.
  2. Przez dostępną sieć, np. LTE lub Wi-Fi, za pomocą na serwerach Google jako węzeł pośredniczący.

Wszystkie klienty warstwy danych mogą wymieniać dane przez Bluetooth lub w zależności od dostępnych połączeń. Załóżmy, że dane transmisja z użyciem warstwy danych może w przyszłości korzystać z serwerów należących do Google.

Bluetooth

Gdy urządzenia są połączone przez Bluetooth, warstwa danych korzysta z tego połączenia. Między urządzeniami przesyłany jest jeden zaszyfrowany kanał wykorzystujący standardowy Szyfrowanie Bluetooth zarządzane przez Usługi Google Play.

Chmura

Gdy Bluetooth jest niedostępny, dane są automatycznie kierowane przez Google Cloud. Wszystkie dane przesyłane przez Google Cloud są w pełni szyfrowane.

Bezpieczeństwo komunikacji

Aby zwiększyć bezpieczeństwo, Usługi Google Play wymuszają te ograniczenia komunikację między aplikacją zainstalowaną na urządzeniu z Wear OS a tą samą aplikacją zainstalowane na urządzeniu przenośnym w pobliżu:

  • Nazwa pakietu musi być taka sama na wszystkich urządzeniach.
  • Podpis pakietu musi być taki sam na wszystkich urządzeniach.

Żadne inne aplikacje nie mają dostępu do tych danych niezależnie od typu połączenia.

Konfiguracja

Interfejs Wearable Data Layer API ma te zależności:

Uwzględnij tę zależność w pliku build.gradle modułu Wear:

dependencies {
    ...
    implementation("com.google.android.gms:play-services-wearable:18.2.0")
}

Ułatwianie wstępnego parowania

Oprócz interfejsów API platformy Horologist udostępnia kilka bibliotek pomocniczych. Zawiera bibliotekę warstwy danych, która pomaga w nawiązywaniu połączeń na urządzeniach mobilnych i urządzeniach z Wear OS. Dodatkowo udostępnia wygodne interfejsy API wykonaj następujące czynności:

  • Zainstaluj aplikację na drugim urządzeniu.
  • Uruchom aplikację na drugim urządzeniu.
  • Uruchom konkretną aktywność na drugim urządzeniu.
  • Uruchom aplikację towarzyszącą.

Dostęp do warstwy danych

Aby wywołać interfejs API warstwy danych, użyj klasy Wearable do pobierania wystąpień za pomocą różnych klas klientów, takich jak DataClient i MessageClient.

Więcej informacji znajdziesz w przykładzie warstwy danych.

Używanie minimalnej liczby klientów

Aby utworzyć klienta, zobacz przykładowy kod:

Kotlin

val dataClient: DataClient = Wearable.getDataClient(context)

Java

DataClient dataClient = Wearable.getDataClient(context);

Kontekstem może być dowolny prawidłowy kontekst Androida. Jeśli używasz interfejsu API w: zakresu obiektu Activity, użyj metody getDataClient() metody Wearable zajęcia. Dzięki temu niektóre interakcje będą wyświetlane jako okna, a nie powiadomienia, np. o zaktualizowanie wersji Google Usługi Google Play.

Domyślnie wywołania zwrotne do detektorów są wykonywane w głównym wątku UI aplikacji. Aby mieć wywołań zwrotnych wykonanych w innym wątku, użyj obiektu WearableOptions, aby podaj niestandardową wartość Looper:

Kotlin

runBlocking {
    Wearable.getDataClient(context, options)
}

Java

WearableOptions options = new WearableOptions.Builder().setLooper(myLooper).build();
DataClient dataClient = Wearable.getDataClient(context, options);

Więcej informacji znajdziesz w dokumentacji WearableOptions.Builder.

W razie potrzeby ponownie utwórz instancje klienta

Klienty interfejsów API do noszenia, takie jak DataClient i MessageClient, są niedrogie w tworzeniu. Dlatego zamiast skupiać się na klientach, twórz ich wersje w stylu, który pasuje do Twojej aplikacji.

Stan klienta, na przykład zbiór zarejestrowanych detektorów, jest wspólny dla wszystkich klientów i jest zachowywana, jeśli Usługi Google Play są aktualizowane, gdy aplikacja jest w domu.