Usługi zdrowotne na Wear OS

Wear OS 3 i nowsze obejmują usługę o nazwie Usługi związane ze zdrowiem. Usługi zdrowotne działają jako pośrednik między różnymi czujnikami i powiązanymi algorytmami na urządzeniu, aby dostarczać aplikacjom wysokiej jakości dane dotyczące aktywności, ćwiczeń i zdrowia.

Przykładowe aplikacje do ćwiczeń znajdziesz w repozytorium przykładów usług związanych ze zdrowiem w GitHubie.

Jak usługi związane ze zdrowiem pomagają deweloperom aplikacji

Bez Usług zdrowotnych aplikacje muszą łączyć się z co najmniej 1 czujnikiem, odpowiednio go konfigurować, odbierać surowe dane z czujnika i korzystać z własnych algorytmów, aby uzyskiwać przydatne informacje. Na przykład aplikacja może zarejestrować się w celu otrzymywania aktualizacji Sensor.TYPE_PRESSURE, aby uzyskać aktualne ciśnienie powietrza, wykorzystać je do obliczenia aktualnej wysokości i zbierać te dane w czasie, aby pokazywać zmiany wysokości podczas sesji aktywności użytkownika.

Usługi zdrowotne automatycznie konfigurują wszystkie czujniki związane z kondycją i zdrowiem odpowiednio do zastosowania, zbierają dane z czujników i obliczają wskaźniki takie jak tętno, odległość, kalorie, wysokość, piętra, prędkość, tempo i inne. Aplikacje mogą rejestrować się w celu uzyskania dostępu do tych danych bezpośrednio w Usługach związanych ze zdrowiem.

Schemat architektury usług zdrowotnych
Rysunek 1. Architektura usług związanych ze zdrowiem

Oto niektóre zalety korzystania z usług zdrowotnych:

  • Wykorzystuje zaawansowane algorytmy działające natywnie na platformie.
  • Oszczędza baterię, korzystając z konfiguracji czujników z Usług zdrowotnych, które są zoptymalizowane pod kątem efektywności energetycznej.
  • Zapewnia kompatybilność aplikacji z urządzeniami Wear 3 i nowszymi. Interfejs Health Services API jest spójny na urządzeniach z Wear 3 i nowszymi wersjami, co ułatwia aktualizowanie aplikacji.
  • Weryfikuje spójność danych we wszystkich aplikacjach na tym samym urządzeniu za pomocą standardowych obliczeń platformy.
  • Umożliwia korzystanie z funkcji opartych na aktywności, w tym wykrywanie trwającego ćwiczenia rozpoczętego w innej aplikacji.

Dzięki temu deweloperzy mogą skupić się na tworzeniu unikalnych funkcji i wrażeń użytkowników, a platforma zapewnia im niezawodne i spójne dane w energooszczędny sposób.

Pojęcia dotyczące usług zdrowotnych

Podczas tworzenia aplikacji z użyciem Usług zdrowotnych pamiętaj o tych kwestiach.

Typy danych

Usługi związane ze zdrowiem oferują różne dane zbierane i stale aktualizowane ze wszystkich dostępnych źródeł na urządzeniu. Dane dzielą się na 2 szerokie kategorie: dane próbkowane w jednym punkcie w czasie, np. HEART_RATE_BPM, oraz dane zbierane w określonym przedziale czasu, np. DISTANCE.

Więcej informacji znajdziesz na pełnej liście typów danych.

Wydarzenia

Aplikacje otrzymują zdarzenia, gdy użytkownik osiągnie określony stan celu lub wywoła zdarzenie. Na przykład użytkownik może zarejestrować cel dotyczący dystansu w aplikacji do ćwiczeń, a następnie aplikacja powiadomi go, gdy przebiegnie określony dystans. Możesz też użyć celu pasywnego w sytuacjach takich jak osiągnięcie przez użytkownika określonej liczby kroków lub zaśnięcie.

Więcej informacji znajdziesz w sekcjach Cele związane z aktywnościąCele pasywne.

Rodzaje ćwiczeń

Usługi dotyczące zdrowia traktują ćwiczenia jako funkcję najwyższej klasy i obsługują wiele rodzajów aktywności, takich jak bieganie czy jazda na nartach. Podczas ćwiczeń Usługi dotyczące zdrowia mogą zbierać dane dotyczące wybranych typów danych i przekazywać je do aplikacji, która zarządza ćwiczeniami.

Więcej informacji znajdziesz na pełnej liście rodzajów ćwiczeń.

Tworzenie aplikacji za pomocą Usług zdrowotnych

Twórz aplikacje korzystające z Usług zdrowotnych zgodnie z opisem w sekcjach poniżej.

Pasywne doświadczenia

Korzystając z PassiveMonitoringClient, Twoja aplikacja implementuje PassiveListenerService, który otrzymuje aktualizacje dotyczące typu danych lub zdarzenia. Jest to odpowiednie rozwiązanie w przypadku długotrwałych działań, w których dane są aktualizowane stosunkowo rzadko.

Więcej informacji znajdziesz w sekcji Pasywne aktualizacje danych.

Aktywne doświadczenia

Za pomocą MeasureClient aplikacja rejestruje odbiorców, którzy będą otrzymywać szybkie aktualizacje danych. Jest to odpowiednie w przypadku krótkotrwałych działań, np. gdy użytkownik patrzy na interfejs aplikacji. Staraj się minimalizować czas, przez jaki aplikacja korzysta z zarejestrowanego detektora, ponieważ zwiększa to częstotliwość próbkowania czujnika, a tym samym zużycie energii. Ten interfejs API nie jest przeznaczony do przechwytywania w tle ani śledzenia treningów.

Więcej informacji znajdziesz w artykule Wykonywanie pomiarów punktowych za pomocą interfejsu MeasureClient.

Za pomocą ExerciseClient aplikacja może zarządzać treningiem użytkownika, wyznaczać cele ćwiczeń i nasłuchiwać aktualizacji dotyczących bieżącego stanu ćwiczeń. Aplikacja może też otrzymywać szybkie aktualizacje danych za pomocą tego interfejsu API, o ile ćwiczenie należy do aplikacji. ExerciseClient można używać w aplikacjach, takich jak aplikacja do biegania, która umożliwia użytkownikom rejestrowanie biegu, wyświetlanie na żywo danych na urządzeniu i zapisywanie danych do dalszej analizy.

Więcej informacji znajdziesz w sekcji Rejestrowanie ćwiczeń za pomocą ExerciseClient.

Testowanie za pomocą danych syntetycznych

Aby sprawdzić, czy aplikacja otrzymuje aktualizacje danych z Usług zdrowotnych, ręcznie ustaw urządzenie tak, aby emitowało dane tak, jakby użytkownik wykonywał ćwiczenia.

Więcej informacji znajdziesz w artykule Używanie danych syntetycznych w usługach zdrowotnych.