Google Fit udostępnia zestaw typów danych o zdrowiu i samopoczuciu w przestrzeni nazw com.google
.
Typy danych określają format wartości w punktach danych. Punkt danych może reprezentować:
- Natychmiastowy odczyt lub obserwacja
- Agregacja ze statystykami z danego przedziału czasu
Google Fit definiuje typy danych bieżących obserwacji i typy danych zbiorczych i skalowalnych danych. Punkty danych składają się z wartości pól typu danych i informacji o sygnaturze czasowej. Punkty reprezentujące natychmiastowe obserwacje obejmują sygnaturę czasową oraz punkty typ danych zbiorczych zawiera też czas rozpoczęcia przedziału czasu.
W Google Fit możesz też definiować nowe typy danych.
Grupy typów danych
Google Fit obejmuje te typy danych:
- Typy danych publicznych
- Standardowe typy danych udostępniane przez platformę mają „com.google” . Na przykład com.google.step_count.delta. Te typy danych rejestrują natychmiastowe odczyty na potrzeby dane o zdrowiu i samopoczuciu, w tym dane o aktywności fizycznej, śnie i odżywianiu. Dowolne może poprosić o odpowiednie uprawnienia do odczytu i zapisu w tych typach danych, z wyjątkiem kilku typów danych o lokalizacji, które mogą odczytać tylko aplikacja, je napisali.
Aby dowiedzieć się więcej, zobacz:
- Typy danych dotyczących zdrowia
- Typy danych dostarczone przez platformę, które mają ograniczony dostęp ze względu na potencjalnie wrażliwych danych. Więcej informacji znajdziesz w artykule Dane dotyczące zdrowia .
- Typy danych zbiorczych
- Typy danych do odczytu informacji o zdrowiu i samopoczuciu agregowane według czasu lub typu aktywności. Więcej informacji znajdziesz w artykule Dane zbiorcze .
- Prywatne typy danych niestandardowych
- Niestandardowe typy danych zdefiniowane przez konkretną aplikację. Tylko aplikacja, która określa może odczytywać i zapisywać dane tego typu. Więcej informacji: Niestandardowe typy danych
Korzystanie z typów danych
Android
W Androidzie typy danych są zdefiniowane jako pola publiczne sekcji
DataType
zajęcia. Sposób wywoływania interfejsów Fitness API z typem danych zależy od tego, co chcesz osiągnąć:
- Aby rejestrować dane, użyj interfejsu Recording API, aby utwórz subskrypcję dla każdego typu danych, który chcesz rejestrować.
- Aby odczytać dane, prześlij odczyt za pomocą interfejsu History API. dla każdego typu danych.
- Aby wstawić dane historyczne z przeszłości, użyj interfejsu History API, aby przesłać prośbę o ich wstawienie dla każdego typu danych.
- Aby tworzyć sesje, użyj interfejsu Sessions API do wstawiania lub rejestrowania sesji. z metadanymi sesji.
Aby utworzyć punkty danych dla
DataType
przypisz wartości w prawidłowym formacie. Następujący przykład pokazuje,
jak przypisać produktowi spożywczemu ciąg znaków, typ posiłku jako stałą z parametru
Field
zajęcia,
oraz wartości odżywcze w postaci zmapowanych wartości zmiennoprzecinkowych.
val nutritionSource = DataSource.Builder() .setDataType(DataType.TYPE_NUTRITION) ... .build() val nutrients = mapOf( Field.NUTRIENT_TOTAL_FAT to 0.4f, Field.NUTRIENT_SODIUM to 1f, Field.NUTRIENT_POTASSIUM to 422f ) val banana = DataPoint.builder(nutritionSource) .setTimestamp(now, TimeUnit.MILLISECONDS) .setField(Field.FIELD_FOOD_ITEM, "banana") .setField(Field.FIELD_MEAL_TYPE, Field.MEAL_TYPE_SNACK) .setField(Field.FIELD_NUTRIENTS, nutrients) .build()
Po ustawieniu punktów danych w aplikacji możesz wstawiać, odczytywać lub usuwać punkty danych dane historyczne za pomocą interfejsu History API.
REST
Zasób dataSources
zawiera typ danych
(oraz listę jego pól) dla każdego źródła danych. Możesz określić jeden z tych typów danych,
utworzysz źródła danych, by uzyskać nazwę typu danych i listę jego pól
podczas pobierania źródła danych ze sklepu fitnessowego.
Na przykład reprezentacja źródła danych określa jej typ danych w taki sposób:
{ "dataStreamId": "exampleDataSourceId", ... "dataType": { "name": "com.google.step_count.delta" }, ... }
Zakresy autoryzacji
Zakresy autoryzacji obejmują grupy typów danych, do których użytkownik może autoryzować aplikację dostęp. Pomagają użytkownikom zrozumieć, do jakiego typu danych aplikacja chce mieć dostęp Ułatwiają też przyznawanie aplikacjom uprawnień do korzystania z tych danych, ponieważ aby zatwierdzić każdy typ danych. Użytkownicy przyznają te uprawnienia, gdy: pobrali aplikację.
![Przykład ekranu zgody zakresów protokołu OAuth](https://developers-dot-devsite-v2-prod.appspot.com/static/fit/images/OAuth_scopes_example.png?authuser=9&hl=pl)
Po przetestowaniu aplikacji na małej liczbie użytkowników przed jej opublikowaniem musisz poprosić o weryfikację na podstawie odpowiednie zakresy danych. Odczytywanie stron typów danych, do których prowadzą linki powyżej, aby zrozumieć, które zakresy mają zastosowanie do poszczególnych typów danych.
Jeśli na przykład aplikacja musi odczytywać i zapisywać dane ciśnienia, musi zadeklarować, że ma dostęp zarówno do odczytu, jak i zapisu, a także do żądania obu zakresów. Jeśli jest zapisywanie danych o ciśnieniu krwi na platformie Google Fit wymaga jedynie żądania zakresu zapisu.
Odpowiedzialnie wybieraj typy danych. Nie żądaj wszystkich typów danych w przypadku aplikacji może być potrzebna. Określone typy określają, do jakich zakresów jest wyświetlany użytkownik aby przyznać uprawnienia. Pytaj tylko o typy danych, których potrzebuje Twoja aplikacja, aby użytkownicy z większym prawdopodobieństwem przyznania dostępu. Użytkownicy łatwiej potrzebują dostępu do ograniczonych, jasno określonych o opisanych zakresach.
Użyj tej tabeli, aby sprawdzić, czy zakresy, do których aplikacja potrzebuje dostępu, są wrażliwe lub z ograniczeniem (co określa weryfikację ):
Zakres | Opis | Kategoria |
---|---|---|
https://www.googleapis.com/auth/fitness.activity.read |
Odczytywanie danych o aktywności z platformy Google Fit. | Z ograniczeniem |
https://www.googleapis.com/auth/fitness.activity.write |
Zapisywanie danych o aktywności na platformie Google Fit | Z ograniczeniem |
https://www.googleapis.com/auth/fitness.blood_glucose.read |
Odczytywanie danych poziomu glukozy we krwi z platformy Google Fit. | Z ograniczeniem |
https://www.googleapis.com/auth/fitness.blood_glucose.write |
Zapisuj dane o stężeniu glukozy we krwi na platformie Google Fit. | Z ograniczeniem |
https://www.googleapis.com/auth/fitness.blood_pressure.read |
Odczytywanie danych o ciśnieniu krwi z platformy Google Fit. | Z ograniczeniem |
https://www.googleapis.com/auth/fitness.blood_pressure.write |
Zapisuj dane o ciśnieniu krwi na platformie Google Fit. | Z ograniczeniem |
https://www.googleapis.com/auth/fitness.body.read |
Odczytywanie danych pomiarów ciała (wzrostu, wagi, procentu tkanki tłuszczowej) z platformy Google Fit. | Z ograniczeniem |
https://www.googleapis.com/auth/fitness.body.write |
Zapisuj dane pomiarów ciała na platformie Google Fit. | Z ograniczeniem |
https://www.googleapis.com/auth/fitness.body_temperature.read |
Odczytuj dane o temperaturze ciała z platformy Google Fit. | Z ograniczeniem |
https://www.googleapis.com/auth/fitness.body_temperature.write |
Zapisuj dane o temperaturze ciała na platformie Google Fit. | Z ograniczeniem |
https://www.googleapis.com/auth/fitness.heart_rate.read |
Odczytywanie danych o tętnie z platformy Google Fit. | Z ograniczeniem |
https://www.googleapis.com/auth/fitness.heart_rate.write |
Zapisuj dane o tętnie na platformie Google Fit. | Z ograniczeniem |
https://www.googleapis.com/auth/fitness.location.read |
Odczytywanie danych o lokalizacji z platformy Google Fit. | Z ograniczeniem |
https://www.googleapis.com/auth/fitness.location.write |
zapisywać dane o lokalizacji na platformie Google Fit, | Z ograniczeniem |
https://www.googleapis.com/auth/fitness.nutrition.read |
Odczytuj dane dotyczące odżywiania z platformy Google Fit. | Z ograniczeniem |
https://www.googleapis.com/auth/fitness.nutrition.write |
Zapisuj dane dotyczące odżywiania na platformie Google Fit. | Z ograniczeniem |
https://www.googleapis.com/auth/fitness.oxygen_saturation.read |
Odczytywanie danych saturacji z platformy Google Fit. | Z ograniczeniem |
https://www.googleapis.com/auth/fitness.oxygen_saturation.write |
Zapisuj dane o saturacji na platformie Google Fit. | Z ograniczeniem |
https://www.googleapis.com/auth/fitness.reproductive_health.read |
Odczytywanie danych o zdrowiu reprodukcyjnym z platformy Google Fit. | Z ograniczeniem |
https://www.googleapis.com/auth/fitness.reproductive_health.write |
Zapisuj dane o zdrowiu reprodukcyjnym na platformie Google Fit. | Z ograniczeniem |
https://www.googleapis.com/auth/fitness.sleep.read |
Odczytywanie danych o śnie z platformy Google Fit. | Z ograniczeniem |
https://www.googleapis.com/auth/fitness.sleep.write |
Zapisywanie danych dotyczących snu na platformie Google Fit. | Z ograniczeniem |
Dodawanie nowych zakresów do istniejącej aplikacji
Gdy zaktualizujesz swoją aplikację, aby poprosić o nowy zakres (na przykład po dodaniu nowego zakresu zakresów snu lub tętna albo dodania zakresu odczytu), użytkownicy zobaczą prośbę aplikacja prosi o dostęp do tych zakresów, które mogą przyznać lub odrzuć dostęp.
Sprawdzoną metodą jest wysyłanie do użytkowników próśb o autoryzację zasobów w danym momencie których potrzebujesz. Postępuj zgodnie z wytycznymi dotyczącymi przesyłania prośby o zwiększenie limitu autoryzacji.
Użytkownicy chętniej przyznają dostęp, jeśli będą rozumieć, dlaczego i jak działa Twoja aplikacja używa tych danych:
- Rozważ dodanie ekranu, który będzie ostrzegać lub informować użytkowników, że będą prosić o dostęp dla tych zakresów.
- Wyjaśnij, dlaczego Twoja aplikacja prosi o dostęp do tych zakresów/danych. użytkownicy mogą podjąć świadomą decyzję.
Dowiedz się więcej o sprawdzonych metodach dotyczących uprawnień aplikacji na Androida.