Niestandardowe typy danych

Jeśli aplikacja ma zbierać informacje, które nie są jeszcze uwzględnione w jednym z 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, który służy do zbierania danych niestandardowych. Podczas tworzenia niestandardowych typów danych upewnij się, że:

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

Android

Aby utworzyć niestandardowy typ danych po raz pierwszy, 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 API typu REST. Aby zbierać dane niestandardowe, musisz utworzyć źródło danych, a potem określić jego typ:

  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 przechwytywane dane.

  3. Pola typu danych i ich formaty.

Metoda HTTP

POST

URL prośby

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ę źródła danych w formacie JSON, w tym właściwość datasource.dataStreamId. Użyj tego identyfikatora jako dataSourceId, aby dodać dane.

Korzystanie z niestandardowych typów danych

Android

Zmień nazwę typu danych niestandardowych z ciągu znaków (com.nazwa_pakietu.nazwa_aplikacji.niestandardowy_typ_danych) na obiekt DataType za pomocą metody ConfigClient.readDataType. Zwrócony obiekt służy do wstawiania i odczytywania 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 źródeł. Aby sprawdzić źródła danych niestandardowego typu danych, wyślij żądanie GET do interfejsu API REST.

Dodawanie danych niestandardowych

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

Odczytywanie danych niestandardowych

Aby odczytać dane niestandardowe, podaj źródło danych utworzone dla danego typu danych pobieranych z platformy Google Fit.