सेशन - Android SDK v2 (लेगसी)

यह दस्तावेज़ Google Mobile ऐप्लिकेशन Analytics और Android v2 के लिए Google Analytics SDK में सेशन का उच्च-स्तरीय अवलोकन देता है और आपके ऐप्लिकेशन में सेशन मैनेज करने के लिए उपलब्ध अलग-अलग तरीकों की जानकारी देता है.

खास जानकारी

सेशन, आपके ऐप्लिकेशन के साथ उपयोगकर्ता इंटरैक्शन की सिर्फ़ एक अवधि को दिखाता है. सेशन, मेज़र की गई गतिविधि के काम के कंटेनर के तौर पर काम करते हैं. इन कंटेनर में स्क्रीन व्यू, इवेंट, और ई-कॉमर्स लेन-देन शामिल हैं.

डिफ़ॉल्ट रूप से, Google Analytics एक ही सेशन में एक-दूसरे के 30 मिनट के अंदर मिलने वाले हिट को ग्रुप कर देगा. हालांकि, ऐसा हो सकता है कि कई डेवलपर अपने ऐप्लिकेशन की स्थिति को ध्यान में रखते हुए, सेशन मैनेजमेंट की एक और लेयर लागू करना चाहें. जैसे, ऐप्लिकेशन बैकग्राउंड में कब और कितने समय के लिए है.

इस दस्तावेज़ के बाकी हिस्से में, उन तरीकों के बारे में बताया गया है जो उस लॉजिक को लागू करने के लिए उपलब्ध हैं. आपके पास EasyTracker की ओर से उपलब्ध कराए गए, पूरी तरह से ऑटोमेटेड सेशन मैनेजमेंट से लेकर, मैन्युअल तौर पर अपना सेशन मैनेजमेंट लॉजिक बनाने या दोनों का इस्तेमाल करने जैसे विकल्प मिलते हैं.

सेशन को मैनेज करना

नीचे दिए सेक्शन में, ऐप्लिकेशन में सेशन मैनेज करने के उपलब्ध तरीकों के बारे में बताया गया है.

EasyTracker का इस्तेमाल करके अपने-आप सेशन मैनेज करने की सुविधा

EasyTracker पर सेशन को अपने-आप मैनेज करने की सुविधा मिलती है. इसकी मदद से, नए सेशन शुरू करने का काम मैनेज किया जा सकता है. ऑटोमेटेड सेशन मैनेजमेंट के काम करने के तरीके की खास जानकारी यहां दी गई है:

  • डिफ़ॉल्ट रूप से लागू करने के दौरान, सेशन खत्म होने की अवधि 30 सेकंड होती है. अपनी analytics.xml फ़ाइल में ga_sessionTimeout पैरामीटर में बदलाव करके, टाइम आउट की अवधि बदली जा सकती है:
      <-- 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.
}