Datentypen

Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

Google Fit bietet eine Reihe von Datentypen für Gesundheit und Wohlbefinden im Namespace com.google.

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

  • Sofortiges Lesen oder Beobachten
  • Eine Zusammenfassung 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.

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

Datentypgruppen

Google Fit hat folgende Datentypen:

Öffentliche Datentypen
Die von der Plattform bereitgestellten Standarddatentypen haben das Präfix 'com.google'. Beispiel: com.google.step_count.delta. Diese Datentypen erfassen Sofortmesswerte für Gesundheits- und Fitnessdaten, einschließlich Fitnessaktivitäten, Schlaf und Ernährung. Alle Apps können die erforderlichen Berechtigungen zum Lesen und Schreiben für diese Datentypen anfordern, mit Ausnahme einiger kleinerer Datentypen, die nur von der App gelesen werden können, die sie geschrieben hat.

Weitere Informationen:

Arten von Gesundheitsdaten
Von der Plattform bereitgestellte Datentypen, die aufgrund potenziell sensibler Daten nur eingeschränkten Zugriff haben. Weitere Informationen findest du unter Gesundheitsdatentypen.
Aggregierte Datentypen
Datentypen zum Lesen von Informationen zu Gesundheit und Wohlbefinden nach Zeit oder Aktivitätstyp. Weitere Informationen finden Sie unter Aggregierte Datentypen.
Private benutzerdefinierte Datentypen
Benutzerdefinierte Datentypen, die von einer bestimmten Anwendung 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 Klasse DataType definiert. Wie Sie die Fitness APIs mit dem Datentyp aufrufen, hängt davon ab, was Sie tun möchten:

  • Wenn Sie Daten aufzeichnen möchten, können Sie mit der Recording API ein Abo für jeden gewünschten Datentyp erstellen.
  • Zum Lesen von Daten senden Sie mit der History API eine Leseanfrage für jeden Datentyp.
  • Wenn Sie Verlaufsdaten aus der Vergangenheit einfügen möchten, verwenden Sie für jeden Datentyp die History API.
  • Verwenden Sie zum Erstellen von Sitzungen die Sessions API, um Daten mit Sitzungsmetadaten einzufügen oder aufzuzeichnen.

Wenn Sie Datenpunkte für ein aktuelles DataType-Objekt erstellen möchten, weisen Sie Werte im richtigen Format zu. Im folgenden Beispiel wird gezeigt, wie Sie das Lebensmittel als String, den Mahlzeitentyp als Konstante aus der Klasse Field und den Nährstoffinhalt 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 Verlaufsdaten mit der History API einfügen, lesen oder löschen.

REST

Die Ressource dataSources enthält den Datentyp (und eine Liste der Felder) für jede Datenquelle. Sie können einen dieser Datentypen beim Erstellen von Datenquellen angeben und den Namen des Datentyps und eine Liste seiner Felder abrufen, wenn Sie eine Datenquelle aus dem Fitnessspeicher abrufen.

Der Datentyp einer Datenquelle wird beispielsweise so angegeben:

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

Autorisierungsbereiche

Autorisierungsbereiche decken Gruppen von Datentypen ab, auf die ein Nutzer eine App autorisieren kann. So können Nutzer besser nachvollziehen, auf welche Arten von Daten eine App zugreifen möchte. Außerdem ist es einfacher, Apps die Berechtigung zur Verwendung dieser Daten zu erteilen, da nicht jeder einzelne Datentyp genehmigt werden muss. Nutzer erteilen diese Berechtigungen, sobald sie Ihre App heruntergeladen haben.

Beispiel für den Zustimmungsbildschirm für den OAuth-Bereich
Abbildung 2: Zustimmungsbildschirm für den OAuth-Bereich

Nachdem Sie Ihre App mit einer kleinen Anzahl von Nutzern getestet haben, müssen Sie vor dem Start der App eine Überprüfung basierend auf den Bereichen beantragen, die für diese Datentypen relevant sind. Lesen Sie sich die oben verlinkten Datentypseiten durch, um zu erfahren, welche Bereiche für jeden Datentyp gelten.

Wenn deine App beispielsweise Blutdruck lesen und schreiben muss, muss dies sowohl für Lese- und Schreibvorgänge als auch für Anfragen von beiden Bereichen deklariert werden. Wenn nur Blutdruckdaten in die Google Fit-Plattform geschrieben werden, muss nur der Schreibbereich angefordert werden.

Wähle verantwortungsbewusst Datentypen aus. Fordere nicht alle Datentypen an, falls deine App sie benötigt. Die angegebenen Typen bestimmen, für welche Bereiche der Nutzer aufgefordert wird, Berechtigungen zu erteilen. Fragen Sie nur die Datentypen, die Ihre Anwendung benötigt, damit Nutzer mit größerer Wahrscheinlichkeit Zugriff gewähren. Nutzer gewähren leichter Zugriff auf eingeschränkte, klar beschriebene Bereiche.

