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:
- 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 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.