Sevkiyat

Bu dokümanda, Android için Google Analytics SDK v4'ü kullanarak Google Analytics'e dağıtım verilerini 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 iş parçacığında gönderilmeden önce yerel olarak depolanır.

Veriler, her görünümün yerel saat dilimine göre ertesi gün 4:00'a kadar dağıtılmalı ve alınmalıdır. Bundan sonra alınan veriler raporlarda görünmez. Örneğin, bir isabet saat 23:59'da yerel olarak sıraya alındıysa raporlarda görünmesi için 4 saat içinde (03:59) gönderilmesi gerekir. Diğer yandan, saat 00:00'da sıraya alınan bir isabetin raporlarda görünmesi için 28 saat içinde (ör. ertesi gün 03:59) gönderilmesi gerekir.

Periyodik dağıtım

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

Dağıtım 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 dağıtım süresini ayarlamak için:

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

Sıfır veya negatif değer ayarlandığında, düzenli dağıtım devre dışı bırakılır ve Google Analytics'e veri göndermek istiyorsanız manuel dağıtım 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 dağıtılmasını bekleyen isabetler varken uygulamanızdan çıkarsa bu isabetler yerel depolama alanında saklanır. Uygulamanız tekrar çalıştırıldığında ve dağıtım çağrıldığında gönderilir.

Manuel dağıtım

Örneğin, cihaz radyosunun diğer verileri göndermek için kullanılmakta olduğunu bildiğiniz durumlarda, isabetleri manuel olarak dağıtmak için:

GoogleAnalytics.getInstance(this).dispatchLocalHits();

Arka planda gönderme

Google Play dışındaki cihazlarda çalışan uygulamalarda arka planda dağıtmayı etkinleştirmek için ApplicationManifest.xml yapılandırma dosyasında:

  • WAKE_LOCK iznini alın.
  • AnalyticsReceiver için kaydolun.
  • AnalyticsService için 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>