این سند یک نمای کلی از جلسات در Google Mobile App Analytics و Google Analytics SDK برای iOS نسخه 2 ارائه می دهد و روش های مختلف موجود برای مدیریت جلسات در برنامه شما را شرح می دهد.
بررسی اجمالی
یک جلسه نشان دهنده یک دوره واحد از تعامل کاربر با برنامه شما است. جلسات بهعنوان محفظههای مفیدی از فعالیتهای اندازهگیری شده، که شامل نمایشهای صفحه، رویدادها، و تراکنشهای تجارت الکترونیک است، عمل میکنند.
به طور پیشفرض، Google Analytics بازدیدهایی را که در فاصله 30 دقیقه از یکدیگر دریافت میشوند در همان جلسه گروهبندی میکند. با این حال، بسیاری از توسعه دهندگان ممکن است بخواهند یک لایه اضافی از مدیریت جلسه را پیاده سازی کنند که وضعیت برنامه آنها را در نظر می گیرد، مانند زمانی که برنامه در پس زمینه است و برای چه مدت.
بقیه این سند روشهای موجود برای پیادهسازی آن منطق را شرح میدهد. گزینه های شما از مدیریت جلسه کاملاً خودکار ارائه شده توسط EasyTracker تا ایجاد دستی منطق مدیریت جلسه خود یا استفاده از ترکیبی از هر دو متغیر است.
مدیریت جلسات
در بخش زیر روشهای در دسترس شما برای مدیریت جلسات در برنامهتان توضیح داده میشود.
مدیریت خودکار جلسات
Google Analytics SDK برای 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. }