Anhand der folgenden Tabelle können Sie prüfen, ob die Bereiche, auf die Ihre App zugreifen muss, vertraulich oder eingeschränkt sind (was die Bestätigungsschritte bestimmt, 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. Mit Altersbeschränkung
https://www.googleapis.com/auth/fitness.activity.write Aktivitätsdaten auf der Google Fit-Plattform schreiben Sensibel
https://www.googleapis.com/auth/fitness.blood_glucose.read Blutzuckerdaten von der Google Fit-Plattform lesen. Mit Altersbeschränkung
https://www.googleapis.com/auth/fitness.blood_glucose.write Blutzuckerdaten auf der Google Fit-Plattform schreiben. Sensibel
https://www.googleapis.com/auth/fitness.blood_pressure.read Blutdruckdaten auf der Google Fit-Plattform lesen. Mit Altersbeschränkung
https://www.googleapis.com/auth/fitness.blood_pressure.write Blutdruckdaten auf der Google Fit-Plattform schreiben Sensibel
https://www.googleapis.com/auth/fitness.body.read Körpermessdaten (Größe, Gewicht, Körperfettanteil) von der Google Fit-Plattform lesen. Mit Altersbeschränkung
https://www.googleapis.com/auth/fitness.body.write Körpermessdaten in die Google Fit-Plattform schreiben. Sensibel
https://www.googleapis.com/auth/fitness.body_temperature.read Körpertemperaturdaten von der Google Fit-Plattform lesen. Mit Altersbeschränkung
https://www.googleapis.com/auth/fitness.body_temperature.write Daten zur Körpertemperatur in die Google Fit-Plattform schreiben Sensibel
https://www.googleapis.com/auth/fitness.heart_rate.read Herzfrequenzdaten auf der Google Fit-Plattform lesen. Mit Altersbeschränkung
https://www.googleapis.com/auth/fitness.heart_rate.write Herzfrequenzdaten auf der Google Fit-Plattform schreiben Sensibel
https://www.googleapis.com/auth/fitness.location.read Standortdaten von der Google Fit-Plattform lesen. Mit Altersbeschränkung
https://www.googleapis.com/auth/fitness.location.write Standortdaten in die Google Fit-Plattform schreiben Sensibel
https://www.googleapis.com/auth/fitness.nutrition.read Ernährungsdaten von der Google Fit-Plattform lesen. Mit Altersbeschränkung
https://www.googleapis.com/auth/fitness.nutrition.write Ernährungsdaten in die Google Fit-Plattform schreiben Sensibel
https://www.googleapis.com/auth/fitness.oxygen_saturation.read Daten zur Sauerstoffsättigung aus der Google Fit-Plattform lesen. Mit Altersbeschränkung
https://www.googleapis.com/auth/fitness.oxygen_saturation.write Daten zur Sauerstoffsättigung in die Google Fit-Plattform schreiben. Sensibel
https://www.googleapis.com/auth/fitness.reproductive_health.read Zyklusdaten auf der Google Fit-Plattform lesen. Mit Altersbeschränkung
https://www.googleapis.com/auth/fitness.reproductive_health.write Zyklusdaten auf der Google Fit-Plattform schreiben. Sensibel
https://www.googleapis.com/auth/fitness.sleep.read Schlafdaten von der Google Fit-Plattform lesen. Mit Altersbeschränkung
https://www.googleapis.com/auth/fitness.sleep.write Schlafdaten auf der Google Fit-Plattform schreiben. Sensibel

Einer vorhandenen App neue Bereiche hinzufügen

Wenn Sie Ihre App aktualisieren, um einen neuen Bereich anzufordern (z. B. wenn Sie den neuen Schlaf- oder Herzfrequenzbereich hinzufügen oder einen Lesebereich hinzufügen), werden Nutzer aufgefordert, von Ihrer App Zugriff auf diese Bereiche anzufordern, und sie können den Zugriff gewähren oder ablehnen.

Es hat sich bewährt, bei Nutzern die Autorisierung für Ressourcen zum jeweiligen Zeitpunkt anzufordern. Beachte die Richtlinien zum Anfordern einer inkrementellen Autorisierung.

Die Wahrscheinlichkeit, dass Nutzer Zugriff gewähren, ist größer, wenn sie verstehen, warum/wie deine App diese Daten verwendet:

  • Wir empfehlen, einen Bildschirm hinzuzufügen, der Nutzer warnt bzw. informiert, dass sie nach diesen Bereichen gefragt werden.
  • Erläutern Sie klar, warum Ihre App Zugriff auf diese Bereiche/Daten anfordert, damit Nutzer eine fundierte Entscheidung treffen können.

Best Practices für App-Berechtigungen unter Android