Health Platform-API

Die Health Platform API ist eine Android API, die Entwicklern eine einzige Schnittstelle zum Lesen, Schreiben und Freigeben der bisherigen Gesundheits-, Wellness- und Fitnessdaten eines Nutzers bietet. Mit der Health Platform haben Nutzer die Kontrolle über ihre Daten. Nutzer steuern, welche Apps Lese- oder Schreibzugriff auf verschiedene Datentypen haben. Health Platform API-Datentypen umfassen Größe, Herzfrequenz und mehr.

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 Fitnessdaten zugreifen und diese anzeigen dürfen. So können App-Entwickler Nutzern einen umfassenderen Überblick über den Gesundheitszustand der Nutzer bieten und ihre Daten effektiver überwachen.

Das Health Platform API-Software-Entwicklerkit 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 ermöglichen. Außerdem können Apps Bulk-Vorgänge ausführen, wie z. B. das Einfügen, Löschen und Lesen von Daten.

Erste Schritte

Beachten Sie bei der Verwendung der Health Platform Folgendes:

  • Client-Apps müssen detaillierte Berechtigungen für den Lese- oder Schreibzugriff vom Nutzer einholen.
  • Der Nutzer kann die Berechtigungen anschließend jederzeit verweigern oder widerrufen.
  • Die Health Platform API unterstützt nur ausgewählte Samsung-Geräte.
  • 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

Dateien freigeben

Die Health Platform V1-Version enthält Folgendes:

  • Client SDK: Binden Sie dieses SDK in Ihre Anwendung ein, um die Health Platform API zu verwenden. Das SDK ist ein Maven-Repository, das Sie direkt in die Gradle-Build-Dateien Ihrer Anwendung einbinden können.

Health Platform installieren

So installieren Sie Health Platform:

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

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

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

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 wichtige Unterschiede zwischen der Messung von Daten verschiedener Typen berücksichtigt. Zum Beispiel wird eine Herzfrequenzmessung sofort durchgeführt, aber eine Schrittzahl über einen bestimmten Zeitraum hinweg erfasst.

Hier finden Sie einen Blick auf die zentralen Objekte in Health Platform und ihre Unterschiede:

  • RawData: Mess- und Datensatz.
  • DataType: Ein Spezifizierer für gängige Arten von Gesundheits- und Fitnessdaten wie Herzfrequenz, Körperfettanteil oder Körpertemperatur und ihre Formate, z. B. Felder, schreibgeschützt oder optional.
  • SampleData: ein RawData-Objekt, das eine sofortige Messung ist, z. B. die Herzfrequenz, der Blutdruck oder die Laufgeschwindigkeit.
  • IntervalData: Ein RawData-Objekt, das eine kumulative Messung über einen bestimmten Zeitraum ist, z. B. die Anzahl der Schritte, die zurückgelegte Strecke oder die verbrannten Kalorien.
  • SeriesData: Ein RawData-Objekt, das eine Folge von Messungen über einen bestimmten Zeitraum einschließt. SeriesData eignet sich besonders für Hochfrequenzsensordaten, wie z. B. kontinuierliche Herzfrequenzmessungen während einer Aktivitätssitzung.

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

Jedem RawData-Objekt wird beim Einfügen von Health Platform eine eindeutige Kennung (UID) zugewiesen. Sie können diese UID verwenden, um in Lese-, Aktualisierungs- oder Löschanfragen auf ein bestimmtes RawData-Objekt zu verweisen.

Datentypen

Die Health Platform umfasst eine breite Palette von Datentypen, die häufig in Gesundheits- und Fitness-Apps verwendet werden. Daten, die mit den verfügbaren Datentypen gespeichert werden, bieten Nutzern einen umfassenden Überblick über ihre bisherigen Gesundheits-, Fitness- und Fitnessdaten und geben einen Einblick in ihre täglichen Aktivitäten.

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

  • Felder:spezifische oder allgemeine Felder für den Datentyp. Der Datentyp der Sauerstoffsättigung des Blutes (SpO2) hat beispielsweise Felder wie „Titel“, „Notizen“ und „Prozentsatz“.
  • Typ:long, double, String oder enum
  • Attribut:schreibgeschützter, erforderlicher, optionaler oder Validierungsbereich.

Liste der Datentypen

Nutze die Health Platform optimal, indem du die verfügbaren Datentypen verstehst. Health Platform unterstützt die Datentypen, die in der folgenden Tabelle aufgeführt sind. Die Datentypen sind nach ihrem Format organisiert: Stichprobe, Intervall oder Serie.

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 der Health Platform beschrieben. Die Plattform bietet Standardfunktionen zum Einfügen, Aktualisieren und Löschen für Rohdaten.

Aggregierte Daten lesen

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

  • StatisticalData: die Durchschnitts-, Mindest- oder Höchstwerte in einem Satz von SampleData oder SeriesData, z. B. die minimale und maximale Herzfrequenz während einer Aktivitätssitzung.
  • CumulativeData: die Summe der IntervalData-Werte, z. B. die Gesamtschrittzahl innerhalb eines täglichen Intervalls.
  • 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 zur Health Platform API.

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

  1. Verwenden Sie HealthDataService.getClient, um neue HealthDataClient-Instanzen zu 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 Speicherebene und verarbeitet die gesamte Inter-Process Communication (IPC) und die Serialisierung ausgehender Anfragen und eingehender Antworten.