Users.dataSources

Definizione di un'origine univoca dei dati dei sensori. Le origini dati possono esporre dati non elaborati provenienti da sensori hardware su dispositivi locali o companion. Possono anche esporre i 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 per identificare in modo univoco i suoi dati, inclusi il dispositivo hardware e l'applicazione che li ha raccolti e/o trasformati. Contiene inoltre metadati utili, come le versioni hardware e applicative e il tipo di dispositivo.

Ogni origine dati produce un flusso unico 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 disponibili per questa risorsa, vedi 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 inserisce i dati dei sensori nella piattaforma.
application.detailsUrl string Un URI facoltativo che può essere utilizzato per il collegamento all'applicazione.
application.name string Il nome dell'applicazione. Questo passaggio è obbligatorio per i client REST, ma non applichiamo l'unicità di questo nome. Viene fornito per comodità di altri sviluppatori che vogliono identificare quale REST ha creato un'applicazione o un'origine dati.
application.packageName string Nome del pacchetto dell'applicazione. Viene utilizzato come identificatore univoco quando viene creato dalle applicazioni Android, ma non può essere specificato dai client REST. Il numero di progetto client degli sviluppatori REST verrà riportato negli ID stream di dati dell'origine dati, anziché in packageName.
application.version string Versione dell'applicazione. Devi aggiornare questo campo ogni volta che l'applicazione cambia in modo 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 di sviluppatore viene utilizzato quando l'origine dati è stata creata da un client REST.
  • Il tipo dell'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 streaming. In particolare, non viene utilizzata la versione dell'hardware/dell'applicazione. In questo modo possiamo mantenere lo stesso stream mediante aggiornamenti della versione. Questo significa anche che due oggetti DataSource possono rappresentare lo stesso stream di dati anche se non sono uguali.

Il formato esatto dell'ID stream di dati creato da un'applicazione Android è il seguente: 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 uno dei campi facoltativi che compongono l'ID stream di dati è assente, verrà omesso dall'ID stream di dati. L'ID minimo dello stream di dati valido sarebbe: type:dataType.name:numero progetto progetto

Infine, il numero di progetto sviluppatore e l'UID dispositivo sono offuscati quando letti da client REST o Android che non hanno creato l'origine dati. Solo il creatore dell'origine dati vedrà il numero di progetto dello sviluppatore in modo chiaro e normale. Ciò significa che un client vedrà un set di dati_stream_id diverso rispetto a un altro client con credenziali diverse.

dataStreamName string Il nome del flusso identifica questa origine dati specifica tra le altre origini dati dello stesso tipo dello stesso produttore sottostante. L'impostazione del nome dello stream è facoltativa, ma deve essere 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 di un flusso di dati 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 dispongono di 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 e 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 (ad esempio un telefono o un indossabile) in grado di contenere sensori.
device.manufacturer string Produttore del prodotto/hardware.
device.model string Nome del modello visibile all'utente finale del 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 un client REST o Android che non ha creato l'origine dati. Solo il creatore dell'origine dati vedrà il campo uid in forma chiara e normale.

L'offuscamento preserva l'uguaglianza; ovvero, sono presenti due ID, se id1 == id2, offuscati(id1) == offuscati(id2).

device.version string Stringa della 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 questa origine dati produce dati non elaborati o derivati.

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

Metodi

creare
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 dati non elaborati provenienti da sensori hardware su dispositivi locali o companion. Possono anche esporre i 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 all'origine dati influiscono sull'ID stream di dati, pertanto i dati raccolti dalle versioni aggiornate della stessa applicazione/dispositivo possono comunque essere considerati appartenenti alla stessa origine dati.

Le origini dati sono identificate tramite una stringa generata dal server, in base ai contenuti dell'origine che viene creata. Il campo dataStreamId non deve essere impostato quando viene richiamato questo metodo. Verrà generata automaticamente dal server con il formato corretto. Se è impostato un valore dataStreamId, deve corrispondere al formato generato dal server. Questo formato è una combinazione di alcuni campi dell'origine dati e ha un ordine specifico. In caso contrario, la richiesta avrà esito negativo con errore.

Specificando un DataType non di tipo noto (che inizia con "com.google.") verrà creata una 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 ritirati; utilizza tipi di dati standard.

Oltre ai campi dell'origine dati inclusi nell'ID origine dati, è incluso il numero di progetto sviluppatore autenticato durante la creazione dell'origine dati. Questo numero di progetto dello sviluppatore viene offuscato quando letto da altri sviluppatori che leggono i tipi di dati pubblici.
elimina
Elimina l'origine dati specificata. Se l'origine dati contiene punti dati, la richiesta non andrà a buon fine.
get
Restituisce l'origine dati specificata.
list
Elenca tutte le origini dati visibili allo sviluppatore utilizzando gli ambiti OAuth forniti. L'elenco non è esaustivo: l'utente potrebbe avere origini dati private visibili solo ad altri sviluppatori o chiamate utilizzando altri ambiti.
aggiorna
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 dal rispettivo dataStreamId.