डिस्पैच करना - Android SDK v2 (लेगसी)

इस दस्तावेज़ में बताया गया है कि Android v2 के लिए Google Analytics SDK का इस्तेमाल करके, Google Analytics को डेटा कैसे मैनेज किया जा सकता है.

खास जानकारी

Android के लिए Google Analytics SDK में, स्क्रीन व्यू या इवेंट जैसा इकट्ठा किया गया डेटा Google Analytics सर्वर पर भेजे जाने से पहले स्थानीय रूप से सूची में स्टोर किया जाता है. जिस प्रक्रिया से (जिसे यहां "हिट" कहा गया है) डेटा को SDK टूल से Google Analytics में भेजा जाता है उसे डिस्पैच करने की प्रक्रिया कहा जाता है.

डिस्पैच करने की सुविधा, मोबाइल कलेक्शन लाइब्रेरी के लिए खास है. इसे नेटवर्क के गैर-भरोसेमंद ऐक्सेस और बैटरी लाइफ़ के सीमित होने की चुनौतियों को कम करने के लिए डिज़ाइन किया गया है.

डिस्पैच करने के दो तरीके हैं:

  • किसी समय-समय पर भेजे जाने वाले अपडेट – नियमित अंतराल पर हिट अपने-आप भेजे जाते हैं. इन्हें आपने प्रोग्राम की मदद से या अपनी analytics.xml फ़ाइल में तय किया होता है.
  • मैन्युअल डिस्पैच – आपकी सुविधा के हिसाब से डेटा भेजने के लिए, हिट को मैन्युअल तरीके से डिस्पैच करें. उदाहरण के लिए, जब कोई मौजूदा एचटीटीपी कनेक्शन हो.

दोनों तरह की डिस्पैच, SDK टूल के वर्शन 2 में मुख्य यूज़र इंटरफ़ेस (यूआई) थ्रेड से बाहर होती है

इस दस्तावेज़ के बाकी हिस्से में, हर तरह के डिस्पैच और उन्हें अपने ऐप्लिकेशन में लागू करने के तरीके के बारे में विस्तार से बताया गया है.

समय-समय पर डिस्पैच

जब आपका ऐप्लिकेशन GA डेटा इकट्ठा करता है, तो वह डेटा सूची में जुड़ जाता है और समय-समय पर Google Analytics को भेजा जाता है. समय-समय पर डिस्पैच तब हो सकता है, जब आपका ऐप्लिकेशन फ़ोरग्राउंड में या बैकग्राउंड में चल रहा हो.

डिफ़ॉल्ट डिस्पैच अवधि 30 मिनट है. अपनी analytics.xml फ़ाइल में ga_dispatchPeriod पैरामीटर का इस्तेमाल करके या setDispatchPeriod(int dispatchPeriodInSeconds) को कॉल करके, कुछ सेकंड में अपना इंटरवल दिया जा सकता है, जैसा कि इस उदाहरण में बताया गया है:

आपकी analytics.xml फ़ाइल में:

<integer name="ga_dispatchPeriod">60</integer>

प्रोग्राम के हिसाब से:

GAServiceManager.getInstance().setDispatchPeriod(60);

नेगेटिव वैल्यू सेट करने पर, समय-समय पर डिस्पैच की सुविधा बंद हो जाएगी. इसके बाद, अगर आपको Google Analytics को कोई भी डेटा भेजना है, तो मैन्युअल डिस्पैच का इस्तेमाल करना होगा. वहीं दूसरी ओर, 0 वैल्यू सेट करने से, नेटवर्क कनेक्शन उपलब्ध होने पर हर हिट को तुरंत डिस्पैच किया जाएगा.

सभी हिट भेजे जाने के बाद, समय-समय पर डिस्पैच पावर बचत मोड में चला जाएगा और दूसरा कॉल भेजने तक बंद रहेगा.

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

मैन्युअल डिस्पैच

समय-समय पर डिस्पैच पर निर्भर रहने के अलावा, कई बार ऐसा भी हो सकता है कि आप अपने हिट को मैन्युअल तरीके से भेजना चाहें. उदाहरण के लिए, ओवरहेड कम करने के लिए, अपने ऐप्लिकेशन से किए गए अन्य एचटीटीपी अनुरोधों के साथ डिस्पैच को बंडल किया जा सकता है.

हिट को मैन्युअल तरीके से भेजने के लिए, GAServiceManager इंस्टेंस का इस्तेमाल करें:

GAServiceManager.getInstance().dispatch();