Si votre application doit collecter des informations qui ne sont pas déjà couvertes par l'un des types de données existants sur la plate-forme Google Fit, vous pouvez créer un type de données personnalisé.
Créer des types de données personnalisés
Créez ou spécifiez un type de données personnalisé pour collecter des données personnalisées. Lorsque vous créez des types de données personnalisés, assurez-vous de respecter les points suivants :
- Le nom du type de données représente précisément les données sous-jacentes.
Le préfixe du nom du type de données correspond au nom du package de votre application.
Android
Si vous créez un type de données personnalisé pour la première fois, utilisez la méthode
ConfigClient.createCustomDataType
méthode:
val request = DataTypeCreateRequest.Builder()
// The prefix of your data type name must match your app's package name
.setName("com.packagename.appname.custom_data_type") // Add some custom fields, both int and float
.addField("field1", Field.FORMAT_INT32)
.addField("field2", Field.FORMAT_FLOAT)
// Add some common fields
.addField(Field.FIELD_ACTIVITY)
.build()
Fitness.getConfigClient(this, account)
.createCustomDataType(request)
.addOnSuccessListener { dataType ->
// Use this custom data type to insert data into your app.
Log.d(TAG, "Created data type: ${dataType.name}")
}
REST
Dans l'API REST, les types de données sont une propriété des sources de données. Pour capturer des données personnalisées, vous devez créer une source de données, puis spécifier le type de données:
- Appelez l'API REST pour créer une source de données. Exemple :
FlexibilityMeasure
Attribuez au type de données un nom unique qui représente fidèlement les données qu'il collecte.
Spécifiez les champs du type de données et leurs formats.
Méthode HTTP
POST
URL de la requête
https://www.googleapis.com/fitness/v1/users/me/dataSources
Corps de la requête
{
"dataStreamName": "FlexibilityMeasure",
"type": "raw",
"application": {
"detailsUrl": "http://recoveryapps.com",
"name": "Stretch Flex",
"version": "1"
},
"dataType": {
"name": "com.recoveryapps.stretchflex.flexibility",
"field": [
{
"name": "ankle_range_degrees",
"format": "integer"
},
{
"name": "wrist_range_degrees",
"format": "integer",
"optional": true
}
]
}
}
Réponse
Si votre source de données a bien été créée, vous recevrez un code d'état de réponse HTTP 200 OK
. Le corps de la réponse contient une représentation JSON de la source de données, y compris une propriété datasource.dataStreamId
. Utiliser cet ID
comme dataSourceId
pour ajouter des données.
Utiliser des types de données personnalisés
Android
Convertir le nom de votre type de données personnalisé à partir d'une chaîne
(com.packagename.appname.custom_data_type) dans un objet DataType
à l'aide de la méthode
ConfigClient.readDataType
. Utiliser l'objet renvoyé pour insert
et lire des données personnalisées.
Fitness.getConfigClient(this, account)
.readDataType("com.packagename.appname.custom_data_type")
.addOnSuccessListener { dataType ->
// Use this custom data type to insert data into your app.
Log.d(TAG, "Retrieved data type: ${dataType.name}")
}
REST
Pour ajouter ou lire des données personnalisées à l'aide de vos types de données personnalisés, vous avez besoin de leurs données
sources. Pour vérifier les sources de données d'un type de données personnalisé, envoyez une requête GET
à l'API REST.
Ajouter des données personnalisées
Pour insérer des données personnalisées, créez un ensemble de données avec de nouveaux points de données. Spécifiez le paramètre source de données que vous avez créée pour votre type de données personnalisé. Les points de données doivent contiennent tous les champs et formats corrects spécifiés dans votre type de données personnalisé.
Lire des données personnalisées
Pour lire des données personnalisées, spécifiez la source de données que vous avez créée pour votre type de données personnalisées lorsque vous récupérez des points de données à partir de la plate-forme Google Fit.