Users.dataSources

Definition einer eindeutigen Sensordatenquelle. Datenquellen können Rohdaten von Hardwaresensoren auf lokalen oder Begleitgeräten offenlegen. Sie können auch abgeleitete Daten verfügbar machen, die durch die Transformation oder Zusammenführung anderer Datenquellen erstellt wurden. Für denselben Datentyp können mehrere Datenquellen vorhanden sein. Jedem Datenpunkt, der in diesen Dienst eingefügt oder daraus gelesen wird, ist eine Datenquelle zugeordnet.

Die Datenquelle enthält genügend Informationen, um die Daten eindeutig zu identifizieren, einschließlich der Hardware und der Anwendung, die die Daten erfasst und/oder transformiert hat. Außerdem finden Sie dort nützliche Metadaten wie die Hardware- und Anwendungsversionen sowie den Gerätetyp.

Jede Datenquelle erzeugt einen eindeutigen Datenstream mit einer eindeutigen Kennung. Nicht alle Änderungen an der Datenquelle wirken sich auf die Stream-ID aus, sodass Daten, die von aktualisierten Versionen derselben Anwendung oder desselben Geräts erhoben werden, weiterhin als Datenstreams betrachtet werden können.

Am Ende dieser Seite finden Sie eine Liste der Methoden für diese Ressource.

Ressourcendarstellungen

{
  "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
  ]
}
Property-Name Wert Beschreibung Hinweise
application nested object Informationen zu einer Anwendung, die Sensordaten an die Plattform sendet.
application.detailsUrl string Ein optionaler URI, mit dem eine Verknüpfung zur Anwendung hergestellt werden kann.
application.name string Der Name dieser Anwendung. Dies ist für REST-Clients erforderlich. Die Eindeutigkeit dieses Namens wird jedoch nicht erzwungen. Sie ist nur für Nutzer gedacht, die wissen möchten, über welche REST-Anwendung eine Anwendung oder Datenquelle erstellt wurde.
application.packageName string Paketname für diese Anwendung. Sie wird als eindeutige Kennung verwendet, wenn sie von Android-Apps erstellt wird. Sie kann jedoch nicht von REST-Clients angegeben werden. Die Nummer des Entwicklerprojekts wird anstelle der packageName in den Datenquellen-IDs der Datenquellen angegeben.
application.version string Version der Anwendung. Sie sollten dieses Feld immer dann aktualisieren, wenn sich die Anwendung so ändert, dass die Berechnung der Daten beeinträchtigt wird.
dataQualityStandard[] list DIESES FELD NICHT AUSFÜLLEN. Er wird niemals in Antworten der Plattform eingefügt und in Abfragen ignoriert. Es wird in einer zukünftigen Version vollständig entfernt.
dataStreamId string Eine eindeutige Kennung für den Datenstream, der von dieser Datenquelle erzeugt wird. Die ID enthält:

  • Hersteller, Modell und Seriennummer (UID) des physischen Geräts.
  • Paketname oder -name der Anwendung Der Paketname wird verwendet, wenn die Datenquelle von einer Android-App erstellt wurde. Die Entwicklerprojektnummer wird verwendet, wenn die Datenquelle von einem REST-Client erstellt wurde.
  • Der Typ der Datenquelle.
  • Der Streamname der Datenquelle.
. Nicht alle Attribute der Datenquelle werden als Teil der Stream-ID verwendet. Insbesondere wird die Version der Hardware/Anwendung nicht genutzt. So können wir denselben Stream über Versionsupdates beibehalten. Das bedeutet auch, dass zwei DataSource-Objekte denselben Datenstream darstellen, obwohl sie nicht gleich sind.

Das Format der von einer Android-App erstellten Datenstream-ID ist: type:dataType.name:application.packageName:device.manufacturer:device.model:device.uid:dataStreamName

Das genaue Format der Datenstream-ID, die von einem REST-Client erstellt wird, ist: type:dataType.name:developer project number:device.manufacturer:device.model:device.uid:dataStreamName

Wenn eines der optionalen Felder für die Datenstream-ID nicht vorhanden ist, wird es in der Datenstream-ID weggelassen. Die minimale realisierbare Datenstream-ID wäre: type:dataType.name:developer project number

Schließlich werden die Entwicklerprojektnummer und die Geräte-ID verschleiert, wenn sie von einem REST- oder Android-Client gelesen werden, der die Datenquelle nicht erstellt hat. Nur der Ersteller der Datenquelle sieht die Entwicklerprojektnummer klar und normal. Das bedeutet, dass für einen Client andere data_stream_ids angezeigt werden als für einen anderen Client mit anderen Anmeldedaten.

dataStreamName string Mit dem Namen des Streams wird diese Datenquelle unter den anderen Datenquellen desselben Typs vom selben zugrunde liegenden Ersteller eindeutig identifiziert. Das Festlegen des Streamnamens ist optional, sollte jedoch durchgeführt werden, wenn eine App zwei Streams für denselben Datentyp bereitstellt oder wenn ein Gerät zwei gleichwertige Sensoren hat.
dataType nested object Der Datentyp definiert das Schema eines Datenstroms, der von der Fitness API erfasst, dort eingefügt oder abgefragt wird.
dataType.field[] list Ein Feld stellt eine Dimension eines Datentyps dar.
dataType.field[].format string Die verschiedenen unterstützten Formate für jedes Feld in einem Datentyp.

