الإرسال

يوضِّح هذا المستند كيف يمكنك إدارة إرسال البيانات إلى "إحصاءات Google" باستخدام الإصدار 4 من حزمة تطوير البرامج (SDK) لخدمة "إحصاءات Google" لنظام التشغيل Android.

نظرة عامة

إنّ البيانات التي يتم جمعها باستخدام الإصدار 4 من حزمة تطوير البرامج (SDK) لنظام التشغيل Android من "إحصاءات Google" يتم تخزينها محليًا قبل إرسالها إلى "إحصاءات Google" في سلسلة محادثات منفصلة.

يجب إرسال البيانات واستلامها بحلول الساعة 4 صباحًا من اليوم التالي، حسب المنطقة الزمنية المحلية لكل ملف شخصي. ولن تظهر في التقارير أي بيانات يتم تلقّيها بعد ذلك التاريخ. على سبيل المثال، إذا كانت النتيجة مُدرَجة في قائمة الانتظار محليًا عند الساعة 11:59 مساءً، يجب إرسالها في غضون 4 ساعات بحلول الساعة 3:59 صباحًا حتى تظهر في التقارير. من ناحية أخرى، يجب إرسال النتيجة الموضوعة في قائمة الانتظار عند الساعة 12:00 صباحًا في غضون 28 ساعة، أي 3:59 صباحًا من اليوم التالي، لكي تظهر في التقارير.

الإرسال الدوري

بشكلٍ تلقائي، يتم إرسال البيانات من الإصدار 4 من حزمة تطوير البرامج (SDK) لخدمة "إحصاءات Google" لنظام التشغيل Android كل 30 دقيقة.

لضبط فترة الإرسال آليًا:

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

لضبط فترة الإرسال في ملف إعداد XML:

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

سيؤدي ضبط قيمة صفرية أو سالبة إلى إيقاف الإرسال الدوري، ما يتطلّب استخدام الإرسال اليدوي إذا كنت تريد إرسال أي بيانات إلى "إحصاءات Google".

// 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>