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:
- Wywołaj interfejs API REST, aby utworzyć nowe źródło danych. Na przykład:
FlexibilityMeasure
. Nadaj typowi danych unikalną nazwę, która dokładnie odzwierciedla dane, które rejestruje.
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.