الجلسات - الإصدار 2 من حزمة تطوير البرامج (SDK) لنظام التشغيل Android (الإصدار القديم)

يقدم هذا المستند نظرة عامة عالية المستوى على الجلسات في تحليلات تطبيقات الأجهزة الجوّالة من Google وحزمة SDK من Google Analytics لنظام التشغيل Android، ويصف الطرق المختلفة المتاحة لإدارة الجلسات في تطبيقك.

نظرة عامة

تمثل الجلسة فترة واحدة من تفاعل المستخدم مع تطبيقك. وتعمل الجلسات كحاويات مفيدة للنشاط الذي تم قياسه، بما في ذلك مرات مشاهدة الشاشة والأحداث ومعاملات التجارة الإلكترونية.

بشكل افتراضي، ستجمع "إحصاءات Google" النتائج التي يتم تلقّيها في غضون 30 دقيقة من بعضها البعض في الجلسة نفسها. ومع ذلك، قد يرغب العديد من المطوّرين في تنفيذ طبقة إضافية من إدارة الجلسات تأخذ في الاعتبار حالة تطبيقاتهم، مثلاً وقت تشغيل التطبيق في الخلفية ومدة تشغيله.

سيصف بقية هذا المستند الأساليب المتاحة لتنفيذ هذا المنطق. وتتراوح خياراتك بين إدارة الجلسات المبرمَجة بالكامل التي توفّرها EasyTracker، وإلى إنشاء منطق إدارة الجلسة يدويًا أو استخدام الاثنين معًا.

إدارة الجلسات

سيوضح القسم التالي الطرق المتاحة لك لإدارة الجلسات في تطبيقك.

إدارة الجلسات تلقائيًا باستخدام EasyTracker

يوفر EasyTracker إدارة تلقائية للجلسات يمكنها التعامل مع مهمة بدء جلسات جديدة لك. في ما يلي نظرة عامة حول كيفية عمل إدارة الجلسات التلقائية:

  • تبلغ مدة مهلة الجلسة في عملية التنفيذ التلقائية 30 ثانية. يمكنك تغيير مدّة المهلة عن طريق تعديل المَعلمة ga_sessionTimeout في ملف analytics.xml:
      <-- Set session time out to 60 seconds -- >
      <integer name="ga_sessionTimeout">60</integer>
  • إذا بقي التطبيق في الخلفية لفترة أطول من فترة مهلة الجلسة، ستبلغ EasyTracker عن الحاجة إلى جلسة جديدة وستكون النتيجة التالية جزءًا من جلسة جديدة.

إدارة الجلسات اليدوية

حتى إذا كنت تستخدم إدارة الجلسات المبرمَجة من EasyTracker، قد يكون من المفيد بدء جلسات جديدة يدويًا في الأحداث الرئيسية خلال مراحل نشاط تطبيقك.

على سبيل المثال، قد تحتاج إلى بدء جلسة جديدة يدويًا في كل مرة يسجّل فيها المستخدم الدخول بنجاح إلى تطبيقك. وبما أنّ نية المستخدم من استخدام التطبيق ربما قد تغيّرت أو قد يكون مستخدمًا مختلفًا تمامًا، فإنّ بدء جلسة جديدة عند تسجيل الدخول سيساعد في فصل بيانات الاستخدام ويسهل فهمها في تقاريرك.

لبدء جلسة جديدة، يُرجى الاتصال بالرقم setStartSession(true) . وسيؤدّي ذلك إلى إضافة معلَمة إلى النتيجة المرسَلة التالية تشير إلى أنّه يجب أن تبدأ جلسة جديدة.

نفترض في المثال أدناه أنّه يتم استدعاء 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.
}