Datentypen

Google Fit bietet eine Reihe von Gesundheits- und Wellness-Datentypen im Namespace com.google.

Datentypen definieren das Format der Werte in Datenpunkten. Ein Datenpunkt kann Folgendes darstellen:

  • Eine sofortige Messung oder Beobachtung
  • Ein Aggregat mit Statistiken über ein Zeitintervall

Google Fit definiert Datentypen für sofortige Beobachtungen und Datentypen für aggregierte Daten. Datenpunkte bestehen aus Werten für die Felder eines Datentyps und Zeitstempelinformationen. Punkte, die sofortige Beobachtungen darstellen, enthalten einen Zeitstempel. Punkte eines aggregierten Datentyps enthalten auch die Startzeit für das Intervall.

Mit Google Fit können Sie auch neue Datentypen definieren.

Datentypgruppen

Google Fit bietet die folgenden Datentypen:

Öffentliche Datentypen
Standarddatentypen, die von der Plattform bereitgestellt werden, haben das Präfix „com.google“. Beispiel: com.google.step_count.delta. Diese Datentypen erfassen sofortige Messungen für Gesundheits- und Wellnessdaten, einschließlich Fitnessaktivitäten, Schlaf und Ernährung. Jede App kann die entsprechenden Berechtigungen anfordern, um diese Datentypen zu lesen und in sie zu schreiben. Eine Ausnahme bilden einige Standortdatentypen, die nur von der App gelesen werden können, die sie geschrieben hat.

Weitere Informationen finden Sie unter:

Gesundheitsdatentypen
Datentypen, die von der Plattform bereitgestellt werden und aufgrund potenziell sensibler Daten eingeschränkten Zugriff haben. Weitere Informationen finden Sie unter Gesundheitsdaten typen.
Aggregierte Datentypen
Datentypen zum Lesen von Gesundheits- und Wellnessinformationen, die nach Zeit oder Aktivitätstyp aggregiert wurden. Weitere Informationen finden Sie unter Aggregierte Daten typen.
Benutzerdefinierte private Datentypen
Benutzerdefinierte Datentypen, die von einer bestimmten App definiert werden. Nur die App, die den Datentyp definiert, kann Daten dieses Typs lesen und schreiben. Weitere Informationen finden Sie unter Benutzerdefinierte Datentypen.

Datentypen verwenden

Android

Unter Android werden Datentypen als öffentliche Felder der DataType Klasse definiert. Wie Sie die Fitness APIs mit dem Datentyp aufrufen, hängt davon ab, was Sie erreichen möchten:

  • Wenn Sie Daten aufzeichnen möchten, erstellen Sie mit der Recording API ein Abo für jeden Datentyp, den Sie aufzeichnen möchten.
  • Wenn Sie Daten lesen möchten, senden Sie mit der History API eine Lese anfrage für jeden Datentyp.
  • Wenn Sie Verlaufsdaten aus der Vergangenheit einfügen möchten, senden Sie mit der History API eine Einfüge-Anfrage für jeden Datentyp.
  • Wenn Sie Sitzungen erstellen möchten, verwenden Sie die Sessions API, um Daten mit Sitzungsmetadaten einzufügen oder aufzuzeichnen.

Wenn Sie Datenpunkte für ein sofortiges DataType Objekt erstellen möchten, weisen Sie Werte im richtigen Format zu. Im folgenden Beispiel wird gezeigt, wie Sie das Lebensmittel als String, den Mahlzeittyp als Konstante aus der Field Klasse, und die Nährstoffgehalte als zugeordnete Gleitkommawerte zuweisen.

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()

Nachdem Sie Datenpunkte in Ihrer App festgelegt haben, können Sie mit der History API Verlaufsdaten einfügen, lesen oder löschen.

REST

Die dataSources Ressource enthält den Datentyp (und eine Liste der zugehörigen Felder) für jede Datenquelle. Sie können einen dieser Datentypen angeben, wenn Sie Datenquellen erstellen. Außerdem können Sie den Namen des Datentyps und eine Liste der zugehörigen Felder abrufen, wenn Sie eine Datenquelle aus dem Fitness-Store abrufen.

In einer Datenquellendarstellung wird der Datentyp beispielsweise so angegeben:

{
"dataStreamId": "exampleDataSourceId",
...
"dataType": {
  "name": "com.google.step_count.delta"
},
...
}

Autorisierungsbereiche

Autorisierungsbereiche umfassen Gruppen von Datentypen, für die ein Nutzer einer App den Zugriff autorisieren kann. Sie helfen Nutzern zu verstehen, auf welche Arten von Daten eine App zugreifen möchte. Außerdem erleichtern sie es, Apps die Berechtigung zur Verwendung dieser Daten zu erteilen, da nicht jeder einzelne Datentyp genehmigt werden muss. Nutzer erteilen diese Berechtigungen, nachdem sie Ihre App heruntergeladen haben.

Beispiel für den Zustimmungsbildschirm für OAuth-Bereiche
Abbildung 2.Zustimmungsbildschirm für OAuth-Bereiche.

Nachdem Sie Ihre App mit einer kleinen Anzahl von Nutzern getestet haben, müssen Sie vor dem Start Ihrer App eine Überprüfung anfordern basierend auf den für diese Datentypen relevanten Bereichen. Lesen Sie die Seiten zu den oben verlinkten Datentypen, um zu erfahren, welche Bereiche für die einzelnen Datentypen gelten.

