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