Zulässige Werte:
  • blob
  • floatList
  • floatPoint
  • integer
  • integerList
  • map
  • string
dataType.field[].name string Definiert den Namen und das Format der Daten. Im Gegensatz zu Namen von Datentypen sind Feldnamen nicht mit einem Namespace versehen und müssen nur innerhalb des Datentyps eindeutig sein.
dataType.field[].optional boolean
dataType.name string Jeder Datentyp hat einen eindeutigen Namespace-Namen. Alle Datentypen im com.google-Namespace werden als Teil der Plattform freigegeben.
device nested object Darstellung eines integrierten Geräts, z. B. eines Smartphones oder eines Wearables, das Sensoren enthält.
device.manufacturer string Hersteller des Produkts bzw. der Hardware.
device.model string Für Endnutzer sichtbarer Modellname für das Gerät.
device.type string Eine Konstante, die den Typ des Geräts darstellt.

Zulässige Werte:
  • chestStrap
  • headMounted
  • phone
  • scale
  • smartDisplay
  • tablet
  • unknown
  • watch
device.uid string Die Seriennummer oder eine andere eindeutige ID für die Hardware. Dieses Feld wird verschleiert, wenn es von einem REST- oder Android-Client gelesen wird, der die Datenquelle nicht erstellt hat. Nur der Ersteller der Datenquelle sieht das UID-Feld klar und normal.

Die Verschleierung sorgt für Gleichheit, d. h., es werden zwei IDs angegeben: id1 == id2, obfuscated(id1) == obfuscated(id2).

device.version string Versionsstring für die Hardware/Software des Geräts.
name string Ein sichtbarer Endnutzername für diese Datenquelle.
type string Eine Konstante, die den Typ dieser Datenquelle beschreibt. Gibt an, ob diese Datenquelle Roh- oder abgeleitete Daten erzeugt.

Zulässige Werte:
  • derived
  • raw

Methoden

Erstellen
Erstellt eine neue Datenquelle, die für alle Datenquellen dieses Nutzers eindeutig ist.

Eine Datenquelle ist eine eindeutige Sensordatenquelle. Datenquellen können Rohdaten von Hardwaresensoren auf lokalen oder Companion-Geräten offenlegen. Sie können auch abgeleitete Daten verfügbar machen, die durch die Transformation oder Zusammenführung anderer Datenquellen erstellt wurden. Für denselben Datentyp können mehrere Datenquellen vorhanden sein. Jedem Datenpunkt in jedem Dataset, das in die Fitness API eingefügt oder daraus gelesen wird, ist eine Datenquelle zugeordnet.

Jede Datenquelle erzeugt einen eindeutigen Stream von Dataset-Aktualisierungen mit einer eindeutigen Datenquellen-ID. Nicht alle Änderungen an der Datenquelle wirken sich auf die Datenstream-ID aus, sodass Daten, die von aktualisierten Versionen derselben Anwendung oder desselben Geräts erhoben werden, weiterhin als zur selben Datenquelle gehörend betrachtet werden können.

Datenquellen werden anhand eines vom Server generierten Strings basierend auf dem Inhalt der erstellten Quelle identifiziert. Das Feld dataStreamId sollte beim Aufrufen dieser Methode nicht festgelegt werden. Er wird vom Server automatisch mit dem richtigen Format generiert. Wenn ein dataStreamId festgelegt ist, muss er dem Format entsprechen, das der Server generieren würde. Dieses Format ist eine Kombination aus einigen Feldern aus der Datenquelle und hat eine bestimmte Reihenfolge. Stimmt die Anfrage nicht überein, schlägt die Anfrage fehl.

Wenn Sie einen unbekannten Datentyp angeben (beginnend mit „"com.google."“), wird eine Datenquelle mit einem benutzerdefinierten Datentyp erstellt. Benutzerdefinierte Datentypen sind nur für die Anwendung lesbar, die sie erstellt hat. Benutzerdefinierte Datentypen wurden verworfen. Verwenden Sie stattdessen Standarddatentypen.

Zusätzlich zu den Datenquellenfeldern, die in der Datenquellen-ID enthalten sind, ist auch die Entwicklerprojektnummer enthalten, die beim Erstellen der Datenquelle authentifiziert ist. Diese Entwicklerprojektnummer ist verschleiert, wenn sie von anderen Entwicklern gelesen wird, die öffentliche Datentypen lesen.
Delete
Die angegebene Datenquelle wird gelöscht. Die Anfrage schlägt fehl, wenn die Datenquelle Datenpunkte enthält.
Holen Sie sich
Gibt die angegebene Datenquelle zurück.
list
Listet alle Datenquellen, die für den Entwickler sichtbar sind, unter Verwendung der bereitgestellten OAuth-Bereiche auf. Die Liste ist nicht vollständig. Der Nutzer hat möglicherweise private Datenquellen, die nur für andere Entwickler sichtbar sind, oder Aufrufe über andere Bereiche.
Aktualisieren
Die angegebene Datenquelle wird aktualisiert. Die Attribute dataStreamId, dataType, type, dataStreamName und device mit Ausnahme von version können nicht geändert werden.

Datenquellen werden anhand ihrer dataStreamId identifiziert.