Tipos de datos personalizados

Si su aplicación necesita capturar información que aún no está cubierta por uno de los tipos de datos existentes en la plataforma de Google Fit, puedes crear un tipo personalizado de datos.

Crea tipos de datos personalizados

Crea o especifica un tipo de datos personalizado para capturar datos personalizados. Cuando creas una campaña tipos de datos personalizados, asegúrate de lo siguiente:

  • El nombre del tipo de datos representa con precisión los datos subyacentes.
  • El prefijo del nombre del tipo de datos coincide con el nombre del paquete de la app.

Android

Para crear un tipo de datos personalizado por primera vez, usa la ConfigClient.createCustomDataType método:

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

Los tipos de datos son una propiedad de las fuentes de datos en la API de REST. Para capturar datos personalizados, debes crear una fuente de datos y, luego, especificar el tipo de datos:

  1. Llama a la API de REST para crear una nueva fuente de datos. Por ejemplo, FlexibilityMeasure
  2. Asigna un nombre único al tipo de datos que represente estrechamente los datos que captura.

  3. Especifica los campos del tipo de datos y sus formatos.

Método HTTP

POST

Request URL (URL de solicitud)

https://www.googleapis.com/fitness/v1/users/me/dataSources

Cuerpo de la solicitud

{
  "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
     }
    ]
   }
}

Respuesta

Si tu fuente de datos se creó correctamente, obtendrás un código HTTP 200 OK. el código de estado de respuesta. El cuerpo de la respuesta contiene una representación JSON de la fuente de datos, incluida una propiedad datasource.dataStreamId Usar este ID como dataSourceId para agregar datos.

Usa tipos de datos personalizados

Android

Convierte el nombre de tu tipo de datos personalizado a partir de una cadena (com.packagename.appname.custom_data_type) en un objeto DataType con el ConfigClient.readDataType. Usa el objeto que se muestra para insertar y leer datos personalizados.

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

Para agregar o leer datos personalizados con tus tipos personalizados, necesitas sus datos fuentes de datos. Para verificar las fuentes de datos de un tipo personalizado, envía un GET a la API de REST.

Agrega datos personalizados

Para insertar datos personalizados, crea un conjunto de datos con datos nuevos. Especifica el la fuente de datos que creaste para tu tipo de datos personalizado. Los puntos de datos deben tener todos los campos y formatos correctos especificados en tu tipo de datos personalizado.

Lee datos personalizados

Para leer datos personalizados, especifica la fuente que creaste para tu cuando recuperas datos de la plataforma de Google Fit.