Pengiriman

Dokumen ini menjelaskan cara mengelola pengiriman data ke Google Analytics menggunakan Google Analytics SDK v4 untuk Android.

Ringkasan

Data yang dikumpulkan menggunakan Google Analytics SDK v4 untuk Android disimpan secara lokal sebelum dikirim di thread terpisah ke Google Analytics.

Data harus dikirim dan diterima paling lambat 04.00 di hari berikutnya, dalam zona waktu lokal setiap tampilan. Data apa pun yang diterima setelah tanggal tersebut tidak akan muncul dalam laporan. Misalnya, jika hit dimasukkan ke dalam antrean lokal pada pukul 23.59, hit harus dikirim dalam waktu 4 jam, sebelum pukul 03.59, agar muncul dalam laporan. Di sisi lain, hit dalam antrean pada pukul 00.00 harus dikirim dalam waktu 28 jam, yaitu pukul 03. 59 di hari berikutnya agar muncul dalam laporan.

Pengiriman berkala

Secara default, data dikirim dari Google Analytics SDK v4 untuk Android setiap 30 menit.

Untuk menetapkan periode pengiriman secara terprogram:

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

Untuk menetapkan periode pengiriman dalam file konfigurasi XML:

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

Menetapkan nilai nol atau negatif akan menonaktifkan pengiriman berkala, sehingga Anda harus menggunakan pengiriman manual jika ingin mengirim data apa pun ke Google Analytics.

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

Jika pengguna kehilangan akses jaringan atau keluar dari aplikasi Anda saat masih ada hit yang menunggu dikirim, hit tersebut akan dipertahankan di penyimpanan lokal. Fungsi ini akan dikirim pada saat berikutnya aplikasi Anda berjalan dan pengiriman dipanggil.

Pengiriman manual

Untuk mengirim hit secara manual, misalnya saat Anda mengetahui bahwa radio perangkat sudah digunakan untuk mengirim data lain:

GoogleAnalytics.getInstance(this).dispatchLocalHits();

Pengiriman latar belakang

Untuk mengaktifkan pengiriman latar belakang pada aplikasi yang berjalan di perangkat non-Google Play, dalam file konfigurasi ApplicationManifest.xml:

  • Dapatkan izin WAKE_LOCK.
  • Daftarkan AnalyticsReceiver.
  • Daftarkan AnalyticsService.

Contoh:

<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>