เซสชัน - Android SDK v2 (เดิม)

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

ภาพรวม

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

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

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

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

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

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

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

  • การใช้งานเริ่มต้นมีระยะหมดเวลาของเซสชัน 30 วินาที คุณเปลี่ยนระยะหมดเวลาได้โดยแก้ไขพารามิเตอร์ ga_sessionTimeout ในไฟล์ analytics.xml โดยทำดังนี้
      <-- Set session time out to 60 seconds -- >
      <integer name="ga_sessionTimeout">60</integer>
  • หากแอปยังคงอยู่ในเบื้องหลังนานกว่าระยะหมดเวลาของเซสชัน EasyTracker จะแจ้งว่าต้องมีเซสชันใหม่ และ Hit ถัดไปจะเป็นส่วนหนึ่งของเซสชันใหม่

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

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

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

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

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

// Called after a user successfully signs in to your app.
private void onSignIn() {
  ... // The rest of your onSignIn() code.
  myTracker.setStartSession(true); // Where myTracker is an instance of Tracker.
  myTracker.sendEvent("app_flow", "sign_in", "", null); // First activity of new session.
}