Types de données

Google Fit fournit un ensemble de types de données de santé et de bien-être sous 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:

  • Lecture ou observation instantanées
  • Agrégation avec les 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 agrégées. Les points de données sont des valeurs des 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 sont précédés du préfixe "com.google". (com.google.step_count.delta, par exemple). Ces types de données enregistrent des lectures instantanées de 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 dans 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 écrites.

Pour en savoir plus, consultez :

Types de données de santé
Types de données fournis 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 globales
Types de données permettant de lire les informations sur la santé et le bien-être, agrégés par heure ou par type d'activité. Pour en savoir plus, consultez Types de données globales.
Types de données personnalisés privés
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 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 façon 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 d'enregistrement 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, utilisez l'API History afin d'envoyer une requête d'insertion pour chaque type de données.
  • Pour créer des sessions, insérez ou enregistrez des données avec des métadonnées de session à l'aide de l'API Sessions.

Pour créer des points de données pour un objet DataType instauré, attribuez des valeurs au bon format. L'exemple suivant montre comment attribuer la nourriture sous forme de chaîne, le type de repas en tant que constante de la classe Field et les contenus nutritionnels 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 à l'aide de 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 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 des 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 facilitent également l'autorisation des applications à utiliser ces données en n'ayant pas à approuver chaque type de données. Les utilisateurs accordent ces autorisations une fois qu'ils ont téléchargé votre application.

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

Une fois que vous avez testé votre application auprès d'un petit nombre d'utilisateurs, vous devez demander la validation avant de la lancer en fonction des champs d'application pertinents pour ces types de données. Parcourez les pages sur les types de données dont le lien figure ci-dessus pour savoir quels champs d'application s'appliquent à chaque type de données.

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

Choisissez les types de données de manière responsable. Ne demandez pas tous les types de données au cas où votre application pourrait en avoir besoin. Les types spécifiés déterminent les champs d'application pour lesquels l'utilisateur est invité à accorder une autorisation. Ne demandez que les types de données dont votre application a besoin pour 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 champs d'application auxquels votre application doit 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ée
https://www.googleapis.com/auth/fitness.activity.write Écrire les données d'activité sur la plate-forme Google Fit Limitée
https://www.googleapis.com/auth/fitness.blood_glucose.read Lire des données sur la glycémie à partir de la plate-forme Google Fit. Limitée
https://www.googleapis.com/auth/fitness.blood_glucose.write Écrire des données sur la glycémie sur la plate-forme Google Fit. Limitée
https://www.googleapis.com/auth/fitness.blood_pressure.read Lire les données sur la tension artérielle sur la plate-forme Google Fit Limitée
https://www.googleapis.com/auth/fitness.blood_pressure.write Enregistrer les données sur la tension artérielle sur la plate-forme Google Fit. Limitée
https://www.googleapis.com/auth/fitness.body.read Lire les données de mesure corporelle (taille, poids, pourcentage de masse grasse) sur la plate-forme Google Fit. Limitée
https://www.googleapis.com/auth/fitness.body.write Écrire des données de mesure du corps sur la plate-forme Google Fit. Limitée
https://www.googleapis.com/auth/fitness.body_temperature.read Lire les données sur la température corporelle de la plate-forme Google Fit. Limitée
https://www.googleapis.com/auth/fitness.body_temperature.write Enregistrer les données sur la température corporelle sur la plate-forme Google Fit. Limitée
https://www.googleapis.com/auth/fitness.heart_rate.read Lire les données de fréquence cardiaque sur la plate-forme Google Fit. Limitée
https://www.googleapis.com/auth/fitness.heart_rate.write Enregistrer les données sur la fréquence cardiaque sur la plate-forme Google Fit. Limitée
https://www.googleapis.com/auth/fitness.location.read Lire les données de localisation issues de la plate-forme Google Fit Limitée
https://www.googleapis.com/auth/fitness.location.write Écrire les données de localisation sur la plate-forme Google Fit Limitée
https://www.googleapis.com/auth/fitness.nutrition.read Lire les données nutritionnelles de la plate-forme Google Fit. Limitée
https://www.googleapis.com/auth/fitness.nutrition.write Écrivez des données nutritionnelles sur la plate-forme Google Fit. Limitée
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ée
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ée
https://www.googleapis.com/auth/fitness.reproductive_health.read Lire des données sur la santé reproductive à partir de la plate-forme Google Fit Limitée
https://www.googleapis.com/auth/fitness.reproductive_health.write Écrire des données sur la santé reproductive sur la plate-forme Google Fit. Limitée
https://www.googleapis.com/auth/fitness.sleep.read Lire les données sur votre sommeil depuis la plate-forme Google Fit. Limitée
https://www.googleapis.com/auth/fitness.sleep.write Écrire les données de sommeil sur la plate-forme Google Fit. Limitée

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 le champ d'application de suivi du sommeil ou de la fréquence cardiaque, ou que vous ajoutez un champ d'application en lecture), les utilisateurs sont invités à le faire, et peuvent choisir d'accorder ou de refuser l'accès.

Il est recommandé de demander l'autorisation aux utilisateurs des ressources lorsque vous en avez besoin. Suivez les consignes pour demander une autorisation incrémentielle.

Les utilisateurs seront plus enclins à accorder l'accès s'ils comprennent pourquoi/comment votre appli utilise ces données:

  • Pensez à 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