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 personalizzato 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 al tipo di dati un nome univoco, che rappresenti fedelmente i dati che vengono acquisiti.

  3. Specifica i campi del tipo di dati e i relativi formati.

Metodo HTTP

POST

Richiedi URL

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 di risposta HTTP 200 OK. Il corpo della risposta contiene una rappresentazione JSON dell'origine dati, che include 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 tipi di dati personalizzati, sono necessarie le relative origini dati. Per verificare 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 che hai creato per il tipo di dati personalizzati. Per i punti dati devono essere specificati tutti i campi e i formati corretti nel tipo di dati personalizzati.

Lettura di 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.