Пользовательские типы данных

Если вашему приложению необходимо собирать информацию, которая еще не охвачена одним из существующих типов данных на платформе Google Fit, вы можете создать собственный тип данных.

Создание пользовательских типов данных

Создайте или укажите пользовательский тип данных для сбора пользовательских данных. При создании пользовательских типов данных убедитесь, что:

  • Имя типа данных точно представляет базовые данные.
  • Префикс имени типа данных соответствует имени пакета вашего приложения.

Андроид

Чтобы создать пользовательский тип данных в первый раз, используйте метод 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. Для захвата пользовательских данных необходимо создать источник данных, а затем указать тип данных:

  1. Вызовите REST API, чтобы создать новый источник данных . Например, FlexibilityMeasure .
  2. Дайте типу данных уникальное имя, которое точно соответствует собираемым данным.

  3. Укажите поля типа данных и их форматы.

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 для добавления данных.

Использование пользовательских типов данных

Андроид

Преобразуйте имя своего пользовательского типа данных из строки (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.