Loại dữ liệu

Google Fit cung cấp một tập hợp các loại dữ liệu về sức khỏe thể chất và tinh thần 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 các điểm dữ liệu. Điểm dữ liệu có thể đại diện cho:

  • Đọc hoặc quan sát tức thời
  • Dữ liệu tổng hợp kèm 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 quá trình quan sát tức thì 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 những trường của một loại dữ liệu và thông tin dấu thời gian. Các điểm đại diện cho các quan sát tức thì bao gồm dấu thời gian và các điểm của 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 chuẩn do nền tảng cung cấp có tiền tố <39;com.google&39;. Ví dụ: com.google.step_count.delta. Các loại dữ liệu này ghi lại dữ liệu đọc nhanh cho dữ liệu sức khỏe thể chất và tinh thần, bao gồm hoạt động thể chất, giấc ngủ và dinh dưỡng. Bất kỳ ứng dụng nào cũng có thể yêu cầu quyền thích hợp để đọc và ghi vào các loại dữ liệu này, ngoại trừ một số loại dữ liệu vị trí mà ứng dụng chỉ viết các loại dữ liệu đó.

Để 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 khỏe
Các loại dữ liệu do nền tảng cung cấp có quyền truy cập hạn chế do dữ liệu có thể mang tính nhạy cảm. Để biết thêm thông tin, hãy xem phần Loại dữ liệu sức khỏe.
Loại dữ liệu tổng hợp
Loại dữ liệu để đọc thông tin về sức khỏe và 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 bài viết Loại dữ liệu tổng hợp.
Các loại dữ liệu tùy chỉnh riêng tư
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 Loại dữ liệu tuỳ chỉnh.

Sử dụng 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 API thể dục với loại dữ liệu phụ thuộc vào những gì bạn muốn thực hiện:

  • Để ghi lại dữ liệu, hãy sử dụng API bản ghi để tạo 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 API lịch sử để gửi yêu cầu đọc cho từng loại dữ liệu.
  • Để chèn dữ liệu trong quá khứ trước đây, 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 API Phiên để chèn hoặc ghi dữ liệu với siêu dữ liệu phiên.

Để tạo các điểm dữ liệu cho đối tượng DataType bất kỳ, hãy chỉ định các giá trị có định dạng chính xác. Ví dụ sau cho bạn biết cách chỉ định mục thực phẩm dưới dạng chuỗi, loại bữa ăn dưới dạng hằng số từ lớp Field và nội dung chất dinh dưỡng dưới dạng giá trị số thự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 đặt 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 của 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 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 truy xuất nguồn dữ liệu từ cửa hàng thể dục.

Chẳng hạn, một đại diện nguồn dữ liệu chỉ định loại dữ liệu của mình như sau:

{
"dataStreamId": "exampleDataSourceId",
...
"dataType": {
  "name": "com.google.step_count.delta"
},
...
}

Phạm vi ủy quyền

Phạm vi ủy quyền bao gồm các nhóm loại dữ liệu mà người dùng có thể ủy quyền cho ứng dụng truy cập. Những sự kiện này giúp người dùng nắm được loại dữ liệu mà ứng dụng muốn truy cập. Các điều khoản này cũng cho phép các ứng dụng dễ dàng sử dụng dữ liệu đó hơn bằng cách không phải phê duyệt từng loại dữ liệu. 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 xin phép bằng phạm vi OAuth
Hình 2.Màn hình xin phép phạm vi OAuth.

Sau khi bạn kiểm thử ứng dụng của mình với một số ít người dùng, trước khi chạy ứ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 các loại dữ liệu đó. Hãy đọc kỹ những trang dữ liệu được liên kết ở trên để nắm được phạm vi á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 huyết áp, thì cần khai báo cả việ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ì bạn chỉ cần yêu cầu phạm vi ghi.

Chọn các loại dữ liệu 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ó 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ỉ yêu cầu các 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 hơn cho những phạm vi được giới hạn và mô tả rõ ràng.

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 có quyền truy cập nhạy cảm hay bị hạn chế (xác định các bước xác minh mà bạn cần thực hiện):

Phạm vi Nội dung 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. Có giới hạn
https://www.googleapis.com/auth/fitness.activity.write Ghi dữ liệu hoạt động vào nền tảng Google Fit Nhạy cảm
https://www.googleapis.com/auth/fitness.blood_glucose.read Đọc dữ liệu đường huyết từ nền tảng Google Fit. Có giới hạn
https://www.googleapis.com/auth/fitness.blood_glucose.write Ghi dữ liệu đường huyết vào nền tảng Google Fit. Nhạy cảm
https://www.googleapis.com/auth/fitness.blood_pressure.read Đọc dữ liệu huyết áp từ nền tảng Google Fit. Có giới hạn
https://www.googleapis.com/auth/fitness.blood_pressure.write Ghi dữ liệu về huyết áp vào nền tảng Google Fit. Nhạy cảm
https://www.googleapis.com/auth/fitness.body.read Đọc dữ liệu đo lường cơ thể (chiều cao, cân nặng, tỷ lệ phần trăm mỡ trong cơ thể) từ nền tảng Google Fit. Có giới hạn
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. Nhạy cảm
https://www.googleapis.com/auth/fitness.body_temperature.read Đọc dữ liệu nhiệt độ cơ thể từ nền tảng Google Fit. Có giới hạn
https://www.googleapis.com/auth/fitness.body_temperature.write Ghi dữ liệu nhiệt độ cơ thể vào nền tảng Google Fit. Nhạy cảm
https://www.googleapis.com/auth/fitness.heart_rate.read Đọc dữ liệu nhịp tim từ nền tảng Google Fit. Có giới hạn
https://www.googleapis.com/auth/fitness.heart_rate.write Ghi dữ liệu nhịp tim vào nền tảng Google Fit. Nhạy cảm
https://www.googleapis.com/auth/fitness.location.read Đọc dữ liệu vị trí từ nền tảng Google Fit. Có giới hạn
https://www.googleapis.com/auth/fitness.location.write Ghi dữ liệu vị trí vào nền tảng Google Fit. Nhạy cảm
https://www.googleapis.com/auth/fitness.nutrition.read Đọc dữ liệu dinh dưỡng trên nền tảng Google Fit. Có giới hạn
https://www.googleapis.com/auth/fitness.nutrition.write Ghi dữ liệu dinh dưỡng vào nền tảng Google Fit. Nhạy cảm
https://www.googleapis.com/auth/fitness.oxygen_saturation.read Đọc dữ liệu về độ bão hòa oxy từ nền tảng Google Fit. Có giới hạn
https://www.googleapis.com/auth/fitness.oxygen_saturation.write Ghi dữ liệu về độ bão hòa oxy vào nền tảng Google Fit. Nhạy cảm
https://www.googleapis.com/auth/fitness.reproductive_health.read Đọc dữ liệu sức khỏe sinh sản trên nền tảng Google Fit. Có giới hạn
https://www.googleapis.com/auth/fitness.reproductive_health.write Ghi dữ liệu sức khỏe sinh sản vào nền tảng Google Fit. Nhạy cảm
https://www.googleapis.com/auth/fitness.sleep.read Đọc dữ liệu giấc ngủ từ nền tảng Google Fit. Có giới hạn
https://www.googleapis.com/auth/fitness.sleep.write Ghi dữ liệu giấc ngủ vào nền tảng Google Fit. Nhạy cảm

Thêm phạm vi mới vào một ứ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ẽ được 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.

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

Người dùng có nhiều khả năng sẽ cấp quyền truy cập 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 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 đặt những 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 dành cho Android.