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. Để 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:
- Gọi API REST để tạo nguồn dữ liệu mới. Ví dụ:
FlexibilityMeasure
. Đặ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.
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. Phần nội dung phản hồi chứa nội dung đại diện JSON của nguồn dữ liệu, bao gồm cả thuộc tính datasource.dataStreamId
. Sử 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 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
và đọ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.