Tipi di dati personalizzati

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:

  1. Chiama l'API REST per creare una nuova origine dati. Ad esempio, FlexibilityMeasure.
  2. Assegna un nome univoco al tipo di dati, che rappresenta il più possibile 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 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.