Tipi di dati personalizzati

Se la tua app deve acquisire informazioni non ancora coperte da una delle 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 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 personalizzati, devi creare un'origine dati e specificare il tipo di dati:

  1. Chiama l'API REST per creare una nuova origine dati. Ad esempio, FlexibilityMeasure.
  2. Assegna al tipo di dati un nome univoco che rappresenti da vicino i dati che sta acquisendo.

  3. 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.nomepacchetto.nomeapp.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 i dati personalizzati utilizzando i tuoi tipi di dati personalizzati, devi disporre dei relativi dati fonti. 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 che hai creato per il tuo tipo di dati quando recuperi i punti dati dalla piattaforma Google Fit.