الإرسال - الإصدار 2 من حزمة تطوير البرامج (SDK) لنظام التشغيل Android (الإصدار القديم)

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

نظرة عامة

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

تعتبر عملية الإرسال فريدة لمكتبات المجموعات المتنقلة وهي مصمّمة للتخفيف من صعوبات الوصول إلى الشبكة غير الموثوق به وعمر البطارية المحدود.

هناك نوعان من الإرسال:

  • إرسال دوري : يرسل تلقائيًا النتائج على أساس فاصل زمني متكرر تحدّده بشكل آلي أو في ملف analytics.xml.
  • إرسال يدوي : إرسال النتائج يدويًا لإرسال البيانات عندما يكون ذلك مناسبًا لك، على سبيل المثال عند توفّر اتصال HTTP حالي.

يحدث كلا نوعَي الإرسال خارج سلسلة واجهة المستخدم الرئيسية في الإصدار 2 من حزمة تطوير البرامج (SDK)

سيقدم الجزء المتبقي من هذا المستند نظرة أكثر تفصيلاً على كل نوع من الإرسالات وكيفية تنفيذه في تطبيقك.

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

وبينما يجمع تطبيقك بيانات "إحصاءات Google"، تتم إضافة هذه البيانات إلى قائمة انتظار ويتم إرسالها بشكل دوري إلى "إحصاءات Google". يمكن أن يحدث الإرسال الدوري إما عند تشغيل تطبيقك في المقدّمة أو في الخلفية.

فترة الإرسال الافتراضية هي 30 دقيقة . يمكنك تقديم الفاصل الزمني الخاص بك بالثواني عن طريق استخدام المعلمة ga_dispatchPeriod في ملف analytics.xml أو من خلال استدعاء setDispatchPeriod(int dispatchPeriodInSeconds) كما في هذا المثال:

في ملف analytics.xml:

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

بشكل آلي:

GAServiceManager.getInstance().setDispatchPeriod(60);

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

بعد إرسال جميع النتائج، سيدخل الإرسال الدوري في وضع توفير الطاقة وسيتم إيقافه إلى أن يتم إجراء اتصال إرسال آخر.

إذا فقد المستخدم إمكانية الوصول إلى الشبكة أو أنهى تطبيقك بينما لا تزال هناك نتائج في انتظار الإرسال، تظل هذه النتائج في مساحة التخزين المحلية. وسيتم إرسالها عند تشغيل تطبيقك في المرة التالية التي يتم فيها استدعاء طريقة الإرسال.

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

بخلاف الاعتماد على الإرسال الدوري، قد ترغب في بعض الأحيان في إرسال النتائج يدويًا. على سبيل المثال، يمكنك تجميع الإرسالات مع طلبات HTTP الأخرى التي يجريها التطبيق لتقليل النفقات العامة.

يمكن إرسال النتائج يدويًا باستخدام مثيل GAServiceManager:

GAServiceManager.getInstance().dispatch();