Users.dataSources

La definición de una fuente única de datos de sensores. Las fuentes de datos pueden exponer datos sin procesar provenientes de sensores de hardware en dispositivos locales o complementarios. También pueden exponer datos derivados, que se crean mediante la transformación o combinación de otras fuentes de datos. Pueden existir varias fuentes de datos para el mismo tipo de datos. Cada dato que se inserta en este servicio o que se lee desde este tiene una fuente de datos asociada. 

La fuente de datos contiene información suficiente para identificar sus datos de forma única, incluido el dispositivo de hardware y la aplicación que los recopiló o transformó. También contiene metadatos útiles, como el hardware y las versiones de la aplicación, y el tipo de dispositivo. 

Cada fuente de datos produce un flujo único de datos con un identificador único. No todos los cambios en la fuente de datos afectan el identificador de flujo, por lo que los datos recopilados por las versiones actualizadas de la misma aplicación o dispositivo pueden considerarse que pertenecen al mismo flujo de datos.

Si quieres ver una lista de los métodos para este recurso, consulta la sección final de esta página.

Representaciones de recursos

{
  "dataStreamId": string,
  "name": string,
  "dataStreamName": string,
  "type": string,
  "dataType": {
    "name": string,
    "field": [
      {
        "name": string,
        "format": string,
        "optional": boolean
      }
    ]
  },
  "device": {
    "uid": string,
    "type": string,
    "version": string,
    "model": string,
    "manufacturer": string
  },
  "application": {
    "packageName": string,
    "version": string,
    "detailsUrl": string,
    "name": string
  },
  "dataQualityStandard": [
    string
  ]
}
Nombre de la propiedad Valor Descripción Notas
application nested object Información sobre una aplicación que envía datos de sensores a la plataforma.
application.detailsUrl string Un URI opcional que se puede usar para establecer un vínculo de regreso a la aplicación.
application.name string Es el nombre de esta aplicación. Esto es obligatorio para los clientes REST, pero no aplicamos la exclusividad de este nombre. Se proporciona por conveniencia a otros desarrolladores que desean identificar qué REST creó una aplicación o una fuente de datos.
application.packageName string Es el nombre del paquete de esta aplicación. Este se usa como identificador único cuando lo crean las aplicaciones para Android, pero los clientes REST no pueden especificarlo. El número de proyecto de los clientes REST se reflejará en los IDs de flujo de datos de la fuente de datos, en lugar del packageName.
application.version string Versión de la aplicación. Debes actualizar este campo cada vez que la aplicación cambie de una manera que afecte el cálculo de los datos.
dataQualityStandard[] list NO PROPAGAR ESTE CAMPO. Nunca se propaga en las respuestas de la plataforma y se ignora en las consultas. Se quitará por completo en una versión futura.
dataStreamId string Un identificador único para el flujo de datos que produce esta fuente de datos. El identificador incluye lo siguiente:

  • Indica el fabricante, el modelo y el número de serie (UID) del dispositivo físico.
  • El nombre del paquete o el nombre del paquete de la aplicación. El nombre del paquete se usa cuando una aplicación para Android creó la fuente de datos. El número de proyecto del desarrollador se usa cuando un cliente REST crea la fuente de datos.
  • Es el tipo de fuente de datos.
  • El nombre de flujo de la fuente de datos.
Ten en cuenta que no todos los atributos de la fuente de datos se usan como parte del identificador de transmisión. En particular, no se usa la versión del hardware o de la aplicación. Esto nos permite conservar la misma transmisión a través de actualizaciones de versión. Esto también significa que dos objetos DataSource pueden representar el mismo flujo de datos incluso si no son iguales.

El formato exacto del ID de flujo de datos creado por una aplicación para Android es el siguiente: type:dataType.name:application.packageName:device.manufacturer:device.model:device.uid:dataStreamName

El formato exacto del ID de flujo de datos creado por un cliente de REST es: type:dataType.name:developer project number:device.manufacturer:device.model:device.uid:dataStreamName

Si falta alguno de los campos opcionales que componen el ID de flujo de datos, se omitirán del ID de flujo de datos. El ID mínimo de flujo de datos viable sería el siguiente: type:dataType.name:número de proyecto del desarrollador

Por último, el número del proyecto del desarrollador y el UID de dispositivo se ofuscan cuando los lee cualquier cliente REST o Android que no creó la fuente de datos. Solo el creador de la fuente de datos verá el número de proyecto del desarrollador de forma clara y normal. Esto significa que un cliente verá un conjunto de data_stream_ids diferente al de otro cliente con credenciales distintas.

