Interfejs API platformy Health

Health Platform API to interfejs API na Androida, który zapewnia deweloperom jeden interfejs do odczytywania, pisania i udostępniania danych o zdrowiu, samopoczuciu i aktywności fizycznej użytkowników. Dzięki Health Platform użytkownicy mogą kontrolować swoje dane. Użytkownicy decydują, które aplikacje mają uprawnienia do odczytu i zapisu różnych typów danych. Typy danych interfejsu Health Platform API to między innymi wzrost i tętno.

Health Platform API zapewnia użytkownikom mechanizm przechowywania i udostępniania danych, dzięki któremu mogą oni wybrać, które aplikacje mogą wyświetlać i wyświetlać ich osobiste dane o zdrowiu, aktywności fizycznej i samopoczuciu. Dzięki temu deweloperzy aplikacji będą mieli pełniejszy wgląd w stan użytkowników, a użytkownicy będą mogli skuteczniej monitorować swoje dane.

Zestaw dla programistów aplikacji na Androida Health Platform API zapewnia deweloperom aplikacji na Androida wszystko, czego potrzebują, aby zapewnić dostęp do danych o zdrowiu i samopoczuciu użytkowników na wybranych urządzeniach Samsung. Umożliwia też aplikacjom wykonywanie operacji zbiorczych, takich jak wstawianie, usuwanie i odczytywanie danych.

Rozpocznij

Korzystając z Health Platform, pamiętaj o tych kwestiach:

  • Aplikacje klienckie muszą uzyskać od użytkownika szczegółowe uprawnienia do odczytu lub zapisu.
  • Użytkownik może je odebrać lub odebrać w dowolnym momencie.
  • Interfejs Health Platform API obsługuje tylko wybrane urządzenia Samsung.
  • HealthDataClient to klient Health Platform i punkt wejścia do Health Platform.

Na ilustracji poniżej przedstawiono niezbędne kroki integracji, które muszą wykonać deweloperzy:

kroki integracji

Pliki wersji

Wersja 1 Health Platform zawiera:

  • Pakiet SDK klienta: umieść ten pakiet SDK w aplikacji, aby korzystać z interfejsu Health Platform API. Pakiet SDK to repozytorium Maven, które możesz dołączyć bezpośrednio do plików kompilacji aplikacji Gradle.

Zainstaluj platformę Health

Aby zainstalować Health Platform, wykonaj te czynności:

W głównym pliku build.gradle aplikacji dodaj repozytorium w następujący sposób:

allprojects {
    ...
    repositories {
        ...
        google()
    }
}

Dodaj zależność od pakietu SDK Health Platform w pliku build.gradle modułu, jak pokazano w tym przykładzie:

dependencies {
   …
  implementation 'com.google.android.libraries.healthdata:health-data-api:1.0.0-alpha01'
}

Dane

Health Platform przechowuje i organizuje dane o zdrowiu i aktywności fizycznej. Uwzględnia też podstawowe różnice między sposobem pomiaru danych różnych typów. Na przykład pomiar tętna jest wykonywany natychmiast, ale liczba kroków jest mierzona przez pewien czas.

Oto główne obiekty w Health Platform i czym się między nimi różnią:

  • RawData: rekord pomiaru i danych.
  • DataType: specyfikator popularnych typów danych o zdrowiu i aktywności fizycznej, takich jak tętno, tkanka tłuszczowa czy temperatura ciała, oraz ich formaty, np. pola, tylko do odczytu lub opcjonalne.
  • SampleData: obiekt RawData, który jest natychmiastowy pomiarem, np. tętno, ciśnienie krwi lub prędkość biegu.
  • IntervalData: obiekt RawData, który stanowi skumulowane pomiary dokonane przez określony czas, np. liczba zrobionych kroków, przebytych dystansów czy spalonych kalorii.
  • SeriesData: obiekt RawData, który zawiera sekwencję pomiarów w danym okresie. Urządzenie SeriesData najlepiej sprawdza się w przypadku danych z czujników o wysokiej częstotliwości, np. ciągłych próbek tętna podczas sesji aktywności.

Każda z 3 klas RawData odpowiada konkretnej podklasie klasy DataType: SampleData, IntervalData i SeriesData odpowiada odpowiednio SampleDataType, IntervalDataType i SeriesDataType.

Każdy obiekt RawData otrzymuje unikalny identyfikator (UID) po wstawieniu przez platformę Health Platform. Możesz użyć tego identyfikatora UID, aby odwoływać się do konkretnego obiektu RawData w żądaniach odczytu, aktualizacji lub usuwania.

Typy danych

Health Platform zawiera szeroki zestaw typów danych powszechnie używanych w aplikacjach związanych ze zdrowiem i aktywnością fizyczną. Dane przechowywane z dostępnymi typami danych zapewniają użytkownikom pełny wgląd w historyczne dane o zdrowiu, kondycji i samopoczuciu, dzięki czemu wiemy, co robili codziennie.

Każdy typ danych definiuje się przez format danych, do którego należą:

  • Pola: określone lub ogólne pola powiązane z typem danych. Na przykład dane typu Nasycenie krwi tlenem (SpO2) zawierają pola takie jak Tytuł, Uwagi i Procent.
  • Typ: długi, podwójny, ciąg lub wyliczenie.
  • Atrybut: tylko do odczytu, wymagany, opcjonalny lub zakres weryfikacji.

Lista typów danych

Wykorzystaj w pełni możliwości platformy Health Platform, poznając dostępne typy danych. Health Platform obsługuje typy danych wymienione w tabeli poniżej. Typy danych są uporządkowane według formatu: próbka, przedział lub seria.

SampleData typów:

DataType.BasalMetabolicRateDataType BASAL_METABOLIC_RATE Wymagane
DataType.BloodGlucoseDataType BLOOD_GLUCOSE Wymagane i opcjonalne
DataType.BloodPressureDataType BLOOD_PRESSURE Wymagane i opcjonalne
DataType.BodyFatDataType BODY_FAT Wymagane
DataType.BodyTemperatureDataType BODY_TEMPERATURE Wymagane i opcjonalne
DataType.BoneMassDataType BONE_MASS Wymagane
DataType.CervicalMucusDataType CERVICAL_MUCUS Opcjonalny
DataType.CervicalPositionDataType CERVICAL_POSITION Opcjonalnie
DataType.CyclingPedalingCadenceDataType CYCLING_PEDALING_CADENCE Wymagane
DataType.DateOfBirthDataType DATE_OF_BIRTH Tylko do odczytu
DataType.GenderDataType GENDER Tylko do odczytu
DataType.HeartRateDataType HEART_RATE Wymagane
DataType.HeightDataType HEIGHT Wymagane
DataType.HipCircumferenceDataType HIP_CIRCUMFERENCE Wymagane
DataType.HrvDifferentialIndexDataType HRV_DIFFERENTIAL_INDEX Wymagane
DataType.HrvRmssdDataType HRV_RMSSD Wymagane
DataType.HrvSDataType HRV_S Wymagane
DataType.HrvSd2DataType HRV_SD2 Wymagane
DataType.HrvSdannDataType HRV_SDANN Wymagane
DataType.HrvSdnnDataType HRV_SDNN Wymagane
DataType.HrvSdnnIndexDataType HRV_SDNN_INDEX Wymagane
DataType.HrvSdnnIndexDataType HRV_SDNN_INDEX Wymagane
DataType.HrvSdsdDataType HRV_SDSD Wymagane
DataType.HrvTinnDataType HRV_TINN Wymagane
DataType.LeanBodyMassDataType LEAN_BODY_MASS Wymagane
DataType.LocationDataType LOCATION Wymagane
DataType.MenstruationDataType MENSTRUATION Opcjonalnie
DataType.OvulationTestDataType OVULATION_TEST Wymagane
DataType.OxygenSaturationDataType OXYGEN_SATURATION Wymagane
DataType.PaceDataType PACE Wymagane
DataType.PowerDataType POWER Wymagane
DataType.RespiratoryRateDataType RESPIRATORY_RATE Wymagane
DataType.RestingHeartRateDataType RESTING_HEART_RATE Wymagane
DataType.SexualActivityDataType SEXUAL_ACTIVITY Wymagane
DataType.SpeedDataType SPEED Wymagane
DataType.StepsCadenceDataType STEPS_CADENCE Wymagane
DataType.Vo2MaxDataType VO2_MAX Wymagane i opcjonalne
DataType.WaistCircumferenceDataType WAIST_CIRCUMFERENCE Wymagane
DataType.WeightDataType WEIGHT Wymagane

IntervalData typów:

DataType.ActiveEnergyDataType ACTIVE_ENERGY_BURNED Wymagane
DataType.ActiveTimeDataType ACTIVE_TIME Tylko do odczytu
DataType.ActivityEventDataType ACTIVITY_EVENT Wymagane
DataType.ActivityLapDataType ACTIVITY_LAP Opcjonalnie
DataType.ActivitySessionDataType ACTIVITY_SESSION Wymagane
DataType.BasalEnergyDataType BASAL_ENERGY_BURNED Tylko do odczytu
DataType.DistanceDataType DISTANCE Wymagane
DataType.ElevationGainedDataType ELEVATION_GAINED Wymagane
DataType.FloorsClimbedDataType FLOORS_CLIMBED Wymagane
DataType.HydrationDataType HYDRATION Wymagane
DataType.NutritionDataType NUTRITION Opcjonalnie
DataType.RepetitionsDataType REPETITIONS Wymagane
DataType.SleepSessionDataType SLEEP_SESSION Opcjonalnie
DataType.SleepStageDataType SLEEP_STAGE Wymagane
DataType.StepsDataType STEPS Wymagane
DataType.SwimmingStrokesDataType SWIMMING_STROKES Wymagane i opcjonalne
DataType.TotalEnergyDataType TOTAL_ENERGY_BURNED Tylko do odczytu

SeriesData typów:

DataType.CyclingPedalingCadenceSeriesDataType CYCLING_PEDALING_CADENCE Wymagane
DataType.HeartRateSeriesDataType HEART_RATE Wymagane
DataType.LocationSeriesDataType LOCATION Wymagane
DataType.PaceSeriesDataType PACE Wymagane
DataType.PowerSeriesDataType POWER Wymagane
DataType.SpeedSeriesDataType SPEED Wymagane
DataType.StepsCadenceSeriesDataType STEPS_CADENCE Wymagane

Funkcje dla programistów

Poniżej opisujemy zestaw standardowych funkcji danych dostępnych w ramach platformy Health Platform. Platforma udostępnia standardowe funkcje wstawiania, aktualizowania i usuwania nieprzetworzonych danych.

Odczyt danych zagregowanych

Platforma umożliwia klientom stosowanie funkcji agregacji w przypadku tych typów znaczników AggregatedData:

  • StatisticalData: średnie, minimalne lub maksymalne wartości w zestawie SampleData lub SeriesData, takie jak minimalne i maksymalne tętno podczas sesji aktywności.
  • CumulativeData: suma wartości IntervalData, np. łączna liczba kroków w przedziale dziennym.
  • CountData: prosta liczba podstawowych obiektów RawData, np. liczba sesji aktywności w danym tygodniu. Dane dotyczące liczby można obliczać w przypadku typów danych próbki, interwału i serii.

Połącz się z interfejsem Health Platform API

HealthDataClient to punkt wejścia do interfejsu Health Platform API.

Aby połączyć aplikację z Health Platform, wykonaj te czynności:

  1. Użyj polecenia HealthDataService.getClient, aby utworzyć nowe instancje HealthDataClient.
  2. Aplikacja kliencka musi następnie poprosić użytkownika o uprawnienia za pomocą metody requestPermissions (Set).

HealthDataClient automatycznie zarządza połączeniem z bazową warstwą pamięci masowej i obsługuje wszystkie komunikację między procesem (IPC) oraz serializację żądań wychodzących i odpowiedzi przychodzących.