Se la tua app deve acquisire informazioni che non sono già coperte da uno dei tipi di dati esistenti sulla piattaforma Google Fit, puoi creare un tipo di dati personalizzato.
Creare tipi di dati personalizzati
Crea o specifica un tipo di dati personalizzati per acquisire dati personalizzati. Quando crei tipi di dati personalizzati, assicurati che:
- Il nome del tipo di dati rappresenta con precisione i dati sottostanti.
Il prefisso del nome del tipo di dati corrisponde al nome del pacchetto dell'app.
Android
Per creare un tipo di dati personalizzato per la prima volta, utilizza il metodo 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
I tipi di dati sono una proprietà delle origini dati nell'API REST. Per acquisire dati personalizzati, devi creare un'origine dati e specificare il tipo di dati:
- Chiama l'API REST per creare una nuova origine dati. Ad esempio,
FlexibilityMeasure
. Assegna un nome univoco al tipo di dati, che rappresenta il più possibile i dati che sta acquisendo.
Specifica i campi del tipo di dati e i relativi formati.
Metodo HTTP
POST
URL di richiesta
https://www.googleapis.com/fitness/v1/users/me/dataSources
Corpo della richiesta
{
"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
}
]
}
}
Risposta
Se l'origine dati è stata creata correttamente, riceverai un codice di stato HTTP di risposta 200 OK
. Il corpo della risposta contiene una rappresentazione JSON dell'origine dati, inclusa una proprietà datasource.dataStreamId
. Utilizza questo ID
come dataSourceId
per aggiungere dati.
Utilizzare tipi di dati personalizzati
Android
Converti il nome del tipo di dati personalizzati da una stringa
(com.packagename.appname.custom_data_type) in un oggetto DataType
utilizzando il metodo
ConfigClient.readDataType
. Utilizza l'oggetto restituito per inserire
e leggere dati personalizzati.
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
Per aggiungere o leggere dati personalizzati utilizzando i tipi di dati personalizzati, devi avere le rispettive origini dati. Per controllare le origini dati di un tipo di dati personalizzato, invia una richiesta GET
all'API REST.
Aggiungere dati personalizzati
Per inserire dati personalizzati, crea un set di dati con nuovi punti dati. Specifica l'origine dati creata per il tipo di dati personalizzato. I punti dati devono avere tutti i campi e i formati corretti specificati nel tipo di dati personalizzato.
Lettura dei dati personalizzati
Per leggere i dati personalizzati, specifica l'origine dati che hai creato per il tipo di dati personalizzati quando recuperi i punti dati dalla piattaforma Google Fit.