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 ke thread terpisah ke Google Analytics.
Data harus dikirim dan diterima paling lambat pukul 04.00 pada hari berikutnya, di zona waktu lokal setiap tampilan. Setiap data yang diterima setelah tanggal tersebut tidak akan muncul dalam laporan. Misalnya, jika hit dimasukkan dalam antrean secara lokal pada pukul 23.59, hit tersebut harus dikirim dalam waktu 4 jam, pada pukul 03.59, agar dapat muncul dalam laporan. Di sisi lain, hit yang dimasukkan ke antrean pada pukul 12.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 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 untuk dikirim, hit tersebut akan dipertahankan di penyimpanan lokal. Keduanya akan dikirim saat berikutnya aplikasi Anda berjalan dan pengirimannya dipanggil.
Pengiriman manual
Untuk mengirim hit secara manual, misalnya saat Anda mengetahui bahwa radio perangkat telah 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,
di 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>