Users.dataSources

Definição de uma fonte exclusiva dos dados do sensor. As fontes de dados podem expor dados brutos provenientes de sensores de hardware em dispositivos locais ou complementares. Elas também podem expor dados derivados, criados pela transformação ou mesclagem de outras fontes de dados. Várias fontes podem existir para o mesmo tipo de dados. Cada ponto de dados inserido ou lido neste serviço tem uma fonte de dados associada.

A fonte de dados contém informações suficientes para identificar exclusivamente seus dados, incluindo o dispositivo de hardware e o aplicativo que os coletou e/ou transformou. Ele também contém metadados úteis, como as versões de hardware e aplicativos e o tipo de dispositivo.

Cada fonte de dados produz um fluxo de dados exclusivo, com um identificador exclusivo. Nem todas as mudanças na fonte de dados afetam o identificador de fluxo. Assim, os dados coletados por versões atualizadas do mesmo aplicativo/dispositivo ainda podem ser considerados pertencentes ao mesmo fluxo.

Para ver uma lista de métodos desse recurso, consulte o final desta página.

Representações 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
  ]
}
Nome da propriedade Valor Descrição Observações
application nested object Informações sobre um aplicativo que alimenta os dados do sensor na plataforma.
application.detailsUrl string Um URI opcional que pode ser usado para vincular de volta ao aplicativo.
application.name string O nome deste aplicativo. Isso é obrigatório para clientes REST, mas não aplicamos a exclusividade desse nome. Ele é fornecido como uma questão de conveniência para outros desenvolvedores que querem identificar qual REST criou um aplicativo ou fonte de dados.
application.packageName string Nome do pacote deste aplicativo. Ele é usado como um identificador exclusivo quando criado por aplicativos Android, mas não pode ser especificado por clientes REST. Os clientes REST terão o número do projeto do desenvolvedor refletido nos IDs do fluxo de dados da fonte de dados, e não no packageName.
application.version string Versão do aplicativo. Atualize esse campo sempre que o aplicativo for alterado de maneira que afete a computação dos dados.
dataQualityStandard[] list NÃO preencha este campo. Ele nunca é preenchido nas respostas da plataforma e é ignorado nas consultas. Ela será completamente removida em uma versão futura.
dataStreamId string Um identificador exclusivo do fluxo de dados produzido por essa fonte de dados. O identificador inclui:

  • O fabricante, o modelo e o número de série (UID) do dispositivo físico.
  • O nome ou nome do pacote do aplicativo. O nome do pacote é usado quando a fonte de dados foi criada por um app Android. O número do projeto do desenvolvedor é usado quando a fonte de dados é criada por um cliente REST.
  • O tipo da fonte de dados.
  • O nome do fluxo da fonte de dados.
Nem todos os atributos da fonte de dados são usados como parte do identificador de stream. Mais especificamente, a versão do hardware/do aplicativo não é usada. Isso nos permite preservar o mesmo stream com atualizações de versão. Isso também significa que dois objetos DataSource podem representar o mesmo fluxo de dados, mesmo que não sejam iguais.

O formato exato do ID do fluxo de dados criado por um app Android é: type:dataType.name:application.packageName:device.manufacturer:device.model:device.uid:dataStreamName

O formato exato do ID do fluxo de dados criado por um cliente REST é: type:dataType.name:developer project number:device.manufacturer:device.model:device.uid:dataStreamName

Quando algum dos campos opcionais que compõem o ID do fluxo de dados estiver ausente, ele será omitido desse código. O ID de fluxo de dados mínimo viável seria: type:dataType.name:developer project number

Por fim, o número do projeto do desenvolvedor e o UID do dispositivo são ofuscados quando lidos por qualquer cliente REST ou Android que não tenha criado a fonte de dados. Somente o criador da fonte de dados vê o número do projeto do desenvolvedor de forma clara e normal. Isso significa que um cliente verá um conjunto de data_stream_ids diferente de outro cliente com credenciais distintas.

dataStreamName string O nome do fluxo identifica exclusivamente essa fonte de dados específica entre outras fontes de dados do mesmo tipo do mesmo produtor subjacente. A configuração do nome do stream é opcional, mas deve ser feita sempre que um aplicativo expuser dois streams para o mesmo tipo de dados ou quando um dispositivo tiver dois sensores equivalentes.
dataType nested object O tipo de dados define o esquema de um fluxo de dados que é coletado, inserido ou consultado na API Fitness.
dataType.field[] list Um campo representa uma dimensão de um tipo de dados.
dataType.field[].format string Os diferentes formatos suportados para cada campo em um tipo de dados.

