Gelişmiş Yapılandırma - Android SDK v2 (Eski)

Bu dokümanda, Android sürüm 2 için Google Analytics SDK'sının gelişmiş yapılandırma özelliklerinden bazılarına genel bir bakış sunulmaktadır.

Genel bakış

Android için Google Analytics SDK'sı, uygulamanın genel durumunu yönetmek ve verileri Google Analytics sunucularına göndermek için iki sınıf kullanır. EasyTracker, basitleştirilmiş yapılandırma ve oturum yönetimi sağlamak için bu sınıfları sarmalar:

  • GoogleAnalytics: Uygulamanızın genel durumunu (Tracker nesneleri alma dahil) işleyen bir tekilton.
  • Tracker – Google Analytics'e veri gönderdiğiniz sınıftır.

Örneğin, basit bir Activity görünümünü ölçmek için:

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

Birden Çok İzleyici Kullanma

SDK'nın 2. sürümünden itibaren, tek bir uygulamada benzersiz izleme kimliği başına bir tane olmak üzere birden fazla izleyici kullanabilirsiniz. Tüm takip cihazları, GoogleAnalytics tektonunuzda bulunan aynı küresel durumu paylaşır.

Aşağıdaki örnekte ekran görünümü, her biri kendi benzersiz mülk kimliğine sahip iki izleyici kullanılarak iki ayrı mülke gönderilir:

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 tarafından sağlanan otomatik ölçüm özelliklerinin, aramaları yapmak için yalnızca varsayılan izleyiciyi kullanacağını unutmayın. Bu EasyTracker özelliklerini kullanıyor ve diğer izleyicileri kullanarak veri göndermek istiyorsanız bunu manuel olarak yapmanız gerekir.

Varsayılan İzleyici

Bir uygulamada birden fazla izleyici kullanılabilse de dünya genelinde bir varsayılan izleyici vardır. Alınan ilk Tracker, varsayılan izleyici olur.

Varsayılan takip cihazını almak için şunu kullanın:

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

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

Varsayılan takip cihazını ayarlamak için şunları kullanın:

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

Sevkiyat

Gönderme ayarları GAServiceManager teklisi tarafından yönetilir. Dağıtım süresini ayarlamak için:

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

Planlanan aralığın dışında manuel olarak dağıtım yapmak için:

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

Örneklendirme

Google Analytics'e gönderilen isabetlerin sayısını sınırlamak için istemci tarafı örneklemeyi etkinleştirebilirsiniz. Uygulamanızın çok sayıda kullanıcısı varsa veya Google Analytics'e çok fazla veri gönderiyorsa örneklemeyi etkinleştirmek kesintisiz raporlamaya yardımcı olur.

Örneğin, EasyTracker ve XML üzerinden istemci tarafı örneklemeyi% 50 oranında etkinleştirmek için analytics.xml dosyanızda aşağıdaki parametreyi kullanın:

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

İstemci tarafı örneklemeyi programatik olarak da etkinleştirebilirsiniz:

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

Uygulama Düzeyinde Devre Dışı Bırakma

Google Analytics'i uygulamanın tamamında devre dışı bırakacak uygulama düzeyinde bir devre dışı bırakma işaretini etkinleştirebilirsiniz. İşaret ayarlandıktan sonra uygulamanın ömrü boyunca veya sıfırlanana kadar varlığını sürdürür.

Uygulama düzeyinde devre dışı bırakma ayarını edinmek için şunları kullanın:

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

Uygulama düzeyinde kapsam dışında kalma işaretini ayarlamak için şunları kullanın:

myInstance.setAppOptOut(appPreferences.userOptOut);

Test ve Hata Ayıklama

Android için Google Analytics SDK'sı, günlüklerinizde Google Analytics'e hangi verilerin gönderildiği hakkında yararlı bilgileri yazdıran bir hata ayıklama modu sağlar.

EasyTracker'ı kullanarak hata ayıklama modunu etkinleştirmek için analytics.xml kaynak dosyanıza aşağıdakileri ekleyin:

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

Hata ayıklama modunu programatik olarak etkinleştirmek için şunları kullanın:

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

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

Çıkış, GAV2 etiketi kullanılarak logcat'e yazdırılır.