เซสชัน

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

ชุดข้อมูลกลุ่มเซสชันจากระยะเวลาที่เจาะจงซึ่งมีการรวบรวมระหว่างกิจกรรม ตัวอย่างเช่น หากผู้ใช้ติดตามเวลาที่พวกเขาเริ่มและวิ่ง 3 กม. ระบบอาจสร้างเซสชันขึ้นมา 1 เซสชัน และข้อมูลการออกกำลังกายทั้งหมดที่อยู่ภายในระยะเวลานั้น (เช่น จำนวนก้าว ความเร็ว ระยะทาง) จะเชื่อมโยงกับเซสชันนั้น

เซสชันจะไม่มีรายละเอียดเกี่ยวกับกิจกรรม ซึ่งอยู่ในชุดข้อมูลนี้ เซสชันมีพร็อพเพอร์ตี้ต่อไปนี้

  • ชื่อที่สื่อความหมายและเข้าใจง่าย (เช่น "การวิ่งตอนเช้า")
  • คำอธิบาย
  • ตัวระบุที่ไม่ซ้ำกัน
  • ประเภทกิจกรรมที่มันบันทึกไว้ (เช่น การวิ่ง)

ประโยชน์ของการใช้เซสชัน

  • มีประโยชน์สำหรับผู้ใช้: เซสชันช่วยให้คุณจัดระเบียบข้อมูลกิจกรรมและการออกกำลังกายในลักษณะที่เป็นประโยชน์กับผู้ใช้ ดูกิจกรรมทั้งหมดของตนในวันนั้นๆ ได้ในหน้าบันทึกในแอป 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 และ 2
  • ส่วนของชุดข้อมูล C1 ระหว่าง t1 และ t2

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

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

การสร้างเซสชันทำได้หลายวิธี ดังนี้

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

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

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

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

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

แอปอ่านเซสชันได้ 3 วิธีดังนี้

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

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

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

Android

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

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

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

REST

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

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