Niestandardowe typy danych

Jeśli aplikacja musi rejestrować informacje, których jeszcze nie obejmuje istniejących typów danych na platformie Google Fit, możesz utworzyć niestandardowy typ danych.

Tworzenie niestandardowych typów danych

Utwórz lub określ niestandardowy typ danych do rejestrowania niestandardowych danych. Gdy tworzysz niestandardowych typów danych, upewnij się, że:

  • Nazwa typu danych dokładnie odzwierciedla dane bazowe.
  • Prefiks nazwy typu danych pasuje do nazwy pakietu aplikacji.

Android

Aby po raz pierwszy utworzyć niestandardowy typ danych, skorzystaj z funkcji 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

Typy danych są właściwościami źródeł danych w interfejsie API REST. Aby zrobić zdjęcie danych niestandardowych, musisz utworzyć źródło danych, a następnie określić typ danych:

  1. Wywołaj interfejs API REST, aby utworzyć nowe źródło danych. Na przykład: FlexibilityMeasure.
  2. Nadaj typowi danych unikalną nazwę, która dokładnie odzwierciedla dane, które rejestruje.

  3. Określ pola typu danych i ich formaty.

Metoda HTTP

POST

URL żądania

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

Treść żądania

{
  "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
     }
    ]
   }
}

Odpowiedź

Jeśli źródło danych zostało utworzone, otrzymasz żądanie HTTP 200 OK kodu stanu odpowiedzi. Treść odpowiedzi zawiera reprezentację JSON źródła danych, w tym usługę datasource.dataStreamId. Użyj tego identyfikatora jako dataSourceId, aby dodać dane.

Używanie niestandardowych typów danych

Android

Konwertowanie nazwy niestandardowego typu danych z ciągu znaków (com.packagename.appname.custom_data_type) do obiektu DataType za pomocą funkcji Metoda ConfigClient.readDataType. Użyj zwróconego obiektu do wstawiania i odczytywanie danych niestandardowych.

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

Aby dodawać lub odczytywać dane niestandardowe za pomocą niestandardowych typów danych, potrzebujesz ich danych źródeł. Aby sprawdzić źródła danych niestandardowego typu danych, wyślij GET do interfejsu API REST.

Dodawanie danych niestandardowych

Aby wstawić dane niestandardowe, utwórz zbiór danych z nowymi punktami danych. Podaj wartość utworzone dla niestandardowego typu danych. Punkty danych muszą mieć wszystkie prawidłowe pola i formaty określone w Twoim niestandardowym typie danych.

Odczyt danych niestandardowych

Aby odczytać dane niestandardowe, podaj źródło danych utworzone dla tego niestandardowego wymiaru typ danych podczas pobierania punktów danych z platformy Google Fit.