เซสชัน

เซสชันช่วยให้ผู้ใช้ดูรายการกิจกรรมหลักทั้งหมดที่ทําได้อย่างรวดเร็วและง่ายดาย โดยจะปรากฏในหน้าแอป 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: แอปต่างๆ จะเพิ่มเซสชันและชุดข้อมูลไปยัง [fitness store]

รูปที่ 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

ควรสร้างเซสชันเมื่อใด

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

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

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

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

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

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

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

Android

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

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

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

REST

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

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