Se la tua app deve acquisire informazioni non già coperte da uno dei tipi di dati esistenti sulla piattaforma Google Fit, puoi creare un tipo di dati personalizzato.
Creazione di tipi di dati personalizzati
Crea o specifica un tipo di dati personalizzato per acquisire dati personalizzati. Quando crei tipi di dati personalizzati, accertati che:
- Il nome del tipo di dati rappresenta accuratamente 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 al tipo di dati un nome univoco che rappresenti con precisione i dati acquisiti.
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 messaggio HTTP 200 OK
codice di stato della risposta. Il corpo della risposta contiene una rappresentazione JSON
l'origine dati, inclusa una proprietà datasource.dataStreamId
. Utilizza questo ID
come dataSourceId
per aggiungere dati.
Utilizzo di tipi di dati personalizzati
Android
Converti il nome del tipo di dati personalizzato 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 i 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 tuoi tipi di dati personalizzati, devi disporre delle relative origini
dati. Per controllare le origini dati di un tipo di dati personalizzato, invia un GET
all'API REST.
Aggiunta di dati personalizzati
Per inserire dati personalizzati, crea un set di dati con nuovi punti dati. Specifica che hai creato per il tuo 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 creata per il tipo di dati personalizzato quando recuperi i punti dati dalla piattaforma Google Fit.