Gönderiliyor

Bu dokümanda, Android için Google Analytics SDK v4'ü kullanarak Google Analytics'e veri gönderimini nasıl yönetebileceğiniz açıklanmaktadır.

Genel bakış

Android için Google Analytics SDK v4 kullanılarak toplanan veriler, Google Analytics'e ayrı bir ileti dizisinde gönderilmeden önce yerel olarak depolanır.

Veriler, her görünümün yerel saat dilimine göre ertesi gün 04:00'a kadar gönderilmelidir ve alınır. Bundan sonra alınan veriler raporlarda görünmez. Örneğin, bir isabet yerel olarak saat 23:59'da sıraya alınırsa raporlarda görünmesi için 4 saat içinde 03:59'a kadar gönderilmelidir. Öte yandan, raporlarda gösterilmesi için 28 saat içinde 00:00'da sıraya alınan bir isabetin gönderilmesi gerekir (bir sonraki gün 03:59'da).

Periyodik gönderim

Varsayılan olarak, veriler Android için Google Analytics SDK v4'ten her 30 dakikada bir gönderilir.

Gönderim süresini programatik olarak ayarlamak için:

// Set the dispatch period to 90 seconds.
GoogleAnalytics.getInstance(this).setLocalDispatchPeriod(90);

XML yapılandırma dosyasında gönderim süresini ayarlamak için:

<integer name="ga_dispatchPeriod">30</integer>

Sıfır veya negatif bir değer ayarlamak, düzenli gönderimi devre dışı bırakır. Google Analytics'e herhangi bir veri göndermek istiyorsanız manuel göndermeyi kullanmanız gerekir.

// Disable periodic dispatch by setting dispatch period to a value less than 1.
GoogleAnalytics.getInstance(this).setLocalDispatchPeriod(0);

Bir kullanıcı, ağ erişimini kaybederse veya gönderilmeyi bekleyen isabetler varken uygulamanızdan çıkarsa bu isabetler yerel depolama alanında kalır. Bunlar, uygulamanız tekrar çalıştırılıp dağıtıldığında gönderilir.

Manuel gönderme

İsabetleri manuel olarak göndermek için (örneğin, başka verileri göndermek için cihaz radyosunun zaten kullanıldığını bilirseniz):

GoogleAnalytics.getInstance(this).dispatchLocalHits();

Arka planda gönderme

Google Play dışı cihazlarda çalışan uygulamalarda arka planda göndermeyi etkinleştirmek için ApplicationManifest.xml yapılandırma dosyasında:

  • WAKE_LOCK iznini alın.
  • AnalyticsReceiver kaydolun.
  • AnalyticsService kaydolun.

Örneğin:

<manifest>
  <!-- ... -->

  <!-- Get permission for reliable local dispatching on non-Google Play devices. -->
  <uses-permission android:name="android.permission.WAKE_LOCK" />

  <application name="com.example.MyApp">
    <!-- Register AnalyticsReceiver and AnalyticsService to support background
         dispatching on non-Google Play devices. -->
    <receiver android:name="com.google.android.gms.analytics.AnalyticsReceiver"
      android:enabled="true">
      <intent-filter>
        <action android:name="com.google.android.gms.analytics.ANALYTICS_DISPATCH" />
      </intent-filter>
    </receiver>
    <service android:name="com.google.android.gms.analytics.AnalyticsService"
      android:enabled="true"
      android:exported="false"/>

    <!-- ... -->
  </application>
</manifest>