Loại dữ liệu tuỳ chỉnh

Nếu ứng dụng của bạn cần thu thập thông tin chưa thuộc một trong hiện có trên nền tảng Google Fit, bạn có thể tạo một loại dữ liệu tuỳ chỉnh.

Tạo loại dữ liệu tuỳ chỉnh

Tạo hoặc chỉ định một loại dữ liệu tuỳ chỉnh để thu thập dữ liệu tuỳ chỉnh. Khi bạn tạo loại dữ liệu tuỳ chỉnh, hãy đảm bảo:

  • Tên loại dữ liệu thể hiện chính xác dữ liệu cơ bản.
  • Tiền tố của tên loại dữ liệu khớp với tên gói của ứng dụng.

Android

Để tạo loại dữ liệu tuỳ chỉnh lần đầu tiên, hãy sử dụng ConfigClient.createCustomDataType phương thức:

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}")
    }

Kiến trúc chuyển trạng thái đại diện (REST)

Loại dữ liệu là một thuộc tính của nguồn dữ liệu trong API REST. Để chụp dữ liệu tuỳ chỉnh, bạn cần tạo một nguồn dữ liệu, rồi chỉ định loại dữ liệu:

  1. Gọi API REST để tạo một nguồn dữ liệu mới. Ví dụ: FlexibilityMeasure.
  2. Đặt một tên duy nhất cho loại dữ liệu, thể hiện gần đúng dữ liệu mà loại dữ liệu đó đang thu thập.

  3. Chỉ định các trường của loại dữ liệu và định dạng của các trường đó.

Phương thức HTTP

POST

URL yêu cầu

https://www.googleapis.com/fitness/v1/users/me/dataSources

Nội dung yêu cầu

{
  "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
     }
    ]
   }
}

Đáp

Nếu tạo nguồn dữ liệu thành công, bạn sẽ nhận được một HTTP 200 OK mã trạng thái phản hồi. Nội dung phản hồi chứa bản trình bày JSON của nguồn dữ liệu, bao gồm cả tài sản datasource.dataStreamId. Sử dụng mã này dưới dạng dataSourceId để thêm dữ liệu.

Sử dụng các loại dữ liệu tuỳ chỉnh

Android

Chuyển đổi tên của loại dữ liệu tuỳ chỉnh từ một chuỗi (com.packagename.appname.custom_data_type) vào đối tượng DataType bằng cách sử dụng phương thức ConfigClient.readDataType. Sử dụng đối tượng được trả về để chènđọc dữ liệu tuỳ chỉnh.

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}")
    }

Kiến trúc chuyển trạng thái đại diện (REST)

Để thêm hoặc đọc dữ liệu tuỳ chỉnh bằng các loại dữ liệu tuỳ chỉnh, bạn cần có dữ liệu của các loại dữ liệu đó nguồn. Để kiểm tra nguồn dữ liệu của một loại dữ liệu tuỳ chỉnh, hãy gửi GET đến API REST.

Thêm dữ liệu tuỳ chỉnh

Để chèn dữ liệu tuỳ chỉnh, hãy tạo một tập dữ liệu chứa các điểm dữ liệu mới. Chỉ định nguồn dữ liệu bạn đã tạo cho loại dữ liệu tuỳ chỉnh của mình. Các điểm dữ liệu cần có tất cả các trường và định dạng chính xác được chỉ định trong loại dữ liệu tuỳ chỉnh.

Đọc dữ liệu tuỳ chỉnh

Để đọc dữ liệu tùy chỉnh, hãy chỉ định nguồn dữ liệu bạn đã tạo cho tùy chỉnh của mình loại dữ liệu khi bạn truy xuất điểm dữ liệu từ nền tảng Google Fit.