Dokumen ini menyajikan ringkasan beberapa fitur konfigurasi lanjutan Google Analytics SDK untuk Android v2.
Ringkasan
Google Analytics SDK untuk Android menggunakan dua class untuk mengelola status global pada penerapan dan pengiriman data ke server Google Analytics. EasyTracker menggabungkan class ini untuk memberikan konfigurasi dan pengelolaan sesi yang disederhanakan:
GoogleAnalytics
– singleton yang menangani status global dari penerapan 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 SDK versi 2, Anda dapat menggunakan beberapa pelacak dalam satu
penerapan, satu 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 dengan 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"); } }
Perlu diingat bahwa fitur pengukuran otomatis yang disediakan oleh EasyTracker hanya akan menggunakan pelacak default untuk melakukan panggilan. Jika Anda menggunakan fitur EasyTracker ini dan ingin mengirim data menggunakan pelacak lain, Anda harus melakukannya secara manual.
Pelacak Default
Meskipun suatu implementasi dapat menggunakan beberapa pelacak, implementasi tersebut memiliki satu
pelacak default secara global. 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 terjadwal:
// Manually dispatch any queued hits. GAServiceManager.getInstance().dispatch();
Pengambilan Sampel
Anda dapat mengaktifkan pengambilan sampel sisi klien untuk membatasi jumlah hit yang dikirim ke Google Analytics. Jika aplikasi Anda memiliki pengguna dalam jumlah besar atau akan mengirimkan volume data yang besar ke Google Analytics, mengaktifkan pengambilan sampel akan membantu memastikan pelaporan yang tidak terganggu.
Misalnya, untuk mengaktifkan sampling sisi klien pada rasio 50% melalui EasyTracker dan XML, gunakan parameter berikut di 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);
Pilihan Tidak Ikut Tingkat Aplikasi
Anda dapat mengaktifkan tanda pilihan tidak ikut tingkat aplikasi yang akan menonaktifkan Google Analytics di seluruh aplikasi. Setelah ditetapkan, tanda akan tetap ada selama masa pakai aplikasi atau hingga direset.
Untuk mendapatkan setelan pilihan 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 berguna tentang data yang dikirim ke Google Analytics di log Anda.
Untuk mengaktifkan mode debug menggunakan EasyTracker, tambahkan kode berikut ke
file resource analytics.xml
:
<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
.