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