Types de données

Google Fit fournit un ensemble de types de données de santé et de bien-être dans l'espace de noms com.google.

Les types de données définissent le format des valeurs dans les points de données. Un point de données peut représenter:

  • Une lecture ou une observation instantanée
  • Agrégation avec statistiques sur un intervalle de temps

Google Fit définit les types de données pour les observations instantanées et les types de données pour les données globales. Les points de données sont constitués de valeurs pour les champs d'un type de données et d'informations d'horodatage. Les points qui représentent des observations instantanées incluent un horodatage, et les points d'un type de données agrégé incluent également l'heure de début de l'intervalle.

Google Fit vous permet également de définir de nouveaux types de données.

Groupes de types de données

Google Fit propose les types de données suivants:

Types de données publiques
Les types de données standards fournis par la plate-forme portent le préfixe "com.google". Exemple : com.google.step_count.delta. Ces types de données enregistrent des lectures instantanées des données de santé et de bien-être, y compris l'activité physique, le sommeil et la nutrition. Toute application peut demander les autorisations appropriées pour lire et écrire ces types de données, à l'exception de quelques types de données de localisation qui ne peuvent être lus que par l'application qui les a créés.

Pour en savoir plus, consultez :

Types de données de santé
Types de données fournies par la plate-forme dont l'accès est limité en raison de données potentiellement sensibles. Pour en savoir plus, consultez la section Types de données de santé.
Types de données agrégées
Types de données permettant de lire des informations de santé et de bien-être agrégées par heure ou par type d'activité. Pour en savoir plus, consultez la section Types de données agrégés.
Types de données personnalisées privées
Types de données personnalisés définis par une application spécifique. Seule l'application qui définit le type de données peut lire et écrire des données de ce type. Pour en savoir plus, consultez la section Types de données personnalisés.

Utiliser des types de données

Android

Sur Android, les types de données sont définis comme des champs publics de la classe DataType. La manière dont vous appelez les API Fitness avec le type de données dépend de ce que vous souhaitez accomplir:

  • Pour enregistrer des données, utilisez l'API Recording afin de créer un abonnement pour chaque type de données que vous souhaitez enregistrer.
  • Pour lire des données, utilisez l'API History afin d'envoyer une requête de lecture pour chaque type de données.
  • Pour insérer des données historiques antérieures, utilisez l'API History afin d'envoyer une requête d'insertion pour chaque type de données.
  • Pour créer des sessions, utilisez l'API Sessions pour insérer ou enregistrer des données avec des métadonnées de session.

Pour créer des points de données pour un objet DataType instanci, attribuez des valeurs au format approprié. L'exemple suivant montre comment attribuer l'aliment en tant que chaîne, le type de repas en tant que constante de la classe Field et la quantité de nutriments en tant que valeurs flottantes mappées.

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

Après avoir défini des points de données dans votre application, vous pouvez insérer, lire ou supprimer des données historiques avec l'API History.

REST

La ressource dataSources inclut le type de données (et une liste de ses champs) pour chaque source de données. Vous pouvez spécifier l'un de ces types de données lorsque vous créez des sources de données. Vous pouvez également obtenir le nom du type de données et la liste de ses champs lorsque vous récupérez une source de données à partir du magasin de remise en forme.

Par exemple, une représentation de source de données spécifie son type de données comme suit:

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

Champs d'application des autorisations

Les champs d'application des autorisations couvrent les groupes de types de données auxquels un utilisateur peut autoriser une application à accéder. Elles aident les utilisateurs à comprendre à quels types de données une application souhaite accéder. Ils permettent également d'autoriser plus facilement les applications à utiliser ces données en n'ayant pas à approuver chaque type de données individuel. Les utilisateurs accordent ces autorisations une fois qu'ils ont téléchargé votre application.

Exemple d'écran de consentement pour les champs d'application OAuth
Figure 2 : Écran de consentement pour les champs d'application OAuth

Après avoir testé votre application auprès d'un petit nombre d'utilisateurs, avant de la lancer, vous devez demander une validation en fonction des champs d'application pertinents pour ces types de données. Consultez les pages sur les types de données dont le lien figure ci-dessus pour connaître les champs d'application qui s'appliquent à chaque type de données.

Par exemple, si votre application a besoin de lire et d'écrire des données sur la tension artérielle, elle doit déclarer qu'elle effectue à la fois des opérations de lecture et d'écriture, et demander les deux champs d'application. S'il s'agit uniquement d'écrire des données sur la pression artérielle sur la plate-forme Google Fit, il suffit de demander le champ d'application en écriture.

