Typy danych

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
Rys. 2. Ekran zgody zakresów protokołu OAuth.

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.