الجلسات - حزمة تطوير البرامج (SDK) لنظام التشغيل iOS

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

نظرة عامة

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

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

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

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

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

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

توفر حزمة تطوير البرامج (SDK) لإحصاءات Google لنظام التشغيل iOS إدارة جلسات تلقائية يمكنها التعامل مع عملية بدء جلسات جديدة من أجلك. في ما يلي نظرة عامة على آلية عمل إدارة الجلسات المُبرمَجة:

  • يستغرق التنفيذ التلقائي فترة مهلة 30 ثانية. يمكنك تغيير فترة المهلة من خلال الاتصال setSessionTimeout:(NSTimeInterval):
      [tracker setSessionTimeout:60];
  • إذا بقي التطبيق في الخلفية لفترة أطول من مدة مهلة الجلسة، ستكون النتيجة التالية جزءًا من جلسة جديدة.

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

قد يكون من المفيد بدء الجلسات الجديدة يدويًا في الأحداث الرئيسية ضمن مراحل نشاط تطبيقك.

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

لبدء جلسة جديدة، اضبط sessionStart على YES. سيؤدي ذلك إلى إضافة مَعلمة إلى النتيجة المُرسَلة التالية للإشارة إلى ضرورة بدء جلسة جديدة.

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

}