Konfiguracja zaawansowana – pakiet SDK do Androida w wersji 2 (starsza wersja)

W tym dokumencie znajdziesz przegląd niektórych zaawansowanych funkcji konfiguracyjnych pakietu Google Analytics SDK na Androida w wersji 2.

Przegląd

Pakiet SDK Google Analytics na Androida wykorzystuje 2 klasy do zarządzania globalnym stanem implementacji i wysyłania danych na serwery Google Analytics. EasyTracker pakuje te klasy, aby uprościć konfigurację i zarządzanie sesjami:

  • GoogleAnalytics – pojedyncze polecenie, które obsługuje globalny stan implementacji, w tym pobieranie obiektów Tracker.
  • Tracker – zajęcia, za pomocą których wysyłasz dane do Google Analytics.

Aby na przykład zmierzyć widok prostego elementu 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");
  }
}

Korzystanie z wielu trackerów

Od wersji 2 pakietu SDK możesz używać wielu skryptów śledzenia w jednej implementacji, po jednym na każdy unikalny identyfikator śledzenia. Wszystkie trackery są przypisane do tego samego stanu globalnego, którym podlega Twój singleton GoogleAnalytics.

W tym przykładzie wyświetlenie ekranu jest wysyłane do 2 osobnych usług za pomocą 2 tagów śledzenia, z których każda ma własny unikalny identyfikator usługi:

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");
  }
}

Pamiętaj, że funkcje automatycznego pomiaru udostępniane przez EasyTracker do wykonywania wywołań używają tylko domyślnego trackera. Jeśli korzystasz z funkcji EasyTracker i chcesz wysłać dane za pomocą innych trackerów, musisz to zrobić ręcznie.

Domyślny tracker

Implementacja może korzystać z kilku skryptów śledzenia, ale globalnie ma jeden domyślny. Pierwszy pobrany plik Tracker stanie się domyślnym modułem do śledzenia.

Aby pobrać domyślny tracker, użyj:

// Get singleton.
GoogleAnalytics myInstance = GoogleAnalytics.getInstance(this);

// Get default tracker.
Tracker myDefault = myInstance.getDefaultTracker();

Aby ustawić domyślny tracker, użyj:

// 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);

Wysyłanie

Ustawieniami wysyłania zarządza singleton GAServiceManager. Aby ustawić okres wysyłki:

// Set dispatch period to 30 seconds.
GAServiceManager.getInstance().setDispatchPeriod(30);

Aby wysłać ręcznie przesyłkę poza zaplanowanym okresem:

// Manually dispatch any queued hits.
GAServiceManager.getInstance().dispatch();

Próbkowanie

Możesz włączyć próbkowanie po stronie klienta, aby ograniczyć liczbę działań wysyłanych do Google Analytics. Jeśli Twoja aplikacja ma dużą liczbę użytkowników lub w inny sposób wysyła do Google Analytics dużą ilość danych, włączenie próbkowania pomoże zapewnić nieprzerwane raportowanie.

Aby na przykład włączyć próbkowanie po stronie klienta z częstotliwością 50% za pomocą EasyTracker i XML, użyj następującego parametru w pliku analytics.xml:

<string name="ga_sampleFrequency">50.0</string>

Możesz też włączyć próbkowanie po stronie klienta automatycznie:

// 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);

Rezygnacja na poziomie aplikacji

Możesz włączyć flagę rezygnacji na poziomie aplikacji, która spowoduje wyłączenie Google Analytics w całej aplikacji. Po ustawieniu flaga będzie stosowana przez cały czas istnienia aplikacji lub do chwili jej zresetowania.

Aby uzyskać ustawienie rezygnacji na poziomie aplikacji:

// 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.
     }
   });
}

Aby ustawić flagę rezygnacji na poziomie aplikacji, wpisz:

myInstance.setAppOptOut(appPreferences.userOptOut);

Testowanie i debugowanie

Pakiet Google Analytics SDK na Androida udostępnia tryb debugowania, w którym wyświetlane są przydatne informacje o tym, jakie dane w dziennikach są wysyłane do Google Analytics.

Aby włączyć tryb debugowania za pomocą EasyTracker, dodaj ten kod do pliku zasobów analytics.xml:

<bool name="ga_debug">true</bool>

Aby włączyć tryb debugowania automatycznie, użyj tych poleceń:

// Get singleton using application context.
GoogleAnalytics myInstance = GoogleAnalytics.getInstance(this);

// Enable debug mode.
myInstance.setDebug(true);

Dane wyjściowe zostaną wydrukowane w logcat za pomocą tagu GAV2.