Jeśli Twoja aplikacja musi rejestrować informacje, które nie są jeszcze objęte żadnym z typów danych dostępnych na platformie Google Fit, możesz utworzyć niestandardowy typ danych.
Tworzenie niestandardowych typów danych
Utwórz lub określ niestandardowy typ danych, aby rejestrować dane niestandardowe. Podczas tworzenia niestandardowych typów danych pamiętaj o tych kwestiach:
- Nazwa typu danych dokładnie odzwierciedla dane źródłowe.
Prefiks nazwy typu danych jest zgodny z nazwą pakietu aplikacji.
Android
Aby po raz pierwszy utworzyć niestandardowy typ danych, użyj
ConfigClient.createCustomDataType
metody:
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
W interfejsie REST API typy danych są właściwością źródeł danych. Aby rejestrować dane niestandardowe, musisz utworzyć źródło danych, a następnie określić typ danych:
- Wywołaj interfejs REST API, aby utworzyć nowe źródło danych. Na przykład
FlexibilityMeasure. Nadaj typowi danych unikalną nazwę, która ściśle odzwierciedla rejestrowane dane.
Określ pola typu danych i ich formaty.
Metoda HTTP
POST
Adres 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 200 OK HTTP
kod stanu odpowiedzi. 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.
Używanie niestandardowych typów danych
Android
Skonwertuj nazwę niestandardowego typu danych z ciągu znaków
(com.packagename.appname.custom_data_type) na obiekt DataType za pomocą metody
ConfigClient.readDataType. Użyj zwróconego obiektu, aby wstawiać
i odczytywać dane niestandardowe.
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ł danych. Aby sprawdzić źródła danych niestandardowego typu danych, wyślij żądanie GET
do interfejsu REST API.
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ą mieć wszystkie prawidłowe pola i formaty określone w niestandardowym typie danych.
Odczytywanie danych niestandardowych
Aby odczytać dane niestandardowe, podczas pobierania punktów danych z platformy Google Fit określ źródło danych utworzone dla niestandardowego typu danych.