เซสชัน - iOS SDK

เอกสารนี้จะแสดงภาพรวมระดับสูงของเซสชันใน Google Mobile App Analytics และ Google Analytics SDK สำหรับ iOS v2 และอธิบายวิธีต่างๆ ที่สามารถใช้ในการจัดการเซสชันในแอปของคุณ

ภาพรวม

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

โดยค่าเริ่มต้น Google Analytics จะจัดกลุ่ม Hit ที่ได้รับภายใน 30 นาทีของกันและกันไว้ในเซสชันเดียวกัน อย่างไรก็ตาม นักพัฒนาซอฟต์แวร์จำนวนมากอาจต้องการใช้การจัดการเซสชันเพิ่มขึ้นอีกชั้น ซึ่งพิจารณาถึงสถานะของแอป เช่น เมื่อแอปอยู่ในเบื้องหลังและระยะเวลาในการทำงาน

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

การจัดการเซสชัน

ส่วนต่อไปนี้จะอธิบายวิธีจัดการเซสชันในแอปของคุณ

การจัดการเซสชันอัตโนมัติ

Google Analytics SDK สำหรับ iOS มอบการจัดการเซสชันอัตโนมัติที่สามารถจัดการงานในการเริ่มต้นเซสชันใหม่ให้คุณได้ ต่อไปนี้เป็นภาพรวมวิธีการทำงานของการจัดการเซสชันอัตโนมัติ

  • การใช้งานเริ่มต้นมีระยะหมดเวลาของเซสชัน 30 วินาที คุณเปลี่ยนระยะหมดเวลาได้โดยเรียกใช้ setSessionTimeout:(NSTimeInterval):
      [tracker setSessionTimeout:60];
  • หากแอปยังคงอยู่ในเบื้องหลังนานกว่าระยะหมดเวลาของเซสชัน Hit ถัดไปจะเป็นส่วนหนึ่งของเซสชันใหม่

การจัดการเซสชันด้วยตนเอง

การเริ่มเซสชันใหม่ด้วยตนเองที่เหตุการณ์สำคัญในวงจรของแอปอาจมีประโยชน์

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

หากต้องการเริ่มเซสชันใหม่ ให้ตั้งค่า sessionStart เป็น YES วิธีนี้จะเพิ่มพารามิเตอร์ไปยัง Hit ที่ส่งถัดไปซึ่งระบุว่าควรเริ่มเซสชันใหม่

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

// Called after a user successfully signs in to your app.
- (void)onSignIn {
  ... // The rest of your onSignIn code.
  tracker.sessionStart = YES;
  [tracker sendEventWithCategory:@"app_flow"
                      withAction:@"sign_in"
                       withLabel:nil
                       withValue:nil]; // First activity of new session.

}