Caso seu aplicativo precise capturar informações que ainda não tenham sido cobertas por um dos tipos de dados existentes na plataforma Google Fit, é possível criar um tipo de dado 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 método
ConfigClient.createCustomDataType
:
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, você precisa criar uma fonte de dados e especificar 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 bem 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 tiver sido criada corretamente, você vai receber uma solicitação HTTP 200 OK
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
. Usar este ID
como dataSourceId
para adicionar dados.
Como usar tipos de dados personalizados
Android
Converter o nome do seu tipo de dados personalizado de uma string
(com.packagename.appname.custom_data_type) em um objeto DataType
usando o
ConfigClient.readDataType
. 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 dos dados deles
de dados. 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 o fonte de dados que você criou para seu tipo de dados personalizado. Os pontos de dados precisam ter todos os campos e formatos corretos especificados no tipo de dados personalizado.
Como ler dados personalizados
Para ler dados personalizados, especifique a fonte de dados criada para o tipo de dados personalizado ao extrair pontos de dados da plataforma Google Fit.