Dokumen ini memberikan gambaran tentang beberapa fitur konfigurasi lanjutan Google Analytics SDK untuk Android v2.
Ringkasan
Google Analytics SDK untuk Android menggunakan dua class untuk mengelola status global penerapan dan mengirimkan data ke server Google Analytics. EasyTracker menggabungkan class ini untuk menyediakan konfigurasi sesi dan pengelolaan sesi yang disederhanakan:
GoogleAnalytics
– singleton yang menangani status global implementasi Anda, termasuk mendapatkan objekTracker
.Tracker
– class yang Anda gunakan untuk mengirim data ke Google Analytics.
Misalnya, untuk mengukur tampilan Activity
sederhana:
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"); } }
Menggunakan Beberapa Pelacak
Mulai versi 2 SDK, Anda dapat menggunakan beberapa pelacak dalam satu penerapan, satu pelacak per ID pelacakan unik. Semua pelacak memiliki status global
yang sama yang dipegang oleh singleton
GoogleAnalytics
Anda.
Pada contoh berikut, tampilan layar dikirim ke dua properti terpisah menggunakan dua pelacak, masing-masing dengan ID properti uniknya sendiri:
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"); } }
Perhatikan bahwa fitur pengukuran otomatis yang disediakan oleh EasyTracker hanya menggunakan pelacak default untuk melakukan panggilan. Jika menggunakan fitur EasyTracker ini dan ingin mengirim data menggunakan pelacak lain, Anda harus melakukannya secara manual.
Pelacak Default
Meskipun penerapan dapat menggunakan beberapa pelacak, secara global ini memiliki satu
pelacak default. Tracker
pertama yang diambil akan menjadi pelacak
default.
Untuk mendapatkan pelacak default, gunakan:
// Get singleton. GoogleAnalytics myInstance = GoogleAnalytics.getInstance(this); // Get default tracker. Tracker myDefault = myInstance.getDefaultTracker();
Untuk menetapkan pelacak default, gunakan:
// 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);
Pengiriman
Setelan pengiriman dikelola oleh singleton GAServiceManager
. Untuk menetapkan periode pengiriman:
// Set dispatch period to 30 seconds. GAServiceManager.getInstance().setDispatchPeriod(30);
Untuk mengirim secara manual di luar interval yang dijadwalkan:
// Manually dispatch any queued hits. GAServiceManager.getInstance().dispatch();
Pengambilan sampel
Anda dapat mengaktifkan pengambilan sampel sisi klien untuk membatasi jumlah klik yang dikirim ke Google Analytics. Jika aplikasi Anda memiliki banyak pengguna atau mengirim volume data yang besar ke Google Analytics, mengaktifkan pengambilan sampel akan membantu memastikan pelaporan yang tidak terganggu.
Misalnya, untuk mengaktifkan pengambilan sampel sisi klien dengan rasio 50% melalui EasyTracker dan XML, gunakan parameter berikut dalam file analytics.xml:
<string name="ga_sampleFrequency">50.0</string>
Anda juga dapat mengaktifkan pengambilan sampel sisi klien secara terprogram:
// 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);
Memilih Tidak Ikut Tingkat Aplikasi
Anda dapat mengaktifkan flag pilihan tidak ikut tingkat aplikasi yang akan menonaktifkan Google Analytics di seluruh aplikasi. Setelah ditetapkan, tanda ini akan tetap ada selama masa aktif aplikasi atau hingga direset.
Untuk mendapatkan setelan tidak ikut tingkat aplikasi, gunakan:
// 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. } }); }
Untuk menetapkan tanda tidak ikut tingkat aplikasi, gunakan:
myInstance.setAppOptOut(appPreferences.userOptOut);
Pengujian dan Proses Debug
Google Analytics SDK untuk Android menyediakan mode debug yang akan mencetak informasi yang berguna tentang data yang dikirim ke Google Analytics dalam log Anda.
Untuk mengaktifkan mode debug menggunakan EasyTracker, tambahkan kode berikut ke
file resource analytics.xml
Anda:
<bool name="ga_debug">true</bool>
Untuk mengaktifkan mode debug secara terprogram, gunakan:
// Get singleton using application context. GoogleAnalytics myInstance = GoogleAnalytics.getInstance(this); // Enable debug mode. myInstance.setDebug(true);
Output akan dicetak ke
logcat
menggunakan tag GAV2
.