Phiên là cách để người dùng nhanh chóng và dễ dàng xem danh sách tất cả các hoạt động chính mà họ đã thực hiện. Chúng xuất hiện trên trang nhật ký của ứng dụng Google Fit. Ví dụ: một phiên tập thở, một buổi đi bộ, một buổi chạy hoặc một giấc ngủ đêm đều là ví dụ về một phiên.
Phiên hoạt động nhóm các tập dữ liệu từ một khoảng thời gian cụ thể, được thu thập trong một hoạt động. Ví dụ: nếu người dùng theo dõi thời điểm họ bắt đầu và kết thúc một lần chạy 3 km, thì một phiên có thể được tạo và tất cả dữ liệu thể dục trong khoảng thời gian đó (chẳng hạn như số bước, tốc độ, khoảng cách) sẽ được liên kết với phiên đó.
Bản thân các phiên không chứa thông tin chi tiết về hoạt động. Đây là dữ liệu trong tập dữ liệu. Phiên có các thuộc tính sau:
- Một tên mô tả, thân thiện (ví dụ: "chạy bộ buổi sáng")
- Một mô tả
- Giá trị nhận dạng riêng biệt
- Loại hoạt động mà ứng dụng đang ghi lại (ví dụ: chạy bộ)
Lợi ích của việc sử dụng phiên
- Hữu ích cho người dùng: Các phiên giúp bạn sắp xếp dữ liệu hoạt động và bài tập một cách có ý nghĩa cho người dùng. Họ có thể xem tất cả hoạt động của mình trong ngày trên trang Nhật ký trong ứng dụng Google Fit.
- Trải nghiệm nhất quán cho người dùng: Nếu ứng dụng hoặc thiết bị đồng hành của bạn cho phép theo dõi hoạt động (nơi người dùng có thể bắt đầu và dừng một hoạt động), thì việc có các phiên cho những bài tập này sẽ giúp người dùng xem được hoạt động của họ trên cả hai ứng dụng.
- Dữ liệu đầy đủ hơn: Google Fit cũng hợp nhất dữ liệu từ nhiều nguồn để bổ sung và làm phong phú thông tin về phiên tập luyện của bạn. Điều này giúp người dùng hiểu rõ hơn về hoạt động của họ.
- Khai thác nền tảng Google Fit: Nếu người dùng không theo dõi hoạt động hoặc ứng dụng của bạn không hỗ trợ tính năng theo dõi, bạn vẫn có thể đọc các phiên trong Google Fit. Bạn có thể truy vấn dữ liệu chi tiết hoặc dữ liệu tổng hợp từ cửa hàng thể dục và tìm các phiên có sẵn mà không cần triển khai giản đồ và bộ nhớ riêng.
- Tăng mức độ tương tác của người dùng: Bạn có thể cho người dùng thấy các phiên hiện có và ứng dụng đã tạo các phiên đó. Bằng cách tương tác với các ứng dụng thể dục khác theo cách này, bạn có thể tăng mức độ tương tác của người dùng.
Nhận uỷ quyền của người dùng cho các phiên
Nếu muốn đọc hoặc ghi các phiên, thì ứng dụng của bạn phải được người dùng cấp quyền. Quyền truy cập vào các phiên sử dụng cùng phạm vi uỷ quyền như các loại dữ liệu. Bạn nên yêu cầu quyền truy cập như sau:
Android
Chỉ định loại phiên mà ứng dụng của bạn cần truy cập, bằng cách sử dụng các phương thức thích hợp từ FitnessOptions.
Ví dụ: để đọc các phiên liên quan đến hoạt động chạy, bạn có thể chọn:
val fitnessOptions = FitnessOptions.builder()
.accessActivitySessions(FitnessOptions.ACCESS_READ)
.addDataType(DataType.TYPE_HEART_RATE_BPM, FitnessOptions.ACCESS_READ)
.addDataType(DataType.TYPE_SPEED, FitnessOptions.ACCESS_READ)
.addDataType(DataType.TYPE_LOCATION_SAMPLE, FitnessOptions.ACCESS_READ)
.build()
Ví dụ này chỉ định rằng ứng dụng của bạn muốn truy cập vào siêu dữ liệu phiên hoạt động, đồng thời chỉ định các loại dữ liệu mà ứng dụng muốn đọc trong các phiên đó; các loại dữ liệu tần số tim, tốc độ và vị trí được dùng trong ví dụ này.
REST
Yêu cầu các phạm vi như sau:
- Số phiên có loại hoạt động liên quan đến giấc ngủ:
https://www.googleapis.com/auth/fitness.sleep.readhttps://www.googleapis.com/auth/fitness.sleep.write
- Tất cả các phiên khác:
https://www.googleapis.com/auth/fitness.activity.readhttps://www.googleapis.com/auth/fitness.activity.write
Sử dụng các phiên
Android
Bạn có thể sử dụng Sessions API để:
- Tạo phiên theo thời gian thực
- Chèn các phiên vào bộ nhớ các hoạt động thể chất
- Chèn phân đoạn hoạt động để hỗ trợ các khoảng tạm dừng trong quá trình tập luyện
- Đọc các phiên và tập dữ liệu liên kết với các phiên đó
- Khởi chạy một ứng dụng khác để hiện thông tin về một phiên do ứng dụng đó tạo
- Nhận một ý định khi một ứng dụng khác bắt đầu một phiên
REST
Bạn có thể sử dụng Sessions API để:
- Tạo phiên theo thời gian thực
- Chèn các phiên vào bộ nhớ các hoạt động thể chất
- Chèn phân đoạn hoạt động để hỗ trợ các khoảng tạm dừng trong quá trình tập luyện
- Đọc các phiên và tập dữ liệu liên kết với các phiên đó
Cách tập dữ liệu và phân khúc tương tác với các phiên
Trong Google Fit:
- Tập dữ liệu đại diện cho một tập hợp các điểm dữ liệu từ một nguồn dữ liệu cụ thể trong một khoảng thời gian cụ thể. Bạn có thể chèn các tập dữ liệu riêng. Nhưng nếu đang tạo một phiên, thì bạn nên tạo phiên và tập dữ liệu của phiên cùng nhau.
- Phân khúc nhóm các tập dữ liệu trong một phiên theo chính xác hoạt động mà người dùng đã thực hiện trong phiên đó. Ví dụ: nếu người dùng theo dõi một lượt chạy 30 phút (phiên) nhưng đi bộ trong một khoảng thời gian ngắn trong phiên này, thì phiên đó có thể được chia thành các đoạn. Sẽ có một đoạn chạy, sau đó là đoạn đi bộ, rồi lại chạy.
Hình 1 cho thấy một khoảng thời gian trong cửa hàng thể dục mà trong đó các ứng dụng A, B và C đã chèn một số tập dữ liệu và phiên:
- Ứng dụng A đã chèn tập dữ liệu A1 và A2 cùng với Phiên 1, còn A3 thì độc lập với mọi phiên.
- Ứng dụng B đã chèn tập dữ liệu B1 và B2 cùng với Phiên 2.
- Ứng dụng C đã chèn tập dữ liệu C1 độc lập với mọi phiên.
Khi đọc dữ liệu phiên từ cửa hàng thể dục, tất cả dữ liệu thể chất nằm trong khoảng thời gian của một phiên sẽ tự động được liên kết với phiên đó, ngay cả khi bạn chèn dữ liệu sau khi tạo phiên hoặc tạo phiên sau khi dữ liệu được theo dõi thụ động. Ví dụ: một truy vấn về dữ liệu thể dục từ Phiên 1 sẽ trả về:
- Tập dữ liệu A1
- Tập dữ liệu A2
- Phần của tập dữ liệu A3 trong khoảng thời gian từ t1 đến t2
- Phần của tập dữ liệu C1 trong khoảng thời gian từ t1 đến t2
Bạn có thể biết ứng dụng nào đã chèn từng phiên và tập dữ liệu.
Tạo phiên
Bạn có thể tạo phiên theo một số cách:
- Ứng dụng của bạn có thể chủ động tạo một phiên trong
- trong thời gian thực khi người dùng chủ động theo dõi một hoạt động trên thiết bị (chỉ dành cho Android), hoặc
- bằng cách chèn mã này theo cách thủ công.
- Khi người dùng thêm bài tập hoặc hoạt động theo cách thủ công trong ứng dụng Google Fit.
Thời điểm tạo phiên
Bạn có đang thêm dữ liệu giấc ngủ không?
- Có – Tạo một phiên và chèn phiên này vào bộ nhớ các hoạt động thể chất theo cách thủ công. Ví dụ: chèn một phiên giấc ngủ. Lý do là vì người dùng có ứng dụng hoặc thiết bị theo dõi giấc ngủ sẽ không tương tác với thiết bị để bắt đầu và dừng hoạt động ngủ (hoạt động này được theo dõi một cách thụ động).
- Không – Ứng dụng của bạn có cho phép người dùng bắt đầu và dừng các hoạt động không?
- Không – Không tạo phiên. Chỉ thêm tập dữ liệu từ ứng dụng của bạn.
- Có – Với Android API, hãy tạo một phiên theo thời gian thực nếu người dùng theo dõi hoạt động của họ hoặc theo cách thủ công. Với REST API, hãy tạo một phiên và chèn phiên này vào bộ nhớ các hoạt động thể chất theo cách thủ công.
- Ứng dụng của bạn có thể phát hiện thời điểm người dùng đang thực hiện các hoạt động khác nhau ở cấp độ chi tiết hơn (ví dụ: đi bộ so với chạy) không?
- Có – Thêm phân đoạn.
- Không – Chỉ thêm tập dữ liệu. Tạm thời bỏ qua các đoạn và để Google Fit tự động tạo các đoạn này.
Đọc phiên
Ứng dụng của bạn có thể đọc các phiên theo một số cách:
- Tìm một phiên cụ thể mà ứng dụng đã tạo/chèn theo
- Tên hoặc
- ID
- Tìm tất cả các phiên mà ứng dụng đã tạo/chèn, theo khoảng thời gian
- Tìm tất cả các phiên do mọi ứng dụng (kể cả Google Fit) tạo theo khoảng thời gian
Tìm hiểu những nguồn đã tạo ra một phiên
Bạn có thể cho người dùng biết ứng dụng hoặc thiết bị nào đã tạo mỗi phiên của họ. Mỗi phiên đều có một nguồn dữ liệu được liên kết, chứa thông tin về ứng dụng hoặc thiết bị đã thu thập hoặc chuyển đổi dữ liệu.
Android
Hiện tại, bạn chỉ có thể lấy tên gói của một phiên do ứng dụng Android viết. Để lấy tên gói của ứng dụng đã tạo một phiên, hãy sử dụng phương thức getAppPackageName. Bạn có thể dùng thông tin này trong ứng dụng để cho người dùng biết những ứng dụng khác đã chèn các phiên tập thể dục. Bạn có thể hiển thị biểu tượng cho từng ứng dụng này để giúp người dùng xác định các ứng dụng đó.
Bạn cũng có thể kích hoạt một ý định để chạy các ứng dụng khác nhằm cho thấy thông tin chi tiết về các phiên mà ứng dụng đã tạo. Các ứng dụng khác cũng có thể kích hoạt một ý định để chạy ứng dụng của bạn.
Tìm hiểu thêm về cách tìm nguồn đã tạo một phiên.
REST
Để lấy tên gói của ứng dụng Android đã tạo các phiên, hãy sử dụng thuộc tính session.application. Đối với những phiên được tạo bằng REST API, hãy sử dụng thuộc tính session.name. Bạn có thể sử dụng thông tin này trong ứng dụng của mình để cho người dùng biết những ứng dụng khác đã chèn các phiên tập thể dục. Bạn có thể hiện biểu tượng của từng ứng dụng này để giúp người dùng xác định chúng.
Tìm hiểu thêm về cách tìm nguồn đã tạo một phiên.