dataStreamName string El nombre del flujo identifica de forma única esta fuente de datos en particular entre otras fuentes de datos del mismo tipo provenientes del mismo productor subyacente. Configurar el nombre de transmisión es opcional, pero se debe realizar cuando una aplicación expone dos transmisiones para el mismo tipo de datos o cuando un dispositivo tiene dos sensores equivalentes.
dataType nested object El tipo de datos define el esquema para un flujo de datos que recopila, inserta o consulta desde la Fitness API.
dataType.field[] list Un campo representa una dimensión de un tipo de datos.
dataType.field[].format string Los diferentes formatos admitidos para cada campo en un tipo de datos.

Los valores aceptables son los siguientes:
  • "blob"
  • "floatList"
  • "floatPoint"
  • "integer"
  • "integerList"
  • "map"
  • "string"
dataType.field[].name string Define el nombre y el formato de los datos. A diferencia de los nombres de tipos de datos, los nombres de los campos no tienen espacios de nombres y solo deben ser únicos dentro del tipo de datos.
dataType.field[].optional boolean
dataType.name string Cada tipo de datos tiene un nombre único con espacio de nombres. Todos los tipos de datos del espacio de nombres com.google se comparten como parte de la plataforma.
device nested object Representación de un dispositivo integrado (como un teléfono o un wearable) que puede contener sensores.
device.manufacturer string Fabricante del producto o hardware
device.model string Es el nombre del modelo visible para el usuario final del dispositivo.
device.type string Es una constante que representa el tipo de dispositivo.

Los valores aceptables son los siguientes:
  • "chestStrap"
  • "headMounted"
  • "phone"
  • "scale"
  • "smartDisplay"
  • "tablet"
  • "unknown"
  • "watch"
device.uid string Es el número de serie o algún otro ID único del hardware. Este campo se ofusca cuando lo lee un cliente de REST o Android que no creó la fuente de datos. Solo el creador de la fuente de datos verá el campo de UID de forma clara y normal.

La ofuscación preserva la igualdad; es decir, a partir de dos IDs, si id1 == id2, ofuscado(id1) == ofuscado(id2).

device.version string Es la cadena de versión del hardware o software del dispositivo.
name string Es un nombre visible para el usuario final de esta fuente de datos.
type string Es una constante que describe el tipo de esta fuente de datos. Indica si esta fuente de datos produce datos sin procesar o derivados.

Los valores aceptables son los siguientes:
  • "derived"
  • "raw"

Métodos

crear
Crea una fuente de datos nueva que sea única en todas las fuentes de datos que pertenecen a este usuario.

Una fuente de datos es una fuente única de datos de sensores. Las fuentes de datos pueden exponer datos sin procesar provenientes de sensores de hardware en dispositivos locales o complementarios. También pueden exponer datos derivados, que se crean mediante la transformación o combinación de otras fuentes de datos. Pueden existir varias fuentes de datos para el mismo tipo de datos. Cada dato que se inserta en la API de Fitness o que se lee desde esta tiene una fuente de datos asociada.

Cada fuente de datos produce una transmisión única de actualizaciones de conjuntos de datos, con un identificador de fuente de datos único. No todos los cambios en la fuente de datos afectan el ID de flujo de datos, por lo que los datos recopilados por las versiones actualizadas de la misma aplicación o dispositivo pueden considerarse que pertenecen a la misma fuente de datos.

Las fuentes de datos se identifican con una string que genera el servidor, en función del contenido de la fuente que se crea. No se debe configurar el campo dataStreamId cuando se invoca este método. El servidor lo generará automáticamente con el formato correcto. Si se configura un dataStreamId, debe coincidir con el formato que generará el servidor. Este formato es una combinación de algunos campos de la fuente de datos y tiene un orden específico. Si no coincide, la solicitud fallará y mostrará un error.

Si especificas un DataType que no es un tipo conocido (que comienza con “com.google.”), se creará una DataSource con un tipo de datos personalizado. Solo la aplicación que creó los tipos de datos personalizados puede leerlos. Los tipos de datos personalizados están obsoletos; en su lugar, usa los tipos de datos estándar.

Además de los campos de fuente de datos incluidos en el ID de la fuente de datos, se incluye el número de proyecto del desarrollador que se autentica cuando se crea la fuente de datos. Este número de proyecto del desarrollador se ofusca cuando lo lee cualquier otro desarrollador que lee tipos de datos públicos.
borrar
Borra la fuente de datos especificada. La solicitud fallará si la fuente de datos contiene datos.
get
Muestra la fuente de datos especificada.
list
Enumera todas las fuentes de datos que son visibles para el desarrollador, con los permisos de OAuth proporcionados. La lista no es exhaustiva; el usuario puede tener fuentes de datos privadas que solo son visibles para otros desarrolladores, o llamadas que usan otros permisos.
actualizar
Actualiza la fuente de datos especificada. Las propiedades dataStreamId, dataType, type, dataStreamName y device, excepto version, no se pueden modificar.

Las fuentes de datos se identifican por su dataStreamId.