Users.dataSources

Definição de uma fonte única de dados do sensor. As fontes de dados podem expor dados brutos provenientes de sensores de hardware em dispositivos locais ou complementares. Eles também podem expor dados derivados, criados ao transformar ou mesclar outras fontes de dados. Várias fontes de dados 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 os dados, incluindo o dispositivo de hardware e o aplicativo que coletou e/ou transformou os dados. Ele também contém metadados úteis, como as versões de hardware e aplicativo e o tipo de dispositivo.

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

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 dados do sensor na plataforma.
application.detailsUrl string Um URI opcional que pode ser usado para vincular ao aplicativo.
application.name string O nome deste aplicativo. Isso é necessário para clientes REST, mas não aplicamos exclusividade desse nome. Esse recurso é de conveniência para outros desenvolvedores que querem identificar qual REST criou um aplicativo ou uma fonte de dados.
application.packageName string Nome do pacote para este 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, em vez do packageName.
application.version string Versão do aplicativo. Atualize esse campo sempre que o aplicativo mudar de modo que afete o cálculo dos dados.
dataQualityStandard[] list NÃO preencha este campo. Ele nunca é preenchido nas respostas da plataforma e é ignorado em consultas. Ele será completamente removido em uma versão futura.
dataStreamId string Um identificador exclusivo do fluxo de dados produzido por esta fonte de dados. O identificador inclui o seguinte:

  • Fabricante, modelo e 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 é criada por um app Android. Esse número é usado quando a fonte de dados foi 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 do stream. Em particular, a versão do hardware/aplicativo não é usada. Isso preserva o mesmo stream ao atualizar a 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 aplicativo 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 estão ausentes, eles são omitidos do ID do fluxo. O ID do 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 criou a fonte de dados. Somente o criador da fonte de dados verá o número do projeto do desenvolvedor de forma clara e normal. Isso significa que o cliente verá um conjunto de data_stream_ids diferente de outro cliente com credenciais diferentes.

dataStreamName string O nome do stream identifica essa fonte de dados específica entre outras fontes do mesmo tipo do mesmo produtor. A definição do nome do fluxo é opcional, mas isso deve ser feito sempre que um aplicativo expor dois fluxos para o mesmo tipo de dados ou quando um dispositivo tiver dois sensores equivalentes.
dataType nested object O tipo de dado define o esquema de um stream 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 compatíveis com 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 tipos de dados, os nomes de campos não têm namespaces 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 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 smartphone ou 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 para o 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 para o hardware. Esse campo é ofuscado quando lido por qualquer cliente REST ou Android que não criou 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, considerando dois IDs, se id1 == id2, obfuscated(id1) == obfuscated(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 esta origem de dados.
type string Uma constante que descreve o tipo dessa fonte de dados. Indica se essa 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 entre todas as fontes de dados do usuário.

Uma fonte de dados é uma fonte única de dados do sensor. As fontes de dados podem expor dados brutos provenientes de sensores de hardware em dispositivos locais ou complementares. Eles também podem expor dados derivados, criados ao transformar ou mesclar outras fontes de dados. Várias fontes de dados podem existir para o mesmo tipo de dados. Cada ponto de dados em cada conjunto de dados inserido ou lido da API Fitness tem uma fonte de dados associada.

Cada fonte de dados produz um stream exclusivo de atualizações de conjuntos de dados, com um identificador exclusivo. Nem todas as mudanças na fonte de dados afetam o ID do fluxo. Assim, os dados coletados por versões atualizadas do mesmo aplicativo/dispositivo ainda poderão ser considerados pertencentes à mesma fonte de dados.

As origens de dados são identificadas usando uma string gerada pelo servidor com base no conteúdo da origem que está sendo criada. O campo dataStreamId não pode ser definido ao invocar esse método. Ele será gerado automaticamente pelo servidor com o formato correto. Se um dataStreamId for definido, ele precisará corresponder ao formato gerado pelo servidor. Esse formato é uma combinação de alguns campos da fonte de dados e tem uma ordem específica. Se não corresponder, a solicitação falhará com um erro.

Especificar um DataType que não é um tipo conhecido (começando com "com.google.") criará um 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. Em vez disso, use tipos de dados padrão.

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

As fontes de dados são identificadas pela dataStreamId.