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 một trong các loại dữ liệu hiện có trên nền tảng Google Fit sử dụng, thì 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 các 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 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}")
    }

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. Để thu thập dữ liệu tuỳ chỉnh, bạn cần tạo một nguồn dữ liệu, sau đó chỉ định kiểu dữ liệu:

  1. Hãy gọi API REST để tạo một nguồn dữ liệu mới. Ví dụ: FlexibilityMeasure.
  2. Đặt một tên riêng biệ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 nguồn dữ liệu được tạo thành công, bạn sẽ nhận được mã trạng thái phản hồi HTTP 200 OK. Nội dung phản hồi chứa một đại diện JSON của nguồn dữ liệu, bao gồm cả thuộc tính datasource.dataStreamId. Dùng mã này làm 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 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 đố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}")
    }

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ó nguồn dữ liệu của các dữ liệu đó. Để kiểm tra nguồn dữ liệu của một loại 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 với 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 phải 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ủ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 bạn đã tạo cho loại dữ liệu tuỳ chỉnh của mình khi truy xuất các điểm dữ liệu từ nền tảng Google Fit.