Users.dataSources

Definizione di una fonte unica di dati dei sensori. Le origini dati possono esporre i dati non elaborati provenienti da sensori hardware su dispositivi locali o companion. Possono anche esporre dati derivati, creati trasformando o unendo altre origini dati. Possono esistere più origini dati per lo stesso tipo di dati. A ogni punto dati inserito o letto da questo servizio è associata un'origine dati. 

L'origine dati contiene informazioni sufficienti a identificarne in modo univoco i dati, inclusi il dispositivo hardware e l'applicazione che ha raccolto e/o trasformato i dati. Contiene anche metadati utili, come le versioni hardware e dell'applicazione e il tipo di dispositivo. 

Ogni origine dati produce un flusso univoco di dati, con un identificatore univoco. Non tutte le modifiche all'origine dati influiscono sull'identificatore stream, quindi i dati raccolti dalle versioni aggiornate della stessa applicazione/dispositivo possono comunque essere considerati appartenenti allo stesso stream di dati.

Per un elenco dei metodi per questa risorsa, consulta la fine di questa pagina.

Rappresentazioni delle risorse

{
  "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 proprietà Valore Descrizione Note
application nested object Informazioni su un'applicazione che invia dati dei sensori alla piattaforma.
application.detailsUrl string Un URI facoltativo che può essere utilizzato per il collegamento all'applicazione.
application.name string Il nome di questa applicazione. Questa operazione è obbligatoria per i client REST, ma non applichiamo l'univocità di questo nome. Viene fornito per comodità ad altri sviluppatori che desiderano identificare quale REST ha creato un'applicazione o un'origine dati.
application.packageName string Nome del pacchetto per questa applicazione. Viene utilizzato come identificatore univoco quando viene creato dalle app per Android, ma non può essere specificato dai client REST. Il numero di progetto sviluppatore dei client REST sarà riportato negli ID stream di dati dell'origine dati, anziché in packageName.
application.version string La versione dell'applicazione. Devi aggiornare questo campo ogni volta che l'applicazione cambia in modo tale da influire sul calcolo dei dati.
dataQualityStandard[] list NON POPOLARE QUESTO CAMPO. Non viene mai inserito nelle risposte della piattaforma e viene ignorato nelle query. Verrà rimossa completamente in una versione futura.
dataStreamId string Un identificatore univoco per lo stream di dati prodotto da questa origine dati. L'identificatore include:

  • Il produttore, il modello e il numero di serie (UID) del dispositivo fisico.
  • Il nome o il nome del pacchetto dell'applicazione. Il nome del pacchetto viene utilizzato quando l'origine dati è stata creata da un'applicazione Android. Il numero di progetto dello sviluppatore viene utilizzato quando l'origine dati è stata creata da un client REST.
  • Il tipo di origine dati.
  • Il nome dello stream dell'origine dati.
Tieni presente che non tutti gli attributi dell'origine dati vengono utilizzati come parte dell'identificatore del flusso. In particolare, non viene utilizzata la versione dell'hardware o dell'applicazione. Questo ci consente di preservare lo stesso stream tramite gli aggiornamenti della versione. Questo significa anche che due oggetti DataSource possono rappresentare lo stesso stream di dati anche se sono diversi.

Il formato esatto dell'ID stream di dati creato da un'applicazione Android è: type:dataType.name:application.packageName:device.manufacturer:device.model:device.uid:dataStreamName

Il formato esatto dell'ID stream di dati creato da un client REST è: type:dataType.name:developer project number:device.manufacturer:device.model:device.uid:dataStreamName

Se non è presente uno qualsiasi dei campi facoltativi che costituiscono l'ID stream di dati, quest'ultimo viene omesso dall'ID stream di dati. L'ID dello stream di dati minimo utilizzabile sarebbe: type:dataType.name:developer project number

Infine, il numero del progetto sviluppatore e l'UID del dispositivo sono offuscati quando vengono letti da qualsiasi client REST o Android che non ha creato l'origine dati. Solo l'utente che ha creato l'origine dati vedrà il numero del progetto sviluppatore in modo chiaro e normale. Ciò significa che un client vedrà un insieme di data_stream_id diverso rispetto a un altro client con credenziali diverse.

dataStreamName string Il nome del flusso identifica in modo univoco questa particolare origine dati tra altre origini dati dello stesso tipo provenienti dallo stesso produttore sottostante. L'impostazione del nome dello stream è facoltativa, ma va eseguita ogni volta che un'applicazione espone due stream per lo stesso tipo di dati o quando un dispositivo ha due sensori equivalenti.
dataType nested object Il tipo di dati definisce lo schema per un flusso di dati che vengono raccolti, inseriti o sottoposti a query dall'API Fitness.
dataType.field[] list Un campo rappresenta una dimensione di un tipo di dati.
dataType.field[].format string I diversi formati supportati per ogni campo di un tipo di dati.

I valori accettati sono:
  • "blob"
  • "floatList"
  • "floatPoint"
  • "integer"
  • "integerList"
  • "map"
  • "string"
dataType.field[].name string Definisce il nome e il formato dei dati. A differenza dei nomi dei tipi di dati, i nomi dei campi non hanno uno spazio dei nomi e devono essere univoci solo all'interno del tipo di dati.
dataType.field[].optional boolean
dataType.name string Ogni tipo di dati ha un nome univoco con spazio dei nomi. Tutti i tipi di dati nello spazio dei nomi com.google vengono condivisi come parte della piattaforma.
device nested object Rappresentazione di un dispositivo integrato (come uno smartphone o un dispositivo indossabile) che può contenere sensori.
device.manufacturer string Produttore del prodotto/hardware.
device.model string Nome del modello visibile all'utente finale per il dispositivo.
device.type string Una costante che rappresenta il tipo di dispositivo.

I valori accettati sono:
  • "chestStrap"
  • "headMounted"
  • "phone"
  • "scale"
  • "smartDisplay"
  • "tablet"
  • "unknown"
  • "watch"
device.uid string Il numero di serie o un altro ID univoco dell'hardware. Questo campo è offuscato quando viene letto da qualsiasi client REST o Android che non ha creato l'origine dati. Solo l'utente che ha creato l'origine dati vedrà il campo UID in forma chiara e normale.

L'offuscamento preserva l'uguaglianza, ovvero dati due ID, se id1 == id2, offuscato(id1) == offuscato(id2).

device.version string Stringa di versione dell'hardware/software del dispositivo.
name string Un nome visibile all'utente finale per questa origine dati.
type string Una costante che descrive il tipo di questa origine dati. Indica se l'origine dati produce dati non elaborati o derivati.

I valori accettati sono:
  • "derived"
  • "raw"

Metodi

creazione
Crea una nuova origine dati univoca per tutte le origini dati appartenenti a questo utente.

Un'origine dati è una fonte unica di dati dei sensori. Le origini dati possono esporre i dati non elaborati provenienti da sensori hardware su dispositivi locali o associati. Possono anche esporre dati derivati, creati trasformando o unendo altre origini dati. Possono esistere più origini dati per lo stesso tipo di dati. A ogni punto dati in ogni set di dati inserito o letto dall'API Fitness è associata un'origine dati.

Ogni origine dati produce un flusso univoco di aggiornamenti del set di dati, con un identificatore univoco dell'origine dati. Non tutte le modifiche apportate all'origine dati influiscono sull'ID stream di dati, quindi i dati raccolti dalle versioni aggiornate della stessa applicazione/dispositivo possono comunque essere considerati appartenenti alla stessa origine dati.

Le origini dati vengono identificate mediante una stringa generata dal server, in base ai contenuti dell'origine creata. Il campo dataStreamId non deve essere impostato quando si richiama questo metodo. Verrà generato automaticamente dal server con il formato corretto. Se viene impostato un valore dataStreamId, questo deve corrispondere al formato generato dal server. Questo formato è una combinazione di alcuni campi dell'origine dati e ha un ordine specifico. Se non corrisponde, la richiesta non andrà a buon fine e verrà visualizzato un errore.

Se specifichi un DataType non noto (a partire da "com.google."), verrà creato un DataSource con un tipo di dati personalizzato. I tipi di dati personalizzati sono leggibili solo dall'applicazione che li ha creati. I tipi di dati personalizzati sono deprecati; utilizza invece tipi di dati standard.

Oltre ai campi dell'origine dati inclusi nell'ID origine dati, è incluso il numero del progetto sviluppatore autenticato durante la creazione dell'origine dati. Questo numero di progetto dello sviluppatore è offuscato quando viene letto da qualsiasi altro sviluppatore che legge tipi di dati pubblici.
elimina
Elimina l'origine dati specificata. Se l'origine dati contiene punti dati, la richiesta non andrà a buon fine.
recupero
Restituisci l'origine dati specificata.
list
Elenca tutte le origini dati visibili allo sviluppatore, utilizzando gli ambiti OAuth forniti. L'elenco non è completo. L'utente potrebbe disporre di origini dati private visibili solo ad altri sviluppatori o chiamate che utilizzano altri ambiti.
aggiornamento
Aggiorna l'origine dati specificata. Le proprietà dataStreamId, dataType, type, dataStreamName e device, ad eccezione di version, non possono essere modificate.

Le origini dati sono identificate dai rispettivi dataStreamId.