เซสชันช่วยให้ผู้ใช้ดูรายการกิจกรรมหลักทั้งหมดที่ทําได้อย่างรวดเร็วและง่ายดาย โดยจะปรากฏในหน้าแอป Google Fit เช่น เซสชันการหายใจ การเดิน การวิ่ง หรือการนอนหลับ โดยเป็นตัวอย่างของเซสชัน
เซสชันกลุ่มจะจัดกลุ่มชุดข้อมูลจากระยะเวลาหนึ่งๆ ซึ่งเก็บรวบรวมระหว่างกิจกรรม ตัวอย่างเช่น หากผู้ใช้ติดตามเมื่อเริ่มวิ่งและวิ่งไปแล้ว 3 กม. ระบบอาจสร้างเซสชันและข้อมูลการออกกําลังกายทั้งหมดภายในระยะเวลานั้น (เช่น จํานวนก้าว ความเร็ว ระยะทาง) จะเชื่อมโยงกับเซสชันนั้น
เซสชันเองไม่มีรายละเอียดเกี่ยวกับกิจกรรม ข้อมูลนี้อยู่ในชุดข้อมูล เซสชันมีพร็อพเพอร์ตี้ต่อไปนี้
- ชื่อที่สื่อความหมายและเป็นมิตร (เช่น "เช้าวิ่ง&การเสนอราคา)
- คำอธิบาย
- ตัวระบุที่ไม่ซ้ํากัน
- ประเภทของกิจกรรมที่บันทึก (เช่น การวิ่ง)
ประโยชน์ของการใช้เซสชัน
- มีประโยชน์สําหรับผู้ใช้: เซสชันช่วยให้คุณจัดระเบียบข้อมูลกิจกรรมและการออกกําลังกายในลักษณะที่เป็นประโยชน์ต่อผู้ใช้ และจะดูกิจกรรมทั้งหมดของวัน ในหน้าบันทึกในแอป Google Fit ได้
- ประสบการณ์ของผู้ใช้ที่สอดคล้องกัน: หากแอปหรืออุปกรณ์ที่ใช้ร่วมกันอนุญาตให้มีการติดตามกิจกรรม (ซึ่งผู้ใช้จะเริ่มและหยุดกิจกรรมได้) การมีเซสชันสําหรับการออกกําลังกายเหล่านี้ช่วยให้ผู้ใช้เห็นกิจกรรมของตนเองในทั้ง 2 แอป
- ข้อมูลครบถ้วนมากขึ้น: Google Fit ยังรวมข้อมูลจากแหล่งที่มาหลายๆ แห่งเพื่อเสริมและเพิ่มข้อมูลให้กับเซสชัน ซึ่งจะช่วยให้ผู้ใช้เห็นภาพที่สมบูรณ์ขึ้นของกิจกรรม
- ใช้ประโยชน์จากแพลตฟอร์ม Google Fit: หากผู้ใช้ไม่ติดตามกิจกรรม หรือหากแอปไม่รองรับการติดตาม คุณจะยังอ่านเซสชันใน Google Fit ได้ คุณสามารถค้นหาข้อมูลอย่างละเอียดหรือรวบรวมจากฟิตเนส และค้นหาเซสชันที่พร้อมใช้งานได้โดยไม่ต้องใช้สคีมาและพื้นที่เก็บข้อมูลของคุณเอง
- การมีส่วนร่วมของผู้ใช้ที่เพิ่มขึ้น: คุณแสดงเซสชันที่ผู้ใช้มีอยู่และแอปที่สร้างไว้ได้ การโต้ตอบกับแอปฟิตเนสอื่นๆ ด้วยวิธีนี้ อาจช่วยเพิ่มการมีส่วนร่วมของผู้ใช้
การให้สิทธิ์ผู้ใช้สําหรับเซสชัน
หากต้องการอ่านหรือเขียนเซสชัน แอปต้องได้รับสิทธิ์จากผู้ใช้ การเข้าถึงเซสชันใช้ขอบเขตการให้สิทธิ์แบบเดียวกับประเภทข้อมูล ซึ่งคุณควรขอดังต่อไปนี้
Android
ระบุประเภทเซสชันที่แอปจําเป็นต้องเข้าถึงโดยใช้วิธีการที่เหมาะสมจาก FitnessOptions
ตัวอย่างเช่น หากต้องการอ่านเซสชันที่เกี่ยวข้องกับการวิ่ง คุณอาจเลือกตัวเลือกต่อไปนี้
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()
ตัวอย่างนี้ระบุว่าแอปต้องการเข้าถึงข้อมูลเมตาของเซสชันกิจกรรม และจะระบุประเภทข้อมูลที่ต้องการอ่านภายในเซสชันเหล่านั้นด้วย โดยใช้อัตราการเต้นของหัวใจ ความเร็ว และข้อมูลตําแหน่งในตัวอย่างนี้
REST
ขอขอบเขตดังนี้
- เซสชันที่มีประเภทกิจกรรมการนอนหลับ
https://www.googleapis.com/auth/fitness.sleep.read
https://www.googleapis.com/auth/fitness.sleep.write
- เซสชันอื่นๆ ทั้งหมด:
https://www.googleapis.com/auth/fitness.activity.read
https://www.googleapis.com/auth/fitness.activity.write
การใช้เซสชัน
Android
คุณสามารถใช้ API เซสชันเพื่อทําสิ่งต่อไปนี้ได้
- สร้างเซสชันแบบเรียลไทม์
- แทรกเซสชันในศูนย์ฟิตเนส
- แทรกกลุ่มกิจกรรมเพื่อสนับสนุนการหยุดชั่วคราวระหว่างออกกําลังกาย
- อ่านเซสชันและชุดข้อมูลที่เกี่ยวข้อง
- เปิดแอปอื่นเพื่อแสดงข้อมูลเกี่ยวกับเซสชันที่แอปสร้างขึ้น
- รับความตั้งใจเมื่อแอปอื่นเริ่มเซสชัน
REST
คุณสามารถใช้ API เซสชันเพื่อทําสิ่งต่อไปนี้ได้
- สร้างเซสชันแบบเรียลไทม์
- แทรกเซสชันในศูนย์ฟิตเนส
- แทรกกลุ่มกิจกรรมเพื่อสนับสนุนการหยุดชั่วคราวระหว่างออกกําลังกาย
- อ่านเซสชันและชุดข้อมูลที่เกี่ยวข้อง
ชุดข้อมูลและกลุ่มโต้ตอบกับเซสชันอย่างไร
ใน Google Fit
- ชุดข้อมูลแสดงถึงชุดข้อมูลจากแหล่งข้อมูลที่เจาะจงในระยะเวลาที่ต้องการ สามารถแทรกชุดข้อมูลได้เอง แต่หากคุณสร้างเซสชัน การสร้างเซสชันและชุดข้อมูลร่วมกันอาจง่ายกว่า
- กลุ่มจะจัดกลุ่มชุดข้อมูลในเซสชันตามกิจกรรมที่แน่นอนของผู้ใช้ที่ทําในเซสชัน เช่น หากผู้ใช้ติดตามการวิ่ง 30 นาที (เซสชัน) แต่เดินไปสักระยะหนึ่งระหว่างช่วงนี้ ระยะเวลาอาจแบ่งออกเป็นกลุ่มต่างๆ อาจมี 1 กลุ่มสําหรับการเดิน การเว้นระยะห่างจากการเดิน และการวิ่งอีกครั้ง
รูปที่ 1 แสดงช่วงเวลาในร้านฟิตเนสที่แอป A, B และ C แทรกชุดข้อมูลและเซสชันบางรายการ
- แอป A แทรกชุดข้อมูล A1 และ A2 ควบคู่กับเซสชันที่ 1 และ A3 แยกจากแต่ละเซสชัน
- แอป B แทรกชุดข้อมูล B1 และ B2 เข้ากับเซสชัน 2
- แอป C แทรกชุดข้อมูล C1 แยกจากเซสชันใดก็ได้
เมื่ออ่านข้อมูลเซสชันจากร้านฟิตเนส ระบบจะเชื่อมโยงข้อมูลการออกกําลังกายทั้งหมดภายในระยะเวลาหนึ่งๆ กับเซสชันนั้นโดยอัตโนมัติ แม้ว่าคุณจะแทรกข้อมูลหลังจากสร้างเซสชันแล้ว หรือสร้างเซสชันหลังจากที่ติดตามข้อมูลอย่างช้าๆ ก็ตาม เช่น คําค้นหาข้อมูลการออกกําลังกายจากเซสชันที่ 1 จะแสดงผลดังนี้
- ชุดข้อมูล A1
- ชุดข้อมูล A2
- ส่วนของชุดข้อมูล A3 ระหว่าง t1 ถึง t2
- ส่วนของชุดข้อมูล C1 ระหว่าง t1 ถึง t2
คุณจะบอกได้ว่าแอปใดบ้างที่แทรกเซสชันและชุดข้อมูลแต่ละรายการ
การสร้างเซสชัน
การสร้างเซสชันมี 2-3 วิธีดังนี้
- แอปของคุณสามารถสร้างเซสชันอย่างสม่ําเสมอใน
- แบบเรียลไทม์เมื่อผู้ใช้ติดตามกิจกรรมในอุปกรณ์ (Android เท่านั้น) หรือ
- โดยการแทรกด้วยตนเอง
- เมื่อผู้ใช้เพิ่มการออกกําลังกายหรือกิจกรรมด้วยตนเองในแอป Google Fit
ควรสร้างเซสชันเมื่อใด
คุณกําลังเพิ่มข้อมูลการนอนหลับไหม
- ใช่ - สร้างเซสชันและแทรกนี้ลงในร้านฟิตเนสด้วยตนเอง เช่น การแทรกเซสชันการนอนหลับ เนื่องจากผู้ใช้ที่ใช้แอปการติดตามการนอนหลับหรืออุปกรณ์จะไม่โต้ตอบกับอุปกรณ์เพื่อเริ่มต้นและหยุดกิจกรรมการนอนหลับ (การติดตามอย่างช้าๆ)
- ไม่ - แอปของคุณอนุญาตให้ผู้ใช้เริ่มและหยุดกิจกรรมหรือไม่
- ไม่ - ห้ามสร้างเซสชัน เพิ่มชุดข้อมูลจากแอปเท่านั้น
- ใช่ - ใช้ Android API สร้างเซสชันแบบเรียลไทม์ หากผู้ใช้ติดตามกิจกรรมของตน หรือตั้งค่าด้วยตนเอง เมื่อใช้ REST API ให้สร้างเซสชันและแทรกค่านี้ลงในร้านฟิตเนสด้วยตนเอง
- แอปของคุณสามารถตรวจจับได้หรือไม่เมื่อผู้ใช้ทํากิจกรรมต่างๆ อย่างละเอียด
เช่น (การเดินและการวิ่ง)
- ใช่ - เพิ่มกลุ่ม
- ไม่ - เฉพาะเพิ่มชุดข้อมูลเท่านั้น ยังไม่ใส่ใจในตอนนี้ และปล่อยให้ Google Fit สร้างกลุ่มเหล่านี้แบบแพสซีฟ
เซสชันการอ่าน
แอปของคุณสามารถอ่านเซสชันได้ด้วย 2-3 วิธีดังนี้
- มองหาเซสชันที่เจาะจงซึ่งสร้าง/แทรกโดย
- ชื่อหรือ
- รหัส
- ค้นหาเซสชันทั้งหมดที่สร้าง/แทรกตามระยะเวลา
- มองหาเซสชันที่มีอยู่ทั้งหมดซึ่งสร้างโดยแอปทั้งหมด (รวมถึง Google Fit) ตามระยะเวลา
เรียนรู้แหล่งที่มาที่สร้างเซสชัน
คุณจะแสดงให้ผู้ใช้เห็นแอปหรืออุปกรณ์ที่สร้างเซสชันแต่ละรายการได้ แต่ละเซสชันมีแหล่งข้อมูลที่เชื่อมโยง ซึ่งมีข้อมูลเกี่ยวกับแอปหรืออุปกรณ์ที่รวบรวมหรือเปลี่ยนรูปแบบข้อมูล
Android
ขณะนี้คุณจะดูชื่อแพ็กเกจของเซสชันที่เขียนโดยไคลเอ็นต์ Android ได้เท่านั้น หากต้องการดูชื่อแพ็กเกจของแอปที่สร้างเซสชัน ให้ใช้เมธอด getAppPackageName
คุณใช้ข้อมูลนี้ในแอปเพื่อแสดงให้ผู้ใช้เห็นแอปอื่นที่แทรกเซสชันการออกกําลังกายได้ คุณแสดงไอคอนของแอปเหล่านี้แต่ละแอปเพื่อช่วยให้ผู้ใช้ระบุแอปได้
นอกจากนี้คุณยังสั่งให้เปิดแอปเปิดแอปอื่นๆ เพื่อแสดงรายละเอียดของเซสชันที่แอปสร้างได้อีกด้วย ส่วนแอปอื่นๆ ก็อาจทําให้ การเปิดตัวแอปของคุณเสร็จสมบูรณ์
ดูข้อมูลเพิ่มเติมเกี่ยวกับการค้นหาแหล่งที่มาที่สร้างเซสชัน
REST
หากต้องการดูชื่อแพ็กเกจของแอป Android ที่สร้างเซสชัน ให้ใช้พร็อพเพอร์ตี้ session.application
สําหรับเซสชันที่สร้างขึ้นโดยใช้ API ของ REST ให้ใช้พร็อพเพอร์ตี้ session.name
แทน คุณใช้ข้อมูลนี้ในแอปเพื่อแสดงให้ผู้ใช้เห็นแอปอื่นที่แทรกเซสชันการออกกําลังกายได้ คุณสามารถแสดงไอคอนสําหรับแอปเหล่านี้แต่ละแอป
เพื่อช่วยให้ผู้ใช้ระบุแอปดังกล่าว
ดูข้อมูลเพิ่มเติมเกี่ยวกับการค้นหาแหล่งที่มาที่สร้างเซสชัน