Benutzerdefinierte Datentypen

Wenn Ihre App Informationen erfassen muss, die nicht bereits durch einen der vorhandenen Datentypen auf der Google Fit-Plattform abgedeckt sind, können Sie einen benutzerdefinierten Datentyp erstellen.

Benutzerdefinierte Datentypen erstellen

Erstellen oder geben Sie einen benutzerdefinierten Datentyp an, um benutzerdefinierte Daten zu erfassen. Wenn Sie benutzerdefinierte Datentypen verwenden, achten Sie auf Folgendes:

  • Der Name des Datentyps entspricht genau den zugrunde liegenden Daten.
  • Das Präfix des Datentypnamens stimmt mit dem Paketnamen Ihrer App überein.

Android

Um zum ersten Mal einen benutzerdefinierten Datentyp zu erstellen, verwenden Sie die Methode ConfigClient.createCustomDataType :

val request = DataTypeCreateRequest.Builder()
    // The prefix of your data type name must match your app's package name
    .setName("com.packagename.appname.custom_data_type") // Add some custom fields, both int and float
    .addField("field1", Field.FORMAT_INT32)
    .addField("field2", Field.FORMAT_FLOAT)
    // Add some common fields
    .addField(Field.FIELD_ACTIVITY)
    .build()

Fitness.getConfigClient(this, account)
    .createCustomDataType(request)
    .addOnSuccessListener { dataType ->
        // Use this custom data type to insert data into your app.
        Log.d(TAG, "Created data type: ${dataType.name}")
    }

REST

Datentypen sind in der REST API eine Eigenschaft von Datenquellen. Aufnahme benutzerdefinierten Daten erstellen, müssen Sie eine Datenquelle erstellen und dann den Datentyp angeben:

  1. Rufen Sie die REST API auf, um eine neue Datenquelle zu erstellen. Beispiel: FlexibilityMeasure.
  2. Geben Sie dem Datentyp einen eindeutigen Namen, der die erfassten Daten möglichst genau darstellt.

  3. Geben Sie die Felder des Datentyps und ihre Formate an.

HTTP-Methode

POST

Anfrage-URL

https://www.googleapis.com/fitness/v1/users/me/dataSources

Anfragetext

{
  "dataStreamName": "FlexibilityMeasure",
  "type": "raw",
  "application": {
    "detailsUrl": "http://recoveryapps.com",
    "name": "Stretch Flex",
    "version": "1"
  },
  "dataType": {
    "name": "com.recoveryapps.stretchflex.flexibility",
    "field": [
     {
      "name": "ankle_range_degrees",
      "format": "integer"
     },
     {
      "name": "wrist_range_degrees",
      "format": "integer",
      "optional": true
     }
    ]
   }
}

Antwort

Wenn die Datenquelle erstellt wurde, erhalten Sie eine HTTP-Benachrichtigung vom Typ 200 OK. Statuscode der Antwort. Der Antworttext enthält eine JSON-Darstellung von Die Datenquelle, einschließlich der Property datasource.dataStreamId. Verwenden Sie diese ID als dataSourceId, um Daten hinzuzufügen.

Benutzerdefinierte Datentypen verwenden

Android

Namen des benutzerdefinierten Datentyps aus einem String konvertieren (com.packagename.appname.custom_data_type) in ein DataType-Objekt mithilfe der Methode ConfigClient.readDataType-Methode. Verwenden Sie das zurückgegebene Objekt, um insert und benutzerdefinierte Daten lesen.

Fitness.getConfigClient(this, account)
    .readDataType("com.packagename.appname.custom_data_type")
    .addOnSuccessListener { dataType ->
        // Use this custom data type to insert data into your app.
        Log.d(TAG, "Retrieved data type: ${dataType.name}")
    }

REST

Wenn Sie benutzerdefinierte Daten mit Ihren benutzerdefinierten Datentypen hinzufügen oder lesen möchten, benötigen Sie deren Daten Quellen. Um die Datenquellen eines benutzerdefinierten Datentyps zu prüfen, senden Sie eine GET-Nachricht -Anfrage an die REST API.

Benutzerdefinierte Daten hinzufügen

Wenn Sie benutzerdefinierte Daten einfügen möchten, erstellen Sie einen Datensatz mit neuen Datenpunkten. Geben Sie die Datenquelle an, die Sie für den benutzerdefinierten Datentyp erstellt haben. Die Datenpunkte müssen alle korrekten Felder und Formate enthalten, die in Ihrem benutzerdefinierten Datentyp angegeben sind.

Benutzerdefinierte Daten lesen

Wenn Sie benutzerdefinierte Daten lesen möchten, geben Sie beim Abrufen von Datenpunkten von der Google Fit-Plattform die Datenquelle an, die Sie für Ihren benutzerdefinierten Datentyp erstellt haben.