يقدّم هذا المستند نظرة عامة على بعض ميزات الضبط المتقدّمة لحزمة تطوير البرامج (SDK) لخدمة "إحصاءات Google" لإصدار Android 2.
نظرة عامة
تستخدم حزمة تطوير البرامج (SDK) لخدمة "إحصاءات Google" لنظام التشغيل Android فئتَين لإدارة الحالة العالمية للتنفيذ وتنفيذ البيانات في خوادم "إحصاءات Google". يلفّ EasyTracker هذه الصفوف لتوفير تسهيل الإعداد وإدارة الجلسات:
GoogleAnalytics
– أغنية منفردة تعالج الحالة العامة في عملية التنفيذ، بما في ذلك الحصول علىTracker
عناصر.Tracker
– الفئة التي ترسل البيانات إليها إلى "إحصاءات Google".
على سبيل المثال، لقياس عرض Activity
بسيط:
import android.app.Activity import com.google.analytics.tracking.android.GoogleAnalytics import com.google.analytics.tracking.android.Tracker /** * A simple Activity that sends a screen view to Google Analytics * when it is displayed to the user. */ public class HomeScreen extends Activity { private Tracker mGaTracker; private GoogleAnalytics mGaInstance; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Get the GoogleAnalytics singleton. Note that the SDK uses // the application context to avoid leaking the current context. mGaInstance = GoogleAnalytics.getInstance(this); // Use the GoogleAnalytics singleton to get a Tracker. mGaTracker = mGaInstance.getTracker("UA-XXXX-Y"); // Placeholder tracking ID. ... // The rest of your onCreate() code. } @Override public void onStart() { super.onStart(); // Send a screen view when the Activity is displayed to the user. mGaTracker.sendView("/HomeScreen"); } }
استخدام أدوات تتبّع متعددة
اعتبارًا من الإصدار 2 من حزمة تطوير البرامج (SDK)، يمكنك استخدام برامج تتبّع متعددة في عملية تنفيذ واحدة، واحدة لكل رقم تعريف تتبّع فريد. يتشارك جميع أدوات التتبّع الولاية نفسها
العالمية التي يملكها GoogleAnalytics
فردك.
في المثال التالي، يتم إرسال مشاهدة شاشة إلى موقعَين منفصلَين باستخدام برنامجَي تتبّع، لكلّ منهما رقم تعريف موقع فريد:
import android.app.Activity import com.google.analytics.tracking.android.GoogleAnalytics import com.google.analytics.tracking.android.Tracker /** * A simple Activity that sends a screen view to Google Analytics * when it is displayed to the user. */ public class HomeScreen extends Activity { private GoogleAnalytics mGaInstance; private Tracker mGaTracker1; private Tracker mGaTracker2; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Get the GoogleAnalytics singleton. mGaInstance = GoogleAnalytics.getInstance(this); // Use the GoogleAnalytics singleton to get two Trackers with // unique property IDs. mGaTracker1 = mGaInstance.getTracker("UA-XXXX-Y"); mGaTracker2 = mGaInstance.getTracker("UA-XXXX-Z"); ... // The rest of your onCreate() code. } @Override public void onStart() { super.onStart(); // Send a screen view to "UA-XXXX-Y" the Activity is displayed to the user. mGaTracker1.sendView("/HomeScreen"); // Send another screen view to the second property, "UA-XXXX-Z". mGaTracker2.sendView("/Home"); } }
ضع في اعتبارك أن ميزات القياس المُبرمَجة التي توفّرها أداة EasyTracker لن تستخدم سوى أداة التتبّع التلقائية لإجراء مكالماتها. إذا كنت تستخدم ميزات EasyTracker هذه وكنت تريد إرسال بيانات باستخدام أدوات التتبع الأخرى، ستحتاج إلى إجراء ذلك يدويًا.
المتتبع التلقائي
على الرغم من أن أداة التنفيذ قد تستخدم برامج تتبع متعددة، فإنها تحتوي عالميًا على أداة تتبع تلقائية واحدة. تصبح عملية Tracker
الأولى التي تم استردادها هي أداة التتبّع
التلقائية.
للحصول على أداة التتبُّع التلقائية، استخدِم:
// Get singleton. GoogleAnalytics myInstance = GoogleAnalytics.getInstance(this); // Get default tracker. Tracker myDefault = myInstance.getDefaultTracker();
لضبط أداة التتبُّع التلقائية، استخدِم:
// First get a tracker using a new property ID. Tracker newTracker = myInstance.getTracker("UA-XXXX-2"); // Then make newTracker the default tracker globally. myInstance.setDefaultTracker(newTracker);
جارٍ الإرسال
تتم إدارة إعدادات الإرسال من خلال الأغنية المنفردة GAServiceManager
. لضبط فترة الإرسال:
// Set dispatch period to 30 seconds. GAServiceManager.getInstance().setDispatchPeriod(30);
للإرسال يدويًا خارج الفاصل الزمني المُجدوَل:
// Manually dispatch any queued hits. GAServiceManager.getInstance().dispatch();
أخذ العينات
يمكنك تفعيل أخذ العينات من جهة العميل للحد من عدد النتائج المُرسلة إلى "إحصاءات Google". وإذا كان تطبيقك يضم عددًا كبيرًا من المستخدمين أو أرسل كمية كبيرة من البيانات إلى "إحصاءات Google"، سيساعد تفعيل أخذ العينات في ضمان إعداد تقارير بلا انقطاع.
على سبيل المثال، لتفعيل أخذ العينات من جهة العميل بمعدل 50% عبر EasyTracker وXML، استخدم المعلمة التالية في ملف analytics.xml:
<string name="ga_sampleFrequency">50.0</string>
ويمكنك أيضًا تفعيل أخذ العينات من جهة العميل آليًا:
// Get tracker from singleton. GoogleAnalytics gaInstance = GoogleAnalytics.getInstance(this); Tracker tracker = gaInstance.getTracker("UA-XXXX-Y"); // Placeholder property ID. // Set a sample rate of 50%. tracker.setSampleRate(50.0d);
الإيقاف على مستوى التطبيق
يمكنك تفعيل علامة الإيقاف على مستوى التطبيق والتي ستوقِف "إحصاءات Google" في التطبيق بالكامل. وبعد إعدادها، ستظل العلامة ظاهرة طوال فترة استخدام التطبيق أو حتى تتم إعادة ضبطه.
للحصول على إعداد الإيقاف على مستوى التطبيق، استخدِم:
// Get singleton. GoogleAnalytics myInstance = GoogleAnalytics.getInstance(this); // Get the app opt out preference using an AppOptOutCallback. myInstance.requestAppOptOut(new AppOptOutCallback() { @Override public void reportAppOptOut(boolean optOut) { if (optOut) { ... // Alert the user that they've opted out. } }); }
لضبط علامة الإيقاف على مستوى التطبيق، استخدِم:
myInstance.setAppOptOut(appPreferences.userOptOut);
الاختبار وتصحيح الأخطاء
توفّر حزمة تطوير البرامج (SDK) لأداة "إحصاءات Google" لنظام التشغيل Android وضع تصحيح أخطاء يطبع معلومات مفيدة عن البيانات التي يتم إرسالها إلى "إحصاءات Google" في سجلّاتك.
لتفعيل وضع تصحيح الأخطاء باستخدام EasyTracker، عليك إضافة ما يلي إلى
ملف مورد analytics.xml
:
<bool name="ga_debug">true</bool>
لتفعيل وضع تصحيح الأخطاء آليًا، استخدِم:
// Get singleton using application context. GoogleAnalytics myInstance = GoogleAnalytics.getInstance(this); // Enable debug mode. myInstance.setDebug(true);
ستتم طباعة المخرجات إلى logcat باستخدام العلامة GAV2
.