Kiểu dữ liệu

Google Fit cung cấp một tập hợp các loại dữ liệu sức khoẻ thể chất và tinh thần trong không gian tên com.google.

Kiểu dữ liệu xác định định dạng của các giá trị bên trong các điểm dữ liệu. Một điểm dữ liệu có thể đại diện cho:

  • Chỉ số hoặc quan sát tức thì
  • Số liệu tổng hợp có số liệu thống kê trong một khoảng thời gian

Google Fit xác định các loại dữ liệu cho quan sát tức thời và loại dữ liệu để tổng hợp . Điểm dữ liệu bao gồm các giá trị cho các trường thuộc loại dữ liệu và thông tin dấu thời gian. Những điểm thể hiện quan sát tức thời bao gồm dấu thời gian và các điểm loại dữ liệu tổng hợp cũng bao gồm cả thời gian bắt đầu cho 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:

Các loại dữ liệu công khai
Các loại dữ liệu chuẩn do nền tảng cung cấp có miền "com.google" tiền tố. Ví dụ: com.google.step_count.delta. Các kiểu dữ liệu này ghi lại dữ liệu đọc tức thì cho dữ liệu sức khoẻ thể chất và tinh thần, bao gồm cả hoạt động thể dục, giấc ngủ và chế độ dinh dưỡng. Bất kỳ hạng nào có thể yêu cầu các quyền liên quan để đọc và ghi vào các loại dữ liệu này, ngoại trừ một vài loại dữ liệu vị trí mà chỉ ứng dụng đó mới có thể đọc đã viết chúng.

Để biết thêm thông tin, hãy xem các bài viết sau:

Loại dữ liệu sức khoẻ
Các loại dữ liệu do nền tảng cung cấp bị hạn chế quyền truy cập do dữ liệu có thể nhạy cảm. Để biết thêm thông tin, hãy xem bài viết Dữ liệu sức khoẻ loại thiết bị.
Các loại dữ liệu tổng hợp
Các loại dữ liệu dùng để đọc thông tin về sức khoẻ thể chất và tinh thần 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 Dữ liệu tổng hợp loại thiết bị.
Các 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 kiểu dữ liệu có thể đọc và ghi dữ liệu thuộc loại này. Để biết thêm thông tin, hãy xem 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 định nghĩa là các trường công khai của DataType . Cách gọi API Thể dục bằng loại dữ liệu phụ thuộc vào mục tiêu bạn muốn đạt được:

  • Để ghi dữ liệu, hãy dùng API Ghi âm để hãy tạo một gói thuê bao cho từng loại dữ liệu bạn muốn ghi.
  • Để đọc dữ liệu, hãy sử dụng API Lịch sử để gửi một lượt đọc cho từng loại dữ liệu.
  • Để chèn dữ liệu trong quá khứ, hãy sử dụng API lịch sử để 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 (API Phiên) để chèn hoặc ghi lại phiên hoạt động với siêu dữ liệu về phiên.

Để tạo điểm dữ liệu cho khoảng thời gian DataType hãy chỉ định giá trị có định dạng chính xác. Ví dụ sau cho bạn thấy cách chỉ định món ăn dưới dạng chuỗi, loại bữa ăn là hằng số từ Lớp Field, và nội dung dinh dưỡng dưới dạng giá trị số thực được liên kết.

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 trong quá khứ bằng API Lịch sử.

Kiến trúc chuyển trạng thái đại diện (REST)

Tài nguyên dataSources bao gồm loại dữ liệu (và danh sách các trường) cho mỗi nguồn dữ liệu. Bạn có thể chỉ định một trong các loại dữ liệu này khi bạn tạo nguồn dữ liệu và bạn có thể lấy tên của loại dữ liệu cũng như danh sách các trường của loại dữ liệu đó khi bạn truy xuất nguồn dữ liệu từ kho dữ liệu thể dục.

Ví dụ: bản trình bày nguồn dữ liệu chỉ định kiểu 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 ứng dụng truy cập. Chúng giúp người dùng nắm được loại dữ liệu mà một ứng dụng muốn truy cập. Các quy tắc này cũng giúp cấp cho ứng dụng quyền sử dụng dữ liệu đó một cách dễ dàng hơn bằng cách để 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 họ tải ứng dụng của bạn xuống.

Ví dụ về màn hình đồng ý theo phạm vi OAuth
Hình 2. Màn hình đồng ý theo phạm vi OAuth.

Sau khi thử nghiệm ứng dụng của mình với một số ít người dùng, trước khi phát hành bạn cần yêu cầu xác minh dựa trên có liên quan đến các loại dữ liệu đó. Đọc qua các loại dữ liệu mà các trang được liên kết ở trên để tìm hiểu phạm vi nào áp dụng cho từng loại dữ liệu.

Ví dụ: nếu ứng dụng của bạn cần đọc và ghi dữ liệu về huyết áp, thì ứng dụng cần khai báo chức năng đó đang đọ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, 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 phòng 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 phạm vi mà người dùng được nhắc để cấp quyền. Chỉ hỏi 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 dễ dàng cấp quyền truy cập vào các phiên bản có giới hạn, rõ ràng các phạm vi mô tả.

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 quyền truy cập có nhạy cảm hoặc bị hạn chế (điều này xác định hoạt động xác minh bạn cần thực hiện):

Phạm vi Mô tả Danh mục
https://www.googleapis.com/auth/fitness.activity.read Đọc dữ liệu hoạt động trên 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 đo cơ thể (chiều cao, cân nặng, tỷ lệ 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 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 tần số 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 nhịp 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 hoà 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 về độ bão hoà oxy 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 trên 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 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 mới giấc ngủ hoặc tần số tim hoặc thêm phạm vi đọc), người dùng sẽ được nhắc ứ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 quyền hoặc từ chối cấp quyền truy cập.

Tốt nhất là bạn nên yêu cầu người dùng uỷ quyền cho các tài nguyên tại thời điểm bạn cần chúng. Làm theo các hướng dẫn về yêu cầu tăng dần uỷ quyền.

Khả năng người dùng cấp quyền truy cập sẽ cao hơn nếu họ hiểu lý do/cách thức ứng dụng của bạn sử dụng dữ liệu nà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õ 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 về quyền cho ứng dụng trên Android.