Users.dataSources

Definição de uma fonte exclusiva de dados do sensor. As fontes 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 podem existir para o mesmo tipo de dados. Cada ponto de dados inserido ou lido nesse serviço tem uma fonte de dados associada. 

A fonte contém informações suficientes para identificar as informações de maneira exclusiva, 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 de aplicativo e o tipo de dispositivo. 

Cada origem de dados produz um fluxo exclusivo, com um identificador exclusivo. Nem todas as alterações na fonte de dados afetam o identificador de stream. Assim, os dados coletados pelas 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 a plataforma com dados do sensor.
application.detailsUrl string Um URI opcional que pode ser usado para vincular-se de volta ao aplicativo.
application.name string O nome deste aplicativo. Isso é necessário para clientes REST, mas não aplicamos exclusividade desse nome. Ele é fornecido como uma questão de conveniência para outros desenvolvedores que gostariam de 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 de desenvolvedor refletido nos IDs de 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 forma que afete o cálculo dos dados.
dataQualityStandard[] list NÃO COLOQUE ESTE CAMPO. Ele nunca é preenchido nas respostas da plataforma e é ignorado nas consultas. Ele será removido 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, modelo e número de série (UID) do dispositivo físico
  • O 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 foi criada por um cliente REST.
  • O tipo de fonte de dados.
  • Nome do fluxo da fonte de dados.
Nem todos os atributos da fonte de dados são usados como parte do identificador de stream. Especificamente, a versão do hardware ou do aplicativo não é usada. Isso nos permite preservar o mesmo fluxo por meio de 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 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 um dos campos opcionais que compõem o ID do fluxo de dados está ausente, ele é omitido do ID do fluxo de dados. O ID viável mínimo do fluxo de dados 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 verá o número do projeto do desenvolvedor em formato claro e normal. Isso significa que um cliente vai notar um conjunto diferente de data_stream_ids de outro cliente com credenciais distintas.

dataStreamName string O nome do fluxo identifica exclusivamente essa fonte de dados específica entre outras do mesmo tipo e do mesmo produtor subjacente. A definição do nome do stream é opcional, mas é preciso fazer isso sempre que um aplicativo expõe dois streams para o mesmo tipo de dados ou quando um dispositivo tem dois sensores equivalentes.
dataType nested object O tipo de dados define o esquema de um fluxo de dados que estão sendo coletados, inseridos ou consultados com a 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 dos campos 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 dado 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, considerando dois IDs, se id1 == id2, ofuscad(id1) == Avalied(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 esta 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 que é exclusiva em todas as fontes pertencentes ao 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. Elas também podem expor dados derivados, criados ao transformar ou mesclar outras fontes de dados. Várias fontes podem existir para o mesmo tipo de dados. Cada ponto de dados em cada conjunto de dados inserido ou lido na API Fitness tem uma fonte de dados associada.

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

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 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 que o servidor geraria. Esse formato é uma combinação de alguns campos da fonte de dados e tem uma ordem específica. Se não for o caso, a solicitação falhará com um erro.

A especificação de um DataType que não é de um tipo conhecido (começando com "com.google.") cria 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 estão descontinuados. Use os tipos de dados padrão.

Além dos campos incluídos no ID da fonte, é incluído o número do projeto do desenvolvedor autenticado ao criar a fonte. Esse número é ofuscado quando lido por qualquer outro desenvolvedor que leia tipos de dados públicos.
excluir
Exclui a fonte de dados especificada. A solicitação falhará se a fonte tiver 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 OAuth fornecidos. A lista não está completa. O usuário pode ter fontes de dados particulares visíveis apenas para outros desenvolvedores ou chamadas usando outros escopos.
update
Atualiza a fonte de dados especificada. As propriedades dataStreamId, dataType, type, dataStreamName e device, com exceção de version, não podem ser modificadas.

As fontes de dados são identificadas pelo dataStreamId.