เซสชัน

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

  • datasetแสดงชุดของจุดข้อมูลจาก แหล่งข้อมูลในระยะเวลาที่เจาะจง คุณสามารถแทรกชุดข้อมูลได้ ของตัวเอง แต่หากต้องการสร้างเซสชัน คุณอาจสร้างเซสชันและชุดข้อมูลของเซสชันพร้อมกันได้ง่ายกว่า
  • กลุ่มจะจัดกลุ่มชุดข้อมูลในเซสชันตามกิจกรรมที่ผู้ใช้ทําในเซสชัน ตัวอย่างเช่น หากผู้ใช้ติดตามการวิ่ง 30 นาที ( แต่ได้ใช้เวลาสักเล็กน้อยในระหว่างนี้ อาจแบ่งออกเป็น กลุ่ม จะมีการแบ่งออกเป็นช่วงการวิ่ง ช่วงพักเดิน แล้ววิ่งต่อ
รูปที่ 1: แอปต่างๆ เพิ่มเซสชันและชุดข้อมูลลงใน [Fitness Store]

รูปที่ 1 แสดงช่วงเวลาในฟิตเนสระหว่างที่แอป A, B และ C ได้ทำการแทรก ชุดข้อมูลและเซสชันบางรายการ

  • แอป ก แทรกชุดข้อมูล ก1 และ ก2 ร่วมกับเซสชัน 1 และ ก3 โดยแยกจากเซสชันอื่นๆ
  • แอป B ได้แทรกชุดข้อมูล B1 และ B2 ร่วมกับเซสชัน 2
  • แอป C ได้แทรกชุดข้อมูล C1 โดยไม่ขึ้นอยู่กับเซสชันใดๆ

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

  • ชุดข้อมูล A1
  • ชุดข้อมูล A2
  • ส่วนของชุดข้อมูล A3 ระหว่าง t1 ถึง t2
  • ส่วนของชุดข้อมูล C1 ระหว่าง t1 ถึง t2

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

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

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

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

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

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

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

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

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

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

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

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

Android

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

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

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

REST

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

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