Google Fit cung cấp một bộ loại dữ liệu sức khoẻ và thể chất trong không gian tên com.google.
Loại dữ liệu xác định định dạng của các giá trị bên trong điểm dữ liệu. Một điểm dữ liệu có thể đại diện cho:
- Một chỉ số hoặc thông tin quan sát tức thời
- Một số liệu tổng hợp có thống kê trong một khoảng thời gian
Google Fit xác định các loại dữ liệu cho thông tin quan sát tức thời và các loại dữ liệu cho dữ liệu tổng hợp. Điểm dữ liệu bao gồm các giá trị cho các trường của một loại dữ liệu và thông tin dấu thời gian. Các điểm biểu thị thông tin quan sát tức thời bao gồm dấu thời gian, còn các điểm thuộc loại dữ liệu tổng hợp cũng bao gồm thời gian bắt đầu của khoảng thời gian.
Google Fit cũng cho phép bạn xác định các loại dữ liệu mới.
Nhóm loại dữ liệu
Google Fit có các loại dữ liệu sau:
- Loại dữ liệu công khai
- Các loại dữ liệu tiêu chuẩn do nền tảng cung cấp có tiền tố "com.google". Ví dụ: com.google.step_count.delta. Các loại dữ liệu này ghi lại các chỉ số tức thời về dữ liệu sức khoẻ và thể chất, bao gồm cả hoạt động thể dục, giấc ngủ và dinh dưỡng. Mọi ứng dụng đều có thể yêu cầu các quyền liên quan để đọc và ghi vào những loại dữ liệu này, ngoại trừ một số loại dữ liệu vị trí mà chỉ ứng dụng đã ghi dữ liệu đó mới có thể đọc.
Để biết thêm thông tin, hãy xem các bài viết sau:
- Các loại dữ liệu sức khoẻ
- Các loại dữ liệu do nền tảng cung cấp và bị hạn chế truy cập do có thể chứa dữ liệu nhạy cảm. Để biết thêm thông tin, hãy xem phần Các loại dữ liệu sức khoẻ.
- Các loại dữ liệu tổng hợp
- Các loại dữ liệu để đọc thông tin sức khoẻ và thể chất được tổng hợp theo thời gian hoặc loại hoạt động. Để biết thêm thông tin, hãy xem phần Các loại dữ liệu tổng hợp.
- Loại dữ liệu tuỳ chỉnh riêng tư
- Các loại dữ liệu tuỳ chỉnh do một ứng dụng cụ thể xác định. Chỉ ứng dụng xác định loại dữ liệu mới có thể đọc và ghi dữ liệu thuộc loại này. Để biết thêm thông tin, hãy xem bài viết Các loại dữ liệu tuỳ chỉnh.
Sử dụng các loại dữ liệu
Android
Trên Android, các loại dữ liệu được xác định là các trường công khai của lớp DataType. Cách bạn gọi Fitness API bằng loại dữ liệu phụ thuộc vào mục tiêu bạn muốn đạt được:
- Để ghi lại dữ liệu, hãy sử dụng Recording API để tạo một gói thuê bao cho từng loại dữ liệu mà bạn muốn ghi lại.
- Để đọc dữ liệu, hãy sử dụng History API để gửi yêu cầu đọc cho từng loại dữ liệu.
- Để chèn dữ liệu cũ từ trước đây, hãy sử dụng History API để gửi yêu cầu chèn cho từng loại dữ liệu.
- Để tạo phiên, hãy sử dụng Sessions API để chèn hoặc ghi dữ liệu bằng siêu dữ liệu phiên.
Để tạo các điểm dữ liệu cho một đối tượng DataType tức thời, hãy chỉ định các giá trị có định dạng chính xác. Ví dụ sau đây cho thấy cách chỉ định mặt hàng thực phẩm dưới dạng một chuỗi, loại bữa ăn dưới dạng một hằng số từ lớp Field và nội dung dinh dưỡng dưới dạng các giá trị số thực được ánh xạ.
val nutritionSource = DataSource.Builder() .setDataType(DataType.TYPE_NUTRITION) ... .build() val nutrients = mapOf( Field.NUTRIENT_TOTAL_FAT to 0.4f, Field.NUTRIENT_SODIUM to 1f, Field.NUTRIENT_POTASSIUM to 422f ) val banana = DataPoint.builder(nutritionSource) .setTimestamp(now, TimeUnit.MILLISECONDS) .setField(Field.FIELD_FOOD_ITEM, "banana") .setField(Field.FIELD_MEAL_TYPE, Field.MEAL_TYPE_SNACK) .setField(Field.FIELD_NUTRIENTS, nutrients) .build()
Sau khi thiết lập các điểm dữ liệu trong ứng dụng, bạn có thể chèn, đọc hoặc xoá dữ liệu cũ bằng History API.
REST
Tài nguyên dataSources bao gồm loại dữ liệu (và danh sách các trường của loại dữ liệu) cho từng nguồn dữ liệu. Bạn có thể chỉ định một trong các loại dữ liệu này khi tạo nguồn dữ liệu, đồng thời có thể lấy tên của loại dữ liệu và danh sách các trường của loại dữ liệu đó khi truy xuất nguồn dữ liệu từ kho lưu trữ dữ liệu về thể dục.
Ví dụ: một biểu thị nguồn dữ liệu chỉ định loại dữ liệu của nguồn dữ liệu như sau:
{
"dataStreamId": "exampleDataSourceId",
...
"dataType": {
"name": "com.google.step_count.delta"
},
...
}Phạm vi uỷ quyền
Phạm vi uỷ quyền bao gồm các nhóm loại dữ liệu mà người dùng có thể uỷ quyền cho một ứng dụng truy cập. Các quyền này giúp người dùng hiểu được loại dữ liệu mà ứng dụng muốn truy cập. Các quyền này cũng giúp bạn dễ dàng cấp cho ứng dụng quyền sử dụng dữ liệu đó mà không cần phải phê duyệt từng loại dữ liệu riêng lẻ. Người dùng cấp các quyền này sau khi tải ứng dụng của bạn xuống.
Sau khi kiểm thử ứng dụng với một nhóm nhỏ người dùng, trước khi ra mắt ứng dụng, bạn cần yêu cầu xác minh dựa trên các phạm vi liên quan đến những loại dữ liệu đó. Đọc kỹ các trang về loại dữ liệu được liên kết ở trên để hiểu rõ phạm vi nào áp dụng cho từng loại dữ liệu.
Ví dụ: nếu cần đọc và ghi huyết áp, ứng dụng của bạn cần khai báo rằng ứng dụng đang thực hiện cả thao tác đọc và ghi, đồng thời yêu cầu cả hai phạm vi. Nếu chỉ ghi dữ liệu huyết áp vào nền tảng Google Fit, thì ứng dụng chỉ cần yêu cầu phạm vi ghi.
Chọn loại dữ liệu một cách có trách nhiệm. Đừng yêu cầu mọi loại dữ liệu trong trường hợp ứng dụng của bạn có thể cần đến. Các loại được chỉ định sẽ xác định những phạm vi mà người dùng được nhắc cấp quyền. Chỉ yêu cầu những loại dữ liệu mà ứng dụng của bạn cần để người dùng có nhiều khả năng cấp quyền truy cập hơn. Người dùng sẵn sàng cấp quyền truy cập vào các phạm vi hạn chế và được mô tả rõ ràng.
Hãy dùng bảng này để kiểm tra xem các phạm vi mà ứng dụng của bạn cần truy cập có phải là phạm vi nhạy cảm hay bị hạn chế (điều này sẽ quyết định các bước xác minh mà bạn cần thực hiện) hay không:
| Phạm vi | Mô tả | Danh mục |
|---|---|---|
https://www.googleapis.com/auth/fitness.activity.read |
Đọc dữ liệu hoạt động từ nền tảng Google Fit. | Bị hạn chế |
https://www.googleapis.com/auth/fitness.activity.write |
Ghi dữ liệu hoạt động vào nền tảng Google Fit | Bị hạn chế |
https://www.googleapis.com/auth/fitness.blood_glucose.read |
Đọc dữ liệu đường huyết từ nền tảng Google Fit. | Bị hạn chế |
https://www.googleapis.com/auth/fitness.blood_glucose.write |
Ghi dữ liệu đường huyết vào nền tảng Google Fit. | Bị hạn chế |
https://www.googleapis.com/auth/fitness.blood_pressure.read |
Đọc dữ liệu huyết áp từ nền tảng Google Fit. | Bị hạn chế |
https://www.googleapis.com/auth/fitness.blood_pressure.write |
Ghi dữ liệu huyết áp vào nền tảng Google Fit. | Bị hạn chế |
https://www.googleapis.com/auth/fitness.body.read |
Đọc dữ liệu về chỉ số cơ thể (chiều cao, cân nặng, tỷ lệ phần trăm lượng mỡ trong cơ thể) từ nền tảng Google Fit. | Bị hạn chế |
https://www.googleapis.com/auth/fitness.body.write |
Ghi dữ liệu đo lường cơ thể vào nền tảng Google Fit. | Bị hạn chế |
https://www.googleapis.com/auth/fitness.body_temperature.read |
Đọc dữ liệu thân nhiệt từ nền tảng Google Fit. | Bị hạn chế |
https://www.googleapis.com/auth/fitness.body_temperature.write |
Ghi dữ liệu thân nhiệt vào nền tảng Google Fit. | Bị hạn chế |
https://www.googleapis.com/auth/fitness.heart_rate.read |
Đọc dữ liệu nhịp tim từ nền tảng Google Fit. | Bị hạn chế |
https://www.googleapis.com/auth/fitness.heart_rate.write |
Ghi dữ liệu tần số tim vào nền tảng Google Fit. | Bị hạn chế |
https://www.googleapis.com/auth/fitness.location.read |
Đọc dữ liệu vị trí từ nền tảng Google Fit. | Bị hạn chế |
https://www.googleapis.com/auth/fitness.location.write |
Ghi dữ liệu vị trí vào nền tảng Google Fit. | Bị hạn chế |
https://www.googleapis.com/auth/fitness.nutrition.read |
Đọc dữ liệu dinh dưỡng từ nền tảng Google Fit. | Bị hạn chế |
https://www.googleapis.com/auth/fitness.nutrition.write |
Ghi dữ liệu dinh dưỡng vào nền tảng Google Fit. | Bị hạn chế |
https://www.googleapis.com/auth/fitness.oxygen_saturation.read |
Đọc dữ liệu độ bão hòa oxy từ nền tảng Google Fit. | Bị hạn chế |
https://www.googleapis.com/auth/fitness.oxygen_saturation.write |
Ghi dữ liệu độ bão hoà ô-xy vào nền tảng Google Fit. | Bị hạn chế |
https://www.googleapis.com/auth/fitness.reproductive_health.read |
Đọc dữ liệu sức khoẻ sinh sản từ nền tảng Google Fit. | Bị hạn chế |
https://www.googleapis.com/auth/fitness.reproductive_health.write |
Ghi dữ liệu sức khoẻ sinh sản vào nền tảng Google Fit. | Bị hạn chế |
https://www.googleapis.com/auth/fitness.sleep.read |
Đọc dữ liệu về giấc ngủ từ nền tảng Google Fit. | Bị hạn chế |
https://www.googleapis.com/auth/fitness.sleep.write |
Ghi dữ liệu giấc ngủ vào nền tảng Google Fit. | Bị hạn chế |
Thêm phạm vi mới vào ứng dụng hiện có
Khi bạn cập nhật ứng dụng để yêu cầu một phạm vi mới (ví dụ: nếu bạn thêm phạm vi giấc ngủ hoặc nhịp tim mới, hoặc thêm phạm vi đọc), người dùng sẽ nhận được lời nhắc rằng ứng dụng của bạn đang yêu cầu quyền truy cập vào các phạm vi này và họ có thể chọn cấp hoặc từ chối quyền truy cập.
Bạn nên yêu cầu người dùng uỷ quyền cho các tài nguyên vào thời điểm bạn cần. Làm theo các nguyên tắc về việc yêu cầu uỷ quyền gia tăng.
Người dùng sẽ có nhiều khả năng cấp quyền truy cập hơn nếu họ hiểu lý do/cách ứng dụng của bạn sử dụng dữ liệu này:
- Hãy cân nhắc việc thêm một màn hình cảnh báo/thông báo cho người dùng rằng họ sẽ được yêu cầu cung cấp các phạm vi này.
- Giải thích rõ ràng lý do ứng dụng của bạn yêu cầu quyền truy cập vào các phạm vi/dữ liệu này để người dùng có thể đưa ra quyết định sáng suốt.
Tìm hiểu thêm về các phương pháp hay nhất liên quan đến quyền ứng dụng cho Android.