เอกสารนี้จะแสดงภาพรวมระดับสูงของเซสชันใน 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. }