Se o app precisar capturar informações que ainda não estão cobertas por um dos tipos de dados atuais na plataforma Google Fit, crie um tipo de dados personalizado.
Criar tipos de dados personalizados
Crie ou especifique um tipo de dados personalizado para capturar dados personalizados. Ao criar tipos de dados personalizados, verifique se:
- O nome do tipo de dados representa com precisão os dados subjacentes.
O prefixo do nome do tipo de dados corresponde ao nome do pacote do app.
Android
Para criar um tipo de dados personalizado pela primeira vez, use o
ConfigClient.createCustomDataType
método:
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
Os tipos de dados são uma propriedade das fontes de dados na API REST. Para capturar dados personalizados, crie uma fonte de dados e especifique o tipo de dados:
- Chame a API REST para criar uma nova fonte de dados. Por exemplo,
FlexibilityMeasure. Dê ao tipo de dados um nome exclusivo que represente os dados que ele está capturando.
Especifique os campos do tipo de dados e os formatos deles.
Método HTTP
POST
Request URL
https://www.googleapis.com/fitness/v1/users/me/dataSources
Corpo da solicitação
{
"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
}
]
}
}
Resposta
Se a fonte de dados foi criada, você vai receber um 200 OK HTTP
código de status da resposta. O corpo da resposta contém uma representação JSON da fonte de dados, incluindo uma propriedade datasource.dataStreamId. Use esse ID como dataSourceId para adicionar dados.
Usar tipos de dados personalizados
Android
Converta o nome do tipo de dados personalizado de uma string
(com.packagename.appname.custom_data_type) em um objeto DataType usando o
ConfigClient.readDataType método. Use o objeto retornado para inserir
e ler dados personalizados.
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
Para adicionar ou ler dados personalizados usando seus tipos de dados personalizados, você precisa das fontes de dados deles. Para verificar as fontes de dados de um tipo de dados personalizado, envie uma solicitação GET
para a API REST.
Adicionar dados personalizados
Para inserir dados personalizados, crie um conjunto de dados com novos pontos de dados. Especifique a fonte de dados criada para o tipo de dados personalizado. Os pontos de dados precisam ter todos os campos e formatos corretos especificados no tipo de dados personalizado.
Ler dados personalizados
Para ler dados personalizados, especifique a fonte de dados criada para o tipo de dados personalizado ao recuperar pontos de dados da plataforma Google Fit.