Choisir les types de données de manière responsable Ne demandez pas tous les types de données au cas où votre application en aurait besoin. Les types spécifiés déterminent les niveaux d'accès pour lesquels l'utilisateur est invité à accorder une autorisation. Ne demandez que les types de données dont votre application a besoin afin que les utilisateurs soient plus susceptibles d'accorder l'accès. Les utilisateurs accordent plus facilement l'accès à des champs d'application limités et clairement décrits.

Utilisez ce tableau pour vérifier si les niveaux d'accès auxquels votre application a besoin d'accéder sont sensibles ou restreints (ce qui détermine les étapes de validation à suivre):

Champ d'application Description Catégorie
https://www.googleapis.com/auth/fitness.activity.read Lire les données d'activité de la plate-forme Google Fit. Limité
https://www.googleapis.com/auth/fitness.activity.write Écrire des données d'activité sur la plate-forme Google Fit Limité
https://www.googleapis.com/auth/fitness.blood_glucose.read Lire les données sur la glycémie à partir de la plate-forme Google Fit. Limité
https://www.googleapis.com/auth/fitness.blood_glucose.write Écrire des données sur la glycémie sur la plate-forme Google Fit. Limité
https://www.googleapis.com/auth/fitness.blood_pressure.read Lire des données sur la pression artérielle à partir de la plate-forme Google Fit. Limité
https://www.googleapis.com/auth/fitness.blood_pressure.write Écrire des données sur la tension artérielle sur la plate-forme Google Fit. Limité
https://www.googleapis.com/auth/fitness.body.read Lire les données de mesure corporelle (taille, poids, pourcentage de masse grasse) à partir de la plate-forme Google Fit. Limité
https://www.googleapis.com/auth/fitness.body.write Écrire les données de mesure corporelle sur la plate-forme Google Fit. Limité
https://www.googleapis.com/auth/fitness.body_temperature.read Lire les données sur la température corporelle à partir de la plate-forme Google Fit. Limité
https://www.googleapis.com/auth/fitness.body_temperature.write Écrire les données de température corporelle sur la plate-forme Google Fit. Limité
https://www.googleapis.com/auth/fitness.heart_rate.read Lire les données sur la fréquence cardiaque à partir de la plate-forme Google Fit. Limité
https://www.googleapis.com/auth/fitness.heart_rate.write Écrire des données de fréquence cardiaque sur la plate-forme Google Fit. Limité
https://www.googleapis.com/auth/fitness.location.read Lire les données de localisation de la plate-forme Google Fit. Limité
https://www.googleapis.com/auth/fitness.location.write Écrire des données de localisation sur la plate-forme Google Fit. Limité
https://www.googleapis.com/auth/fitness.nutrition.read Lire les données nutritionnelles provenant de la plate-forme Google Fit. Limité
https://www.googleapis.com/auth/fitness.nutrition.write Écrire des données nutritionnelles sur la plate-forme Google Fit. Limité
https://www.googleapis.com/auth/fitness.oxygen_saturation.read Lire les données sur la saturation en oxygène de la plate-forme Google Fit. Limité
https://www.googleapis.com/auth/fitness.oxygen_saturation.write Écrire des données sur la saturation en oxygène sur la plate-forme Google Fit. Limité
https://www.googleapis.com/auth/fitness.reproductive_health.read Lire les données sur la santé reproductive de la plate-forme Google Fit. Limité
https://www.googleapis.com/auth/fitness.reproductive_health.write Écrire des données sur la santé reproductive sur la plate-forme Google Fit. Limité
https://www.googleapis.com/auth/fitness.sleep.read Lire les données sur le sommeil à partir de la plate-forme Google Fit. Limité
https://www.googleapis.com/auth/fitness.sleep.write Écrire des données sur le sommeil sur la plate-forme Google Fit. Limité

Ajouter des champs d'application à une application existante

Lorsque vous mettez à jour votre application pour demander un nouveau champ d'application (par exemple, si vous ajoutez les nouveaux champs d'application du sommeil ou de la fréquence cardiaque, ou si vous ajoutez un champ d'application en lecture), les utilisateurs seront invités à indiquer que votre application demande l'accès à ces champs d'application et qu'ils peuvent choisir d'accorder ou de refuser l'accès.

Il est recommandé de demander aux utilisateurs l'autorisation d'accéder à des ressources au moment où vous en avez besoin. Suivez les instructions sur la demande d'autorisation incrémentielle.

Les utilisateurs seront plus susceptibles d'accorder l'accès s'ils comprennent pourquoi et comment votre application utilise ces données:

  • Envisagez d'ajouter un écran qui avertit/informe les utilisateurs qu'ils seront invités à saisir ces champs d'application.
  • Expliquez clairement pourquoi votre application demande l'accès à ces champs d'application/données afin que les utilisateurs puissent prendre une décision éclairée.

En savoir plus sur les bonnes pratiques concernant les autorisations des applications pour Android