เซสชันคือวิธีที่ผู้ใช้สามารถดูรายการ กิจกรรมที่พวกเขาทำ โดยจะปรากฏในหน้ารายการบันทึกของแอป Google Fit สำหรับ เช่น เซสชันการหายใจ การเดิน การวิ่ง หรือการนอนตอนกลางคืนนั้น ตัวอย่างของเซสชัน
เซสชันจะจัดกลุ่มชุดข้อมูลจากระยะเวลาหนึ่งๆ ซึ่งมีการรวบรวมระหว่าง กิจกรรม เช่น หากผู้ใช้ติดตามเมื่อเริ่มและวิ่งออกกำลังกายระยะทาง 3 กม. แล้ว อาจมีการสร้างเซสชันขึ้นมา และข้อมูลการออกกำลังกายทั้งหมดที่อยู่ในช่วงเวลานั้น ระยะเวลา (เช่น จำนวนก้าว ความเร็ว ระยะทาง) จะเชื่อมโยงกับเซสชันนั้น
เซสชันเองจะไม่มีรายละเอียดเกี่ยวกับกิจกรรม ขั้นตอนนี้อยู่ใน ชุดข้อมูล เซสชันมีพร็อพเพอร์ตี้ต่อไปนี้
- ชื่อที่สื่อความหมายและเข้าใจง่าย (เช่น " Morning Run")
- คำอธิบาย
- ตัวระบุที่ไม่ซ้ำกัน
- ประเภทกิจกรรมที่กล้องกำลังบันทึก (เช่น การวิ่ง)
ประโยชน์ของการใช้เซสชัน
- มีประโยชน์สำหรับผู้ใช้: เซสชันจะช่วยจัดระเบียบข้อมูลกิจกรรมและการออกกำลังกายใน ที่มีความหมายต่อผู้ใช้ พวกเขาจะสามารถดูกิจกรรมทั้งหมดของตัวเองของวันนั้นได้ใน หน้าบันทึกในแอป 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
คุณจะใช้ Sessions API เพื่อทำสิ่งต่อไปนี้ได้
- สร้างเซสชันแบบเรียลไทม์
- แทรกเซสชันในฟิตเนส
- แทรกกลุ่มกิจกรรมเพื่อรองรับการหยุดชั่วคราวระหว่างออกกำลังกาย
- อ่านเซสชันและชุดข้อมูลที่เชื่อมโยงกับเซสชัน
- เปิดแอปอื่นเพื่อแสดงข้อมูลเกี่ยวกับเซสชันที่แอปสร้างขึ้น
- รับ Intent เมื่อแอปอื่นเริ่มเซสชัน
REST
คุณจะใช้ Sessions API เพื่อทำสิ่งต่อไปนี้ได้
- สร้างเซสชันแบบเรียลไทม์
- แทรกเซสชันในฟิตเนส
- แทรกกลุ่มกิจกรรมเพื่อรองรับการหยุดชั่วคราวระหว่างออกกำลังกาย
- อ่านเซสชันและชุดข้อมูลที่เชื่อมโยงกับเซสชัน
วิธีที่ชุดข้อมูลและกลุ่มโต้ตอบกับเซสชัน
ใน Google Fit
- ชุดข้อมูลแสดงชุดของจุดข้อมูลจาก แหล่งข้อมูลในระยะเวลาที่เจาะจง คุณสามารถแทรกชุดข้อมูลได้ ของตัวเอง แต่ถ้าคุณกำลังสร้างเซสชัน การสร้างเซสชันอาจง่ายกว่า เซสชันและชุดข้อมูล เข้าด้วยกัน
- กลุ่มจะจัดกลุ่มชุดข้อมูลในเซสชันตามกิจกรรมที่ผู้ใช้ต้องการ ที่กำลังทำในเซสชัน ตัวอย่างเช่น หากผู้ใช้ติดตามการวิ่ง 30 นาที (ฟิลด์ แต่ได้ใช้เวลาสักเล็กน้อยในระหว่างนี้ อาจแบ่งออกเป็น กลุ่ม ก็จะมีช่วงสำหรับการวิ่ง แล้วก็ช่วงพักการเดิน แล้วก็เวลา ทำงานอีกครั้ง
![](https://developers-dot-devsite-v2-prod.appspot.com/static/fit/images/timeline.png?authuser=0000&hl=th)
รูปที่ 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 สร้างกลุ่มเหล่านี้อย่างค่อยเป็นค่อยไป
เซสชันการอ่าน
แอปของคุณอ่านเซสชันได้ 3 วิธีดังนี้
- มองหาเซสชันที่ถูกสร้างขึ้น/แทรกโดย
- ชื่อหรือ
- รหัส
- มองหาเซสชันทั้งหมดที่สร้าง/แทรกตามระยะเวลา
- มองหาเซสชันที่มีอยู่ทั้งหมดซึ่งสร้างโดยแอปทั้งหมด (รวมถึง Google Fit) ตามช่วงเวลา
ดูว่าแหล่งที่มาใดสร้างเซสชัน
คุณสามารถแสดงให้ผู้ใช้เห็นว่าแอปหรืออุปกรณ์ใดสร้างแต่ละเซสชันของตน ชิ้น เซสชันมีแหล่งข้อมูลที่เชื่อมโยง ซึ่งมีข้อมูลเกี่ยวกับแอปหรือ อุปกรณ์ที่รวบรวมหรือเปลี่ยนแปลงข้อมูล
Android
ขณะนี้คุณดูได้เฉพาะชื่อแพ็กเกจของเซสชันที่เขียนโดย Android
ของคุณ หากต้องการดูชื่อแพ็กเกจของแอปที่สร้างเซสชัน ให้ใช้
getAppPackageName
คุณสามารถใช้ข้อมูลนี้ในแอปเพื่อแสดง
ผู้ใช้ที่แอปอื่นๆ แทรกเซสชันการออกกำลังกาย คุณสามารถแสดงไอคอนสำหรับ
แต่ละรายการต่อไปนี้
แอปเพื่อช่วยให้ผู้ใช้ระบุแอปได้ง่าย
และคุณยังเรียกใช้ ความตั้งใจที่จะ เปิดแอปอื่นๆ เพื่อแสดงรายละเอียดเซสชันที่ผู้ใช้สร้างขึ้น แอปอื่นๆ ยังสามารถ เริ่มการทำงานของความตั้งใจที่จะเปิดแอปของคุณ
ดูข้อมูลเพิ่มเติมเกี่ยวกับการค้นหาแหล่งที่มาที่สร้าง เซสชัน
REST
หากต้องการดูชื่อแพ็กเกจของแอป Android ที่สร้างเซสชัน ให้ใช้
session.application
สำหรับเซสชันที่สร้างขึ้นโดยใช้
API ของ REST ให้ใช้พร็อพเพอร์ตี้ session.name
แทน คุณใช้
ข้อมูลของคุณในแอปของคุณเพื่อแสดงให้ผู้ใช้เห็นว่าแอปอื่นๆ ได้แทรกเนื้อหาเกี่ยวกับการออกกำลังกายใดไว้บ้าง
เซสชัน คุณสามารถแสดงไอคอนของแต่ละแอปเพื่อช่วยให้ผู้ใช้ระบุ
ให้พวกเขา
ดูข้อมูลเพิ่มเติมเกี่ยวกับการค้นหาแหล่งที่มาที่สร้าง เซสชัน