डिस्पैच किया जा रहा है

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

खास जानकारी

Android के लिए Google Analytics SDK v4 का इस्तेमाल करके इकट्ठा किए गए डेटा को Google Analytics को अलग थ्रेड पर भेजने से पहले, स्थानीय तौर पर सेव किया जाता है.

डेटा को हर व्यू के स्थानीय टाइमज़ोन में अगले दिन सुबह 4 बजे तक डिस्पैच कर दिया जाना चाहिए. उसके बाद मिलने वाला कोई भी डेटा, रिपोर्ट में नहीं दिखेगा. उदाहरण के लिए, अगर किसी हिट को स्थानीय तौर पर रात 11:59 बजे सूची में डाला जाता है, तो रिपोर्ट में दिखने के लिए उसे सुबह 3:59 बजे तक, चार घंटे में भेज दिया जाना चाहिए. वहीं दूसरी ओर, रात 12:00 बजे की सूची में शामिल किसी हिट को रिपोर्ट में दिखाने के लिए, उसे 28 घंटे यानी कि अगले दिन सुबह 3:59 बजे के अंदर भेज दिया जाना चाहिए.

समय-समय पर डिस्पैच करने की सुविधा

डिफ़ॉल्ट रूप से, Android के लिए Google Analytics SDK v4 से डेटा को हर 30 मिनट में भेजा जाता है.

डिस्पैच अवधि को प्रोग्राम के हिसाब से सेट करने के लिए:

// Set the dispatch period to 90 seconds.
GoogleAnalytics.getInstance(this).setLocalDispatchPeriod(90);

एक्सएमएल कॉन्फ़िगरेशन फ़ाइल में, डिस्पैच पीरियड सेट करने के लिए:

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

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

// Disable periodic dispatch by setting dispatch period to a value less than 1.
GoogleAnalytics.getInstance(this).setLocalDispatchPeriod(0);

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

मैन्युअल तरीके से डिस्पैच करने की सुविधा

हिट को मैन्युअल रूप से भेजने के लिए, उदाहरण के लिए, जब आपको पता हो कि डिवाइस रेडियो का इस्तेमाल पहले से ही अन्य डेटा भेजने के लिए किया जा रहा है:

GoogleAnalytics.getInstance(this).dispatchLocalHits();

बैकग्राउंड की जानकारी भेजना

गैर-Google Play डिवाइसों पर चल रहे ऐप्लिकेशन के लिए, बैकग्राउंड में डिस्पैच करने की सुविधा चालू करने के लिए, कॉन्फ़िगरेशन फ़ाइल ApplicationManifest.xml में:

  • WAKE_LOCK की अनुमति लें.
  • AnalyticsReceiver को रजिस्टर करें.
  • AnalyticsService को रजिस्टर करें.

उदाहरण के लिए:

<manifest>
  <!-- ... -->

  <!-- Get permission for reliable local dispatching on non-Google Play devices. -->
  <uses-permission android:name="android.permission.WAKE_LOCK" />

  <application name="com.example.MyApp">
    <!-- Register AnalyticsReceiver and AnalyticsService to support background
         dispatching on non-Google Play devices. -->
    <receiver android:name="com.google.android.gms.analytics.AnalyticsReceiver"
      android:enabled="true">
      <intent-filter>
        <action android:name="com.google.android.gms.analytics.ANALYTICS_DISPATCH" />
      </intent-filter>
    </receiver>
    <service android:name="com.google.android.gms.analytics.AnalyticsService"
      android:enabled="true"
      android:exported="false"/>

    <!-- ... -->
  </application>
</manifest>