เซสชัน

เซสชันเป็นวิธีที่ช่วยให้ผู้ใช้ดูรายการกิจกรรมหลักทั้งหมดที่ทำได้อย่างรวดเร็วและง่ายดาย โดยจะปรากฏในหน้าบันทึกของแอป 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

คุณสามารถใช้ Sessions API เพื่อทำสิ่งต่อไปนี้

  • สร้างเซสชันแบบเรียลไทม์
  • แทรกเซสชันในฟิตเนสสโตร์
  • แทรกส่วนกิจกรรมเพื่อรองรับการหยุดชั่วคราวระหว่างการออกกำลังกาย
  • อ่านเซสชันและชุดข้อมูลที่เชื่อมโยงกับเซสชัน
  • เปิดแอปอื่นเพื่อแสดงข้อมูลเกี่ยวกับเซสชันที่แอปนั้นสร้างขึ้น
  • รับ Intent เมื่อแอปอื่นเริ่มเซสชัน

REST

คุณสามารถใช้ Sessions 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

คุณสามารถดูได้ว่าแอปใดแทรกเซสชันและชุดข้อมูลแต่ละรายการ

การสร้างเซสชัน

คุณสร้างเซสชันได้หลายวิธีดังนี้

  • แอปของคุณสามารถสร้างเซสชันได้อย่างมีประสิทธิภาพในลักษณะต่อไปนี้
    • แบบเรียลไทม์ เมื่อผู้ใช้ติดตามกิจกรรมในอุปกรณ์อย่างมีประสิทธิภาพ (Android เท่านั้น) หรือ
    • โดยการแทรกด้วยตนเอง
  • เมื่อผู้ใช้เพิ่มการออกกำลังกายหรือกิจกรรมในแอป Google Fit ด้วยตนเอง

เวลาที่ควรสร้างเซสชัน

คุณกำลังเพิ่มข้อมูลการนอนหลับใช่ไหม

  • ใช่ - สร้างเซสชันและแทรกเซสชันนี้ลงในฟิตเนสสโตร์ด้วยตนเอง เช่น การแทรกเซสชันการนอนหลับ เนื่องจากผู้ใช้ที่มีแอปหรืออุปกรณ์ติดตามการนอนหลับจะไม่โต้ตอบกับอุปกรณ์เพื่อเริ่มและหยุดกิจกรรมการนอนหลับ (ระบบจะติดตามกิจกรรมนี้แบบพาสซีฟ)
  • ไม่ - แอปของคุณอนุญาตให้ผู้ใช้เริ่มและหยุดกิจกรรมได้ไหม

การอ่านเซสชัน

แอปของคุณสามารถอ่านเซสชันได้หลายวิธีดังนี้

  • ค้นหาเซสชันที่เฉพาะเจาะจงที่แอปสร้าง/แทรกโดยใช้ข้อมูลต่อไปนี้
    • ชื่อหรือ
    • รหัส
  • ค้นหาเซสชันทั้งหมดที่แอปสร้าง/แทรกตามระยะเวลา
  • ค้นหาเซสชันที่พร้อมใช้งานทั้งหมดที่สร้างโดยแอปทั้งหมด (รวมถึง Google Fit) ตามระยะเวลา

ดูว่าแหล่งที่มาใดสร้างเซสชัน

คุณสามารถแสดงแอปหรืออุปกรณ์ที่สร้างเซสชันแต่ละรายการให้ผู้ใช้เห็น เซสชันแต่ละรายการมีแหล่งข้อมูลที่เชื่อมโยง ซึ่งมีข้อมูลเกี่ยวกับแอปหรืออุปกรณ์ที่รวบรวมหรือแปลงข้อมูล

Android

ปัจจุบันคุณจะดูได้เฉพาะชื่อแพ็กเกจของเซสชันที่เขียนโดยไคลเอ็นต์ Android หากต้องการดูชื่อแพ็กเกจของแอปที่สร้างเซสชัน ให้ใช้วิธี getAppPackageName คุณสามารถใช้ข้อมูลนี้ในแอปเพื่อแสดงแอปอื่นๆ ที่แทรกเซสชันฟิตเนสให้ผู้ใช้เห็น และแสดงไอคอนของแอปแต่ละรายการเพื่อช่วยให้ผู้ใช้ระบุแอปเหล่านั้นได้

นอกจากนี้ คุณยังเรียกใช้ Intent เพื่อ เปิดแอปอื่นๆ เพื่อแสดงรายละเอียดของเซสชันที่แอปเหล่านั้นสร้างขึ้นได้ด้วย และแอปอื่นๆ ก็สามารถเรียกใช้ Intent เพื่อเปิดแอปของคุณได้เช่นกัน

ดูข้อมูลเพิ่มเติมเกี่ยวกับการค้นหาแหล่งที่มาที่สร้าง เซสชัน

REST

หากต้องการดูชื่อแพ็กเกจของแอป Android ที่สร้างเซสชัน ให้ใช้พร็อพเพอร์ตี้ session.application สำหรับเซสชันที่สร้างขึ้นโดยใช้ REST API ให้ใช้ session.name แทน คุณสามารถใช้ข้อมูลนี้ในแอปเพื่อแสดงแอปอื่นๆ ที่แทรกเซสชันฟิตเนสให้ผู้ใช้เห็น และแสดงไอคอนของแอปแต่ละรายการเพื่อช่วยให้ผู้ใช้ระบุแอปเหล่านั้นได้

ดูข้อมูลเพิ่มเติมเกี่ยวกับการค้นหาแหล่งที่มาที่สร้าง เซสชัน