Os valores aceitáveis são:
  • "blob"
  • "floatList"
  • "floatPoint"
  • "integer"
  • "integerList"
  • "map"
  • "string"
dataType.field[].name string Define o nome e o formato dos dados. Ao contrário dos nomes de tipo de dados, os nomes de campo não têm namespace e só precisam ser exclusivos dentro do tipo de dados.
dataType.field[].optional boolean
dataType.name string Cada tipo de dados tem um nome exclusivo e com namespace. Todos os tipos de dados no namespace com.google são compartilhados como parte da plataforma.
device nested object Representação de um dispositivo integrado (como um smartphone ou um wearable) que pode conter sensores.
device.manufacturer string Fabricante do produto/hardware.
device.model string Nome do modelo visível para o usuário final do dispositivo.
device.type string Uma constante que representa o tipo do dispositivo.

Os valores aceitáveis são:
  • "chestStrap"
  • "headMounted"
  • "phone"
  • "scale"
  • "smartDisplay"
  • "tablet"
  • "unknown"
  • "watch"
device.uid string O número de série ou outro ID exclusivo do hardware. Esse campo é ofuscado quando lido por qualquer cliente REST ou Android que não tenha criado a fonte de dados. Somente o criador da fonte de dados verá o campo "uid" em formato claro e normal.

A ofuscação preserva a igualdade. Ou seja, com dois IDs, se id1 == id2, expordo(id1) == oculto(id2).

device.version string String da versão do hardware/software do dispositivo.
name string Um nome visível para o usuário final para essa fonte de dados.
type string Uma constante que descreve o tipo da fonte de dados. Indica se a fonte de dados produz dados brutos ou derivados.

Os valores aceitáveis são:
  • "derived"
  • "raw"

Métodos

create
Cria uma nova fonte de dados exclusiva para todas as fontes de dados que pertencem a para este usuário.

Uma fonte de dados é uma fonte exclusiva de dados do sensor. As fontes de dados podem expor dados brutos provenientes de sensores de hardware em dispositivos locais ou complementares. Eles podem expor dados derivados, criados pela transformação ou mesclagem de outros dados de dados. Várias fontes podem existir para o mesmo tipo de dados. Todos os dados em cada conjunto de dados inserido ou lido na API Fitness tem uma origem de dados associada.

Cada fonte de dados produz um fluxo exclusivo de atualizações do conjunto de dados, com um identificador exclusivo da fonte de dados. Nem todas as alterações na fonte de dados afetam ID do fluxo de dados, de modo que os dados coletados por versões atualizadas do mesmo o aplicativo/dispositivo pertence aos mesmos dados fonte.

As fontes de dados são identificadas por uma string gerada pelo servidor com base no conteúdo da origem que está sendo criada. O dataStreamId não deve ser definido ao invocar esse método. Ela será gerado automaticamente pelo servidor com o formato correto. Se um dataStreamId estiver definido, ele precisa corresponder ao formato do servidor de dados seria gerado. Esse formato é uma combinação de alguns campos do fonte de dados e tem uma ordem específica. Se não houver correspondência, a solicitação vai falhar com um erro.

Especificar um tipo de dados que não é conhecido (começando com "com.google.") vai criar uma DataSource com um tipo de dados personalizado. Os tipos de dados personalizados só podem ser lidos pelo aplicativo que os criou. Os tipos de dados personalizados foram descontinuados. usar tipos de dados padrão como alternativa.

Além dos campos da fonte de dados incluídos no ID da fonte, o número do projeto do desenvolvedor que é autenticado ao criar os dados é incluída. O número do projeto do desenvolvedor fica ofuscado quando lido por qualquer outro desenvolvedor que lê tipos de dados públicos.
delete
Exclui a fonte de dados especificada. A solicitação falhará se os dados contém pontos de dados.
get
Retorna a fonte de dados especificada.
list
Lista todas as fontes de dados visíveis para o desenvolvedor usando o protocolo de autenticação OAuth e os escopos fornecidos. A lista não está completa. o usuário pode ter acesso fontes de dados que são visíveis apenas para outros desenvolvedores, ou chamadas usando outros escopos.
update
Atualiza a fonte de dados especificada. O dataStreamId, dataType, type, dataStreamName e device propriedades, exceto version, não pode ser modificada.

As fontes são identificadas pelo dataStreamId.