Если вашему приложению необходимо собирать информацию, которая еще не охватывается одним из существующих типов данных на платформе Google Fit, вы можете создать собственный тип данных.
Создание пользовательских типов данных
Создайте или укажите пользовательский тип данных для сбора пользовательских данных. При создании пользовательских типов данных убедитесь в следующем:
- Название типа данных точно отражает исходные данные.
Префикс имени типа данных соответствует имени пакета вашего приложения.
Android
Для создания пользовательского типа данных в первый раз используйте метод 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 API типы данных являются свойством источников данных. Для получения пользовательских данных необходимо создать источник данных, а затем указать его тип:
- Воспользуйтесь REST API для создания нового источника данных . Например,
FlexibilityMeasure. Присвойте типу данных уникальное имя, которое точно отражает собираемые им данные.
Укажите поля типа данных и их форматы.
метод HTTP
POST
URL запроса
https://www.googleapis.com/fitness/v1/users/me/dataSources
Текст запроса
{
"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
}
]
}
}
Ответ
Если ваш источник данных был успешно создан, вы получите HTTP-ответ с кодом состояния 200 OK . Тело ответа содержит JSON-представление источника данных, включая свойство datasource.dataStreamId . Используйте этот идентификатор в качестве dataSourceId для добавления данных.
Использование пользовательских типов данных
Android
Преобразуйте имя вашего пользовательского типа данных из строки (com.packagename.appname.custom_data_type) в объект DataType с помощью метода ConfigClient.readDataType . Используйте возвращенный объект для вставки и чтения пользовательских данных.
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}")
}
ОТДЫХ
Для добавления или чтения пользовательских данных с использованием ваших пользовательских типов данных вам необходимы их источники данных. Чтобы проверить источники данных пользовательского типа данных, отправьте GET запрос к REST API .
Добавление пользовательских данных
Для вставки пользовательских данных создайте набор данных с новыми точками данных. Укажите источник данных, созданный для вашего пользовательского типа данных. Точки данных должны содержать все необходимые поля и форматы, указанные в вашем пользовательском типе данных.
Чтение пользовательских данных
Для чтения пользовательских данных укажите источник данных, созданный для вашего пользовательского типа данных, при получении точек данных с платформы Google Fit.