Konfigurasi Lanjutan - Android SDK v2 (Lama)

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 objek Tracker.
  • 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.