Users.dataSources

Definition einer eindeutigen Quelle von Sensordaten. Datenquellen können Rohdaten, die von Hardwaresensoren auf lokalen oder Companion-Geräten stammen, verfügbar machen. Sie können auch abgeleitete Daten zur Verfügung stellen, die durch Transformieren oder Zusammenführen anderer Datenquellen erstellt wurden. Für denselben Datentyp können mehrere Datenquellen vorhanden sein. Jeder Datenpunkt, der in diesen Dienst eingefügt oder aus diesem gelesen wird, ist mit einer Datenquelle verknüpft. 

Die Datenquelle enthält genügend Informationen, um die Daten eindeutig zu identifizieren, einschließlich des Hardwaregeräts und der Anwendung, die die Daten erfasst und/oder transformiert hat. Außerdem enthält sie 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. Daher können Daten, die von aktualisierten Versionen derselben Anwendung bzw. desselben Geräts erfasst werden, weiterhin zum selben Datenstream gehören.

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 in die Plattform einspeist
application.detailsUrl string Ein optionaler URI, mit dem zurück zur Anwendung verlinkt 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 wird anderen Entwicklern zur Verfügung gestellt, die ermitteln möchten, welche REST-Anwendung eine Anwendung oder Datenquelle erstellt hat.
application.packageName string Paketname für diese Anwendung. Er wird als eindeutige Kennung verwendet, wenn er von Android-Apps erstellt wird. Für REST-Clients kann er nicht angegeben werden. Bei REST-Clients wird die Entwicklerprojektnummer in den Datenquellen-Datenstream-IDs anstelle des Paketnamens widergespiegelt.
application.version string Version der Anwendung. Sie sollten dieses Feld immer dann aktualisieren, wenn sich die Anwendung auf eine Weise ändert, die sich auf die Berechnung der Daten auswirkt.
dataQualityStandard[] list DIESES FELD NICHT AUSFÜLLEN. Er wird in Antworten von der Plattform nie mit Daten gefüllt 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 Kennung umfasst:

  • Hersteller, Modell und Seriennummer (UID) des physischen Geräts.
  • Der 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.
  • Streamname der Datenquelle.
Nicht alle Attribute der Datenquelle werden für die Stream-ID verwendet. Es wird insbesondere nicht die Version der Hardware bzw. Anwendung verwendet. So können wir denselben Stream über Versionsupdates beibehalten. Dies bedeutet auch, dass zwei DataSource-Objekte denselben Datenstream darstellen können, auch wenn sie nicht gleich sind.

Die von einer Android-App erstellte Datenstream-ID hat folgendes Format: type:dataType.name:application.packageName:device.manufacturer:device.model:device.uid:dataStreamName

Das genaue Format der von einem REST-Client erstellten Datenstream-ID lautet: type:dataType.name:developer project number:device.manufacturer:device.model:device.uid:dataStreamName

Wenn eines der optionalen Felder der Datenstream-ID fehlt, wird es in der Datenstream-ID weggelassen. Die minimale Vital-Datenstream-ID wäre: type:dataType.name:developer project number

Die Nummer des Entwicklerprojekts und die Geräte-UID werden 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 ein Client einen anderen Satz von „data_stream_ids“ sieht als ein anderer Client mit anderen Anmeldedaten.

dataStreamName string Anhand des Streamnamens wird diese Datenquelle unter anderen Datenquellen desselben Typs vom selben zugrunde liegenden Ersteller eindeutig identifiziert. Das Festlegen des Streamnamens ist optional, sollte aber erfolgen, wenn eine Anwendung zwei Streams für denselben Datentyp bereitstellt oder ein Gerät über zwei gleichwertige Sensoren verfügt.
dataType nested object Der Datentyp definiert das Schema für einen Datenstrom, der von der Fitness API erfasst, in sie eingefügt oder von ihr 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 sind:
  • "blob"
  • "floatList"
  • "floatPoint"
  • "integer"
  • "integerList"
  • "map"
  • "string"
dataType.field[].name string Definiert den Namen und das Format von Daten. Im Gegensatz zu Datentypnamen haben Feldnamen keinen Namespace 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 halten kann
device.manufacturer string Hersteller des Produkts/der Hardware.
device.model string Für den Endnutzer sichtbarer Modellname des Geräts.
device.type string Eine Konstante, die den Gerätetyp darstellt.

Zulässige Werte sind:
  • "chestStrap"
  • "headMounted"
  • "phone"
  • "scale"
  • "smartDisplay"
  • "tablet"
  • "unknown"
  • "watch"
device.uid string Die Seriennummer oder eine andere eindeutige ID der 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 in normaler Form.

Die Verschleierung bewahrt die Gleichheit auf, d. h. bei zwei IDs, wenn id1 == id2, verschleiert(id1) == verschleiert(id2).

device.version string Versions-String für die Hardware/Software des Geräts.
name string Das ist ein für Endnutzer sichtbarer Name für diese Datenquelle.
type string Konstante, die den Typ dieser Datenquelle beschreibt. Gibt an, ob diese Datenquelle Roh- oder abgeleitete Daten liefert.

Zulässige Werte sind:
  • "derived"
  • "raw"

Methoden

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

Eine Datenquelle ist eine einzigartige Quelle für Sensordaten. Datenquellen können Rohdaten bereitstellen, die von Hardwaresensoren auf lokalen oder Begleitgeräten stammen. Sie können auch abgeleitete Daten verfügbar machen, die durch Transformieren oder Zusammenführen anderer Datenquellen erstellt wurden. Für denselben Datentyp können mehrere Datenquellen vorhanden sein. Jeder Datenpunkt in jedem Dataset, der in die Fitness API eingefügt oder aus dieser gelesen wird, ist mit einer Datenquelle verknüpft.

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. Daher können Daten, die von aktualisierten Versionen derselben Anwendung bzw. desselben Geräts erfasst werden, weiterhin zur selben Datenquelle gehören.

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

Wenn Sie einen Datentyp angeben, der kein bekannter Typ ist (beginnend mit „com.google.“), wird eine Datenquelle mit einem benutzerdefinierten Datentyp erstellt. Benutzerdefinierte Datentypen sind nur in der Anwendung lesbar, in der sie erstellt wurden. Benutzerdefinierte Datentypen wurden eingestellt. Verwenden Sie stattdessen Standarddatentypen.

Neben den Datenquellenfeldern in der Datenquellen-ID ist auch die Entwicklerprojektnummer enthalten, die beim Erstellen der Datenquelle authentifiziert wird. Diese Entwicklerprojektnummer wird verschleiert, wenn sie von einem anderen Entwickler gelesen wird, der öffentliche Datentypen liest.
delete
Die angegebene Datenquelle wird gelöscht. Die Anfrage schlägt fehl, wenn die Datenquelle Datenpunkte enthält.
get
Gibt die angegebene Datenquelle zurück.
list
Listet unter Verwendung der angegebenen OAuth-Bereiche alle Datenquellen auf, die für den Entwickler sichtbar sind. Die Liste ist nicht vollständig. Der Nutzer kann private Datenquellen haben, die nur für andere Entwickler sichtbar sind, oder Aufrufe mit anderen Bereichen haben.
Update
Die angegebene Datenquelle wird aktualisiert. Die Attribute dataStreamId, dataType, type, dataStreamName und device mit Ausnahme von version können nicht geändert werden.

Datenquellen sind über ihre dataStreamId gekennzeichnet.