Wenn Ihre App beispielsweise den Blutdruck lesen und schreiben muss, muss sie sowohl Lese- als auch Schreibvorgänge deklarieren und beide Bereiche anfordern. Wenn sie nur Blutdruckdaten in die Google Fit-Plattform schreibt, muss sie nur den Schreibbereich anfordern.

Wählen Sie Datentypen verantwortungsbewusst aus. Fordern Sie nicht jeden Datentyp an, falls Ihre App ihn möglicherweise benötigt. Die angegebenen Typen bestimmen, für welche Bereiche der Nutzer um die Erteilung der Berechtigung gebeten wird. Fordern Sie nur die Datentypen an, die Ihre App benötigt, damit Nutzer eher Zugriff gewähren. Nutzer erteilen eher Zugriff auf eingeschränkte, klar beschriebene Zugriffsbereiche.

In dieser Tabelle können Sie prüfen, ob die Bereiche, auf die Ihre App Zugriff benötigt, sensibel oder eingeschränkt sind. Dies bestimmt die Überprüfungsschritte, die Sie ausführen müssen:

Umfang Beschreibung Kategorie
https://www.googleapis.com/auth/fitness.activity.read Aktivitätsdaten von der Google Fit-Plattform lesen Eingeschränkt
https://www.googleapis.com/auth/fitness.activity.write Aktivitätsdaten in die Google Fit-Plattform schreiben Eingeschränkt
https://www.googleapis.com/auth/fitness.blood_glucose.read Blutzuckerdaten von der Google Fit-Plattform lesen Eingeschränkt
https://www.googleapis.com/auth/fitness.blood_glucose.write Blutzuckerdaten in die Google Fit-Plattform schreiben Eingeschränkt
https://www.googleapis.com/auth/fitness.blood_pressure.read Blutdruckdaten von der Google Fit-Plattform lesen Eingeschränkt
https://www.googleapis.com/auth/fitness.blood_pressure.write Blutdruckdaten in die Google Fit-Plattform schreiben Eingeschränkt
https://www.googleapis.com/auth/fitness.body.read Daten zu Körpermaßen (Größe, Gewicht, Körperfettanteil) von der Google Fit-Plattform lesen Eingeschränkt
https://www.googleapis.com/auth/fitness.body.write Daten zu Körpermaßen in die Google Fit-Plattform schreiben Eingeschränkt
https://www.googleapis.com/auth/fitness.body_temperature.read Körpertemperaturdaten von der Google Fit-Plattform lesen Eingeschränkt
https://www.googleapis.com/auth/fitness.body_temperature.write Körpertemperaturdaten in die Google Fit-Plattform schreiben Eingeschränkt
https://www.googleapis.com/auth/fitness.heart_rate.read Herzfrequenzdaten von der Google Fit-Plattform lesen Eingeschränkt
https://www.googleapis.com/auth/fitness.heart_rate.write Herzfrequenzdaten in die Google Fit-Plattform schreiben Eingeschränkt
https://www.googleapis.com/auth/fitness.location.read Standortdaten von der Google Fit-Plattform lesen Eingeschränkt
https://www.googleapis.com/auth/fitness.location.write Standortdaten in die Google Fit-Plattform schreiben Eingeschränkt
https://www.googleapis.com/auth/fitness.nutrition.read Ernährungsdaten von der Google Fit-Plattform lesen Eingeschränkt
https://www.googleapis.com/auth/fitness.nutrition.write Ernährungsdaten in die Google Fit-Plattform schreiben Eingeschränkt
https://www.googleapis.com/auth/fitness.oxygen_saturation.read Sauerstoffsättigungsdaten von der Google Fit-Plattform lesen Eingeschränkt
https://www.googleapis.com/auth/fitness.oxygen_saturation.write Sauerstoffsättigungsdaten in die Google Fit-Plattform schreiben Eingeschränkt
https://www.googleapis.com/auth/fitness.reproductive_health.read Daten zur reproduktiven Gesundheit von der Google Fit-Plattform lesen Eingeschränkt
https://www.googleapis.com/auth/fitness.reproductive_health.write Daten zur reproduktiven Gesundheit in die Google Fit-Plattform schreiben Eingeschränkt
https://www.googleapis.com/auth/fitness.sleep.read Schlafdaten von der Google Fit-Plattform lesen Eingeschränkt
https://www.googleapis.com/auth/fitness.sleep.write Schlafdaten in die Google Fit-Plattform schreiben Eingeschränkt

Vorhandener App neue Bereiche hinzufügen

Wenn Sie Ihre App aktualisieren, um einen neuen Zugriffsbereich anzufordern (z. B. wenn Sie die neuen Zugriffsbereiche für Schlaf oder Herzfrequenz hinzufügen oder einen Lesezugriffsbereich hinzufügen), werden Nutzer darüber informiert, dass Ihre App Zugriff auf diese Zugriffsbereiche anfordert. Sie können dann entscheiden, ob sie den Zugriff gewähren oder ablehnen.

Es empfiehlt sich, die Autorisierung von Nutzern für Ressourcen anzufordern, wenn Sie sie benötigen. Folgen Sie den Richtlinien zum Anfordern einer inkrementellen Autorisierung.

Nutzer gewähren eher Zugriff, wenn sie verstehen, warum und wie Ihre App diese Daten verwendet:

  • Fügen Sie einen Bildschirm hinzu, auf dem Nutzer gewarnt oder informiert werden, dass sie nach diesen Bereichen gefragt werden.
  • Erklären Sie genau, warum Ihre App Zugriff auf diese Bereiche/Daten anfordert, damit Nutzer eine fundierte Entscheidung treffen können.

Weitere Informationen zu Best Practices für App-Berechtigungen für Android.