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 có trong một trong các kiểu dữ liệu hiện có trên nền tảng Google Fit, thì bạn có thể tạo một kiểu dữ liệu tuỳ chỉnh.

Tạo kiểu dữ liệu tuỳ chỉnh

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

  • Tên kiểu 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 một loại dữ liệu tuỳ chỉnh lần đầu tiên, hãy sử dụng phương thức 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

Kiểu dữ liệu là một thuộc tính của nguồn dữ liệu trong API REST. Để thu thậ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 cho kiểu dữ liệu một tên riêng biệt, thể hiện sát nhất dữ liệu mà kiểu dữ liệu đó đang thu thập.

  3. Chỉ định các trường của kiểu 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 thành công nguồn dữ liệu, bạn sẽ nhận được mã trạng thái phản hồi HTTP 200 OK. Phần nội dung phản hồi chứa một biểu thị JSON của nguồn dữ liệu, bao gồm cả thuộc tính datasource.dataStreamId. Sử dụng mã nhận dạng này làm dataSourceId để thêm dữ liệu.

Sử dụng các kiểu dữ liệu tuỳ chỉnh

Android

Chuyển đổi tên loại dữ liệu tuỳ chỉnh của bạn từ một chuỗi (com.packagename.appname.custom_data_type) thành một đối tượng DataType bằ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}")
    }

REST

Để thêm hoặc đọc dữ liệu tuỳ chỉnh bằng cách sử dụng các loại dữ liệu tuỳ chỉnh, bạn cần có nguồn dữ liệu của các loại dữ liệu đó. Để kiểm tra nguồn dữ liệu của một kiểu dữ liệu tuỳ chỉnh, hãy gửi yêu cầu 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 có các điểm dữ liệu mới. Chỉ định nguồn dữ liệu mà bạn đã tạo cho loại dữ liệu tuỳ chỉ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 kiểu dữ liệu tuỳ chỉnh của bạn.

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

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