Health Platform-API

Die Health Platform API ist eine Android-API, die Entwicklern eine einzige Oberfläche zum Lesen, Schreiben und Teilen der bisherigen Gesundheits-, Wellness- und Fitnessdaten eines Nutzers bietet. Mit der Health Platform haben Nutzer die Kontrolle über ihre Daten. Nutzer können festlegen, welche Apps Lese- oder Schreibzugriff auf verschiedene Datentypen haben. Zu den Datentypen der Health Platform API gehören unter anderem Größe und Herzfrequenz.

Die Health Platform API bietet Nutzern einen Speicher- und Freigabemechanismus, mit dem sie auswählen können, welche Apps auf ihre persönlichen Gesundheits-, Fitness- und Wellnessdaten zugreifen und diese anzeigen können. So können App-Entwickler Nutzern einen umfassenderen Überblick über ihren Gesundheitszustand bieten und Nutzer können ihre Daten effektiver im Blick behalten.

Das Health Platform API Software Development Kit bietet Android-App-Entwicklern alles, was sie benötigen, um auf ausgewählten Samsung-Geräten Zugriff auf die Gesundheits- und Fitnessdaten eines Nutzers zu gewähren. Außerdem können Apps damit Bulk-Vorgänge wie das Einfügen, Löschen und Lesen von Daten ausführen.

Erste Schritte

Beachten Sie bei der Verwendung der Health Platform Folgendes:

  • Client-Apps müssen vom Nutzer detaillierte Berechtigungen für Lese- oder Schreibzugriff erhalten.
  • Der Nutzer kann Berechtigungen jederzeit verweigern oder widerrufen.
  • Die Health Platform API wird nur von ausgewählten Samsung-Geräten unterstützt.
  • HealthDataClient ist der Client für die Health Platform und ein Einstiegspunkt für die Health Platform.

Die folgende Abbildung zeigt die erforderlichen Integrationsschritte, die Entwickler ausführen müssen:

Integrationsschritte, einschließlich SDK-Einrichtung, Zugriff und Berechtigungen sowie CRUD-Vorgänge.
Abbildung 1. Schritte zur Integration der Health-Plattform

Release-Dateien

Die Version 1 der Health Platform enthält Folgendes:

  • Client SDK: Dieses SDK muss in Ihrer Anwendung enthalten sein, um die Health Platform API zu verwenden. Das SDK ist ein Maven-Repository, das Sie direkt in die Gradle-Builddateien Ihrer Anwendung einbinden können.

Gesundheitsplattform installieren

So installieren Sie die Health Platform:

Fügen Sie das Repository in der Stammdatei build.gradle der App hinzu, wie im folgenden Beispiel gezeigt:

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

Fügen Sie in der Datei build.gradle Ihres Moduls eine Abhängigkeit vom Health Platform SDK hinzu, wie im folgenden Beispiel gezeigt:

Kotlin

dependencies { . . . implementation("com.google.android.libraries.healthdata:health-data-api:1.0.0-alpha01") }

Groovy

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

Daten

Die Health Platform speichert und strukturiert Gesundheits- und Fitnessdaten. Außerdem werden die grundlegenden Unterschiede bei der Messung von Daten verschiedener Typen berücksichtigt. Beispielsweise wird die Herzfrequenz sofort gemessen, die Schrittzahl jedoch über einen bestimmten Zeitraum.

Hier sind die zentralen Objekte in der Health Platform und ihre Unterschiede:

  • RawData:Mess- und Datensatz
  • DataType:Eine Angabe für gängige Arten von Gesundheits- und Fitnessdaten wie Herzfrequenz, Körperfett oder Körpertemperatur und deren Formate, z. B. Felder, schreibgeschützt oder optional.
  • SampleData:Ein RawData-Objekt, das eine Momentaufnahme darstellt, z. B. Herzfrequenz, Blutdruck oder Laufgeschwindigkeit.
  • IntervalData:Ein RawData-Objekt, das eine kumulative Messung über einen bestimmten Zeitraum darstellt, z. B. die Anzahl der Schritte, die zurückgelegte Strecke oder die verbrannten Kalorien.
  • SeriesData:Ein RawData-Objekt, das eine Sequenz von Messungen über einen bestimmten Zeitraum enthält. SeriesData eignet sich besonders für hochfrequente Sensordaten, z. B. kontinuierliche Herzfrequenzmesswerte während einer Aktivität.

Jede der drei RawData-Klassen entspricht einer bestimmten Unterklasse von DataType: SampleData, IntervalData und SeriesData entsprechen jeweils SampleDataType, IntervalDataType und SeriesDataType.

Jedem RawData-Objekt wird beim Einfügen eine eindeutige Kennung (UID) von der Health Platform zugewiesen. Mit dieser UID kannst du in Lese-, Aktualisierungs- oder Löschanfragen auf ein bestimmtes RawData-Objekt verweisen.

Datentypen

Die Health Platform umfasst eine Vielzahl von Datentypen, die in Gesundheits- und Fitness-Apps häufig verwendet werden. Mit den verfügbaren Datentypen gespeicherte Daten bieten Nutzern einen umfassenden Überblick über ihre bisherigen Gesundheits-, Fitness- und Wohlbefindensdaten und geben Aufschluss über ihre täglichen Aktivitäten.

Jeder Datentyp wird durch sein Datenformat definiert, das Folgendes umfasst:

  • Felder:Bestimmte oder allgemeine Felder, die mit dem Datentyp verknüpft sind. Der Datentyp „Sauerstoffsättigung im Blut (SpO2)“ enthält beispielsweise Felder wie „Titel“, „Hinweise“ und „Prozentsatz“.
  • Typ:long, double, string oder enum.
  • Attribut: „Lesezugriff“, „Erforderlich“, „Optional“ oder „Gültigkeitsbereich“.

Liste der Datentypen

Wenn Sie die verfügbaren Datentypen kennen, können Sie die Health Platform optimal nutzen. Die Health Platform unterstützt die Datentypen in der folgenden Tabelle. Die Datentypen sind nach ihrem Format organisiert: Stichprobe, Intervall oder Reihe.

SampleData Typen:

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

IntervalData Typen:

DataType.ActiveEnergyDataType ACTIVE_ENERGY_BURNED Erforderlich
DataType.ActiveTimeDataType ACTIVE_TIME Schreibgeschützt
DataType.ActivityEventDataType ACTIVITY_EVENT Erforderlich
DataType.ActivityLapDataType ACTIVITY_LAP Optional
DataType.ActivitySessionDataType ACTIVITY_SESSION Erforderlich
DataType.BasalEnergyDataType BASAL_ENERGY_BURNED Schreibgeschützt
DataType.DistanceDataType DISTANCE Erforderlich
DataType.ElevationGainedDataType ELEVATION_GAINED Erforderlich
DataType.FloorsClimbedDataType FLOORS_CLIMBED Erforderlich
DataType.HydrationDataType HYDRATION Erforderlich
DataType.NutritionDataType NUTRITION Optional
DataType.RepetitionsDataType REPETITIONS Erforderlich
DataType.SleepSessionDataType SLEEP_SESSION Optional
DataType.SleepStageDataType SLEEP_STAGE Erforderlich
DataType.StepsDataType STEPS Erforderlich
DataType.SwimmingStrokesDataType SWIMMING_STROKES Erforderlich und optional
DataType.TotalEnergyDataType TOTAL_ENERGY_BURNED Schreibgeschützt

SeriesData Typen:

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

Entwicklerfunktionen

Im Folgenden werden die Standarddatenfunktionen beschrieben, die in der Health Platform verfügbar sind. Die Plattform bietet standardmäßige Funktionen zum Einfügen, Aktualisieren und Löschen von Rohdaten.

AggregatedData lesen

Auf der Plattform können Kunden eine Aggregationsfunktion auf die folgenden AggregatedData-Typen anwenden:

  • StatisticalData:der Mittelwert, der Minimal- oder der Maximalwert in einer Gruppe von SampleData oder SeriesData, z. B. die minimale und maximale Herzfrequenz während einer Aktivitätseinheit.
  • CumulativeData:Die Summe der IntervalData-Werte, z. B. die Gesamtzahl der Schritte innerhalb eines Tages.
  • CountData:Eine einfache Zählung der zugrunde liegenden RawData Objekte, z. B. die Anzahl der Aktivitätssitzungen in einer bestimmten Woche. Zähldaten können für Stichproben-, Intervall- und Reihendatentypen berechnet werden.

Verbindung zur Health Platform API herstellen

HealthDataClient ist der Einstiegspunkt in die Health Platform API.

In den folgenden Schritten wird beschrieben, wie Sie eine Verbindung zur Health Platform herstellen:

  1. Mit HealthDataService.getClient können Sie neue HealthDataClient-Instanzen erstellen.
  2. Die Client-App muss dann mit der Methode requestPermissions (Set) die Berechtigung vom Nutzer anfordern.

HealthDataClient verwaltet automatisch die Verbindung zur zugrunde liegenden Speicherschicht und übernimmt die gesamte Inter-Process Communication (IPC) und Serialization von ausgehenden Anfragen und eingehenden Antworten.