Bu belge, Android için Google Analytics SDK v2'nin bazı gelişmiş yapılandırma özelliklerine dair genel bir bakış sunmaktadır.
Genel bakış
Android için Google Analytics SDK'sı, uygulamanın genel durumunu yönetmek ve Google Analytics sunucularına veri 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
:Tracker
nesnesini alma dahil olmak üzere uygulamanızın küresel durumunu işleyen tekton.Tracker
– Google Analytics'e veri gönderdiğiniz sınıf.
Ö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üyle birlikte, benzersiz izleme kimliği başına bir tane olmak üzere tek bir uygulamada birden fazla izleyici kullanabilirsiniz. Tüm izleyiciler, GoogleAnalytics
tektonunuzun bulunduğu global durumu paylaşır.
Aşağıdaki örnekte, bir ekran görüntülenme özelliği, her birinin 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, çağrıları yapmak için yalnızca varsayılan izleyiciyi kullanacağını unutmayın. Bu EasyTracker özelliklerini kullanıyorsanız ve başka izleyiciler kullanarak veri göndermek istiyorsanız bunu manuel olarak yapmanız gerekir.
Varsayılan İzleyici
Bir uygulamada birden fazla izleyici kullanılabilse de genel olarak tek bir varsayılan izleyicisi bulunur. Alınan ilk Tracker
varsayılan izleyici olur.
Varsayılan izleyiciyi almak için şunları kullanın:
// Get singleton. GoogleAnalytics myInstance = GoogleAnalytics.getInstance(this); // Get default tracker. Tracker myDefault = myInstance.getDefaultTracker();
Varsayılan izleyiciyi 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);
Gönderiliyor
Gönderim ayarları, GAServiceManager
tekton şirketi tarafından yönetilir. Gönderim süresini ayarlamak için:
// Set dispatch period to 30 seconds. GAServiceManager.getInstance().setDispatchPeriod(30);
Planlanan aralığın dışında manuel olarak göndermek için:
// Manually dispatch any queued hits. GAServiceManager.getInstance().dispatch();
Örnekleme
Google Analytics'e gönderilen isabet sayısını sınırlamak için istemci taraflı örneklemeyi etkinleştirebilirsiniz. Uygulamanız çok sayıda kullanıcıya sahipse veya Google Analytics'e büyük miktarda veri gönderiyorsa örneklemenin etkinleştirilmesi kesintiye uğramadan raporlama yapılmasına yardımcı olur.
Örneğin, EasyTracker ve XML üzerinden% 50 hızında istemci taraflı örneklemeyi etkinleştirmek için analytics.xml dosyanızda aşağıdaki parametreyi kullanın:
<string name="ga_sampleFrequency">50.0</string>
İstemci taraflı ö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 Kapsam Dışında Kalma
Google Analytics'i uygulamanın tamamında devre dışı bırakacak uygulama düzeyinde bir devre dışı bırakma bayrağını etkinleştirebilirsiniz. İşaretlendikten sonra, işaret uygulama ömrü boyunca veya sıfırlanana kadar görünmeye devam eder.
Uygulama düzeyinde kapsam dışında kalma ayarını almak için şunu 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 gönderilen verilerle ilgili yararlı bilgileri yazdıran bir hata ayıklama modu sağlar.
EasyTracker ile 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);
Sonuç, GAV2
etiketi kullanılarak logcat'e yazdırılır.