Tworzenie funkcji związanych z krokami za pomocą interfejsu Google Health API

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:

Tabela: typy danych o krokach w interfejsie Google Health API
Typ danych
  dataType
  filter parametr
Typ rekordu
Dostępne
operacje
Zakres Obsługa webhooków
Obsługa prawdziwych zer
Kroki
  steps
  steps
Interwał list, reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly

W kolejnych sekcjach znajdziesz szczegóły techniczne dotyczące typu danych steps, w tym przykłady reprezentacji REST i wytyczne dotyczące integracji.

Wymagane zakresy

Aby uzyskać dostęp do tego typu danych, aplikacja musi poprosić o te zakresy OAuth:

  • Odczyt: https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly
  • Zapis: https://www.googleapis.com/auth/googlehealth.activity_and_fitness.writeonly

Wytyczne

Podczas integrowania śledzenia kroków z aplikacją postępuj zgodnie z tymi wytycznymi dotyczącymi projektowania i implementacji.

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 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ąże konflikty i scali 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. 3600s na 1 godzinę) za pomocą parametru windowSize.
  • Wszystkie rekordy kroków: użyj punktu końcowego list, aby pobrać najbardziej szczegółowe, nieprzetworzone rekordy kroków.

Punkty końcowe rollUp i reconcile akceptują parametr zapytania dataSourceFamily, który umożliwia filtrowanie danych z określonych grup źródeł.

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 artykule 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 jest aktywny lub nosi tracker, ale nie chodzi, tracker zapisuje wyraźne interwały kroków z wartością count równą "0". Dzięki temu możesz odróżnić okresy, w których użytkownik nie zrobił żadnego kroku, nosząc urządzenie, od okresów, w których nie nosił go wcale. Więcej informacji znajdziesz w przewodniku Obecność danych i prawdziwe zera dla więcej szczegółów.