Interfejs Google Health API śledzi kroki użytkownika i dane o aktywności za pomocą typu danych interwału steps. Liczba kroków to podstawowy wskaźnik codziennej aktywności fizycznej, który pomaga deweloperom śledzić postępy w fitnessie, obliczać wydatek energetyczny i tworzyć podsumowania codziennej aktywności dla użytkowników.
Dowiedz się, jak odczytywać i strukturyzować dane o liczbie kroków w aplikacji, aby zapewnić użytkownikom jak najlepsze wrażenia.
Obsługiwane typy danych
Interfejs API obsługuje ten typ danych do śledzenia liczby kroków:
| Typ danych | Dostępne operacje |
Zakres |
|---|---|---|
|
Kroki
dataType:
stepsfilter parameter: steps
Typ rekordu: Interval
Zgodne urządzenia
|
list, reconcile, rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
Wytyczne
Podczas integrowania śledzenia kroków z aplikacją postępuj zgodnie z tymi wytycznymi dotyczącymi projektowania i implementacji.
Obliczanie prędkości i tempa
Interfejs Google Health API używa standardowych formuł do obliczania prędkości i tempa:
- Prędkość =
distance / time(hour) - Tempo =
time(seconds) / distance
Jednostkę odległości określa nagłówek Accept-Language podany w żądaniu.
Codzienne podsumowanie
Aby dokładnie agregować dzienną liczbę kroków podczas podróży, zmian stref czasowych lub czasu letniego, nie wykonuj obliczeń czasu trwania po stronie klienta. Zamiast tego wysyłaj zapytania do punktu końcowego dailyRollUp, który automatycznie uzupełnia luki w danych fizycznych za pomocą przesunięć UTC. Agregacja zwraca StepsRollupValue zawierający pole countSum, które reprezentuje łączną liczbę kroków wykonanych w żądanym dniu.
Rysowanie interfejsów (uzgadnianie)
Podczas tworzenia elementów interfejsu do wyświetlania danych o krokach użyj punktu końcowego reconcile. Jeśli kilka źródeł danych (np. smartwatch i telefon komórkowy) zarejestrowało kroki w tym samym czasie, punkt końcowy reconcile rozwiązuje konflikty i scala strumienie, aby zwrócić jeden uzgodniony strumień danych.
Śledzenie w ciągu dnia i histogramy
Aby wyświetlać szczegółowe informacje o aktywności użytkownika w ciągu dnia (np. wykresy):
- Histogramy kroków godzinowych: wysyłaj zapytania do punktu końcowego
rollUp, określając czas trwania (np.3600sna 1 godzinę) za pomocą parametruwindowSize. - Wszystkie rekordy kroków: użyj punktu końcowego
list, aby pobrać najbardziej szczegółowe, surowe rekordy kroków.
Punkty końcowe rollUp, dailyRollUp i reconcile akceptują parametr dataSourceFamily, który umożliwia filtrowanie danych z określonych grup źródeł. Więcej informacji i przykłady użycia znajdziesz w sekcji
Filtrowanie i agregowanie według rodziny źródeł danych
w przewodniku po punktach końcowych.
Synchronizacja w czasie rzeczywistym za pomocą webhooków
Subskrybuj kolekcję typu danych steps, aby otrzymywać powiadomienia w czasie rzeczywistym o zaimportowaniu lub zsynchronizowaniu nowych danych o krokach. Zamiast sondować punkty końcowe REST, aktualizuj dynamicznie pulpity po stronie klienta w odpowiedzi na te powiadomienia webhooków. Więcej informacji o konfigurowaniu subskrypcji znajdziesz w sekcji
Subskrypcje webhooków.
Obsługa prawdziwych zer
Interfejs Google Health API implementuje prawdziwe zera, aby rozwiązywać problemy z okresami braku aktywności. Jeśli użytkownik nosi urządzenie śledzące, ale nie chodzi w danym okresie, interfejs API zwraca rekord dla tego interwału, który zawiera normalne źródło danych i metadane sygnatury czasowej, ale pomija właściwość count.
Dzięki temu możesz odróżnić:
- Okresy bezruchu na nadgarstku: użytkownik nosi urządzenie, ale nie chodzi. Spowoduje to zwrócenie rekordów bez właściwości
count(interpretowanych jako zero kroków). - Okresy bez urządzenia na nadgarstku: użytkownik nie nosi urządzenia. Spowoduje to brak rekordu, co spowoduje duże luki w danych.
Więcej informacji znajdziesz w przewodniku Obecność danych i prawdziwe zera dla więcej szczegółów.