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 typ danych niestandardowych, aby rejestrować dane niestandardowe. Podczas tworzenia niestandardowych typów danych:

  • Nazwa typu danych dokładnie odzwierciedla dane bazowe.
  • Prefiks nazwy typu danych jest zgodny z nazwą pakietu aplikacji.

Android

Aby po raz pierwszy utworzyć niestandardowy typ danych, użyj metody 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ścią źródeł danych w interfejsie REST API. 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 kod stanu odpowiedzi HTTP 200 OK. 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

Za pomocą metody ConfigClient.readDataType przekształcaj nazwę niestandardowego typu danych z łańcucha znaków (com.packagename.appname.custom_data_type) w obiekt DataType. 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 do interfejsu API REST żądanie GET.

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.