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

Tạo loại dữ liệu tùy chỉnh

Tạo hoặc chỉ định 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 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}")
    }

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 các 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 loại dữ liệu:

  1. Gọi API REST để tạo nguồn dữ liệu mới. Ví dụ: FlexibilityMeasure.
  2. Đặt tên duy nhất cho loại dữ liệu, tên này đại diện chặt chẽ dữ liệu mà loại dữ liệu đó 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 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 bản trình bày 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 loại dữ liệu tùy chỉnh

Android

Chuyển đổi tên loại dữ liệu tuỳ chỉnh 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 nguồn dữ liệu của các dữ liệu đó. Để kiểm tra các nguồn dữ liệu của 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 tùy chỉnh

Để chèn dữ liệu tuỳ chỉnh, hãy tạo một tập dữ liệu bằng 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. Đ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 tùy chỉnh của bạn.

Đọc dữ liệu tùy 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 bạn truy xuất các điểm dữ liệu từ nền tảng Google Fit.