Sekilas : AppsFlyer menggunakan notifikasi push dinonaktifkan sekali sehari untuk memverifikasi aplikasi masih diinstal pada perangkat pengguna, dan menghitung even hapus instalasi yang terjadi untuk aplikasi tertentu, menghubungkannya ke sumber media tertentu. AppsFlyer menyajikan data hapus instalasilengkap sebagai laporan yang dapat diunduh, Pull API, dan Data Locker.
Manfaat Pengukuran Uninstall
-
Membandingkan kualitas sumber media
Tingkat pencopotan pemasangan merupakan sebuah metrik, yang dapat membantu membandingkan kualitas pengguna yang Anda peroleh dari berbagai sumber media, kampanye, iklan tunggal atau negara. -
Melindungi privasi pengguna
Banyak pengiklan menjalankan kampanye interaksi ulang untuk mempertahankan pengguna mereka. Namun, hal tersebut dapat bertentangan dengan ketentuan penggunaan app store. Jika demikian, gunakan data pencopotan pemasangan untuk menghapus pencopot pemasangan dari audiens yang ditargetkan ulang.
Sistem Operasi
Mendukung fitur Pengukuran Uninstall memerlukan pengembangan di aplikasi Anda.
Berikut adalah petunjuk programmer untuk:
Tips
Berapa banyak pengguna yang menghapus instalasi aplikasi dan kapan?
Dapatkan kategori lengkap/rincian negara di sini .
Penting
Mulai 29 Mei 2019, Google menghapus server GCM dan API klien. Jika Anda mengintegrasikan pesan/messaging di aplikasi baru, gunakan FCM. Jika Anda menggunakan GCM, upgrade ke FCM. Setelah Anda mengupgrade ke FCM, ikuti petunjuk pada artikel ini untuk mengatur pengukuran uninstall untuk Android.
Ikuti dokumentasi Google untuk mempelajari lebih lanjut:
Pengukuran Uninstall Android
Copot pemasangan pengukuran menggunakan Firebase Messaging didukung pada Android SDK versi 4.7.0.
1. Mendapatkan Kode Server Firebase
- Buat proyek Aplikasi Android Firebase (jika Anda belum membuatnya), atau migrasikan proyek Anda dari Konsol Google Developer (ikuti petunjuk di sana). Untuk informasi lebih lanjut, buka Firebase.
- Buka Firebase Console.
- Di halaman Console Firebase, arahkan ke Project Settings (klik pada ikon roda gigi di dekat Project Overview di panel kiri halaman tersebut).
- Pada tab Cloud Messaging, Anda dapat melihat kedua Kode Server Anda (lihat tangkapan layar berikut:
- Copy kode server.
2. Memasukkan Server Key di Dashboard AppsFlyer
- Masuk ke dashboard aplikasi Anda di platform AppsFlyer.
- Pilih App Settings dari menu sebelah kiri.
- Tetapkan Firebase Server Key dengan Kode Server yang baru saja Anda copy.
3. Mengonfigurasi Firebase-Messaging di App
- Download google-services.json dari konsol firebase.
- Tambahkan google-services.json ke direktori modul aplikasi Anda,
- Tambahkan aturan ke file build.gradle untuk menyertakan plugin google-services:
buildscript { // ... dependencies { // ... classpath 'com.google.gms:google-services:4.2.0' // google-services plugin } }
- Tambahkan dependensi FCM ke file build.gradle:
dependencies { implementation 'com.google.firebase:firebase-messaging:17.3.4' } // ADD THIS AT THE BOTTOM apply plugin: 'com.google.gms.google-services
Versi Firebase terbaru dapat diperoleh di sini: dokumen resmi Firebase.
Jika Anda melihat error "Could not find..", pastikan Anda memiliki Google Repository terbaru di Android SDK Manager.
4. Menerapkan Layanan Pengukuran Uninstall AppsFlyer
Jika programmer mengintegrasikan FCM hanya untuk tujuan pengukuran uninstall dengan AppsFlyer, maka mereka dapat menggunakan service appsFlyer.FirebaseMessagingServiceListener, yang disertakan di dalam SDK kami.
Hal ini dilakukan dengan menambahkan layanan ke AndroidManifest.xml:
<application
<!-- ... -->
<service
android:name="com.appsflyer.FirebaseMessagingServiceListener">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT"/>
</intent-filter>
</service>
<!-- ... -->
</application>
appsflyer.FirebaseMessagingServiceListener memperluas kelas <>FirebaseMessagingService Firebase, yang digunakan untuk menerima Token Perangkat Firebase.
import com.appsflyer.AppsFlyerLib;
import com.google.firebase.messaging.FirebaseMessagingService;
public class MyNewFirebaseManager extends FirebaseMessagingService {
@Override
public void onNewToken(String s) {
super.onNewToken(s);
// Sending new token to AppsFlyer
AppsFlyerLib.getInstance().updateServerUninstallToken(getApplicationContext(), s);
// the rest of the code that makes use of the token goes in this method as well
}
}
Layanan tersebut harus ditambah ke AndroidManifest.xml agar dapat berfungsi: Jika aplikasi menggunakan FCM sebelum di integrasi dengan SDK AppsFlyer, kemungkinan besar layanan ini telah diperluas dan programer hanya perlu menambahkan baris berikut ke metode onNewToken()
:
AppsFlyerLib.getInstance().updateServerUninstallToken(getApplicationContext(), refreshedToken);
Pastikan juga bahwa Anda telah menambahkan layanan yang relevan ke AndroidManifest.xml:
<service
android:name=".MyNewFirebaseManager">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
Menyelesaikan masalah notifikasi langsung pencopotan pemasangan tidak dinonaktifkan
Mengganti metode onMessageReceived
Firebase dan menerapkan logika Anda sendiri di dalamnya mungkin menyebabkan pemberitahuan push pencopotan pemasangan untuk tidak dinonaktifkan. Hal ini bisa mempengaruhi pengalaman pengguna. Untuk mencegahnya, periksa apakah pesan berisi af-uinstall-tracking
. Lihat contoh berikut:
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
if(remoteMessage.getData().containsKey("af-uinstall-tracking")){
return;
} else {
// handleNotification(remoteMessage);
}
}
5. Menggunakan ProGuard dengan Pengukuran Uninstall
Jika Anda menggunakan ProGuard, tambahkan aturan berikut:
-dontwarn com.appsflyer.**
-keep public class com.google.firebase.messaging.FirebaseMessagingService {
public *;
}
6. Menguji Pengukuran Uninstall Android
MetrikHapus Instalasi tersedia di dashboard Ikhtisar.
Daftar pengguna yang menghapus instalasi aplikasi tersedia dalam hapus instalasi laporan data lengkap.
Untuk menguji pengukuran hapus instalasi Android:
- Instal aplikasi
-
Uninstall aplikasi. Catatan ! Anda dapat menghapus aplikasi segera setelah menginstalnya.
Event uninstall terdaftar dalam 24 jam karena pengukuran uninstall diproses setiap hari .
Jika aplikasi dipasang ulang selama waktu ini - tidak ada event uninstall yang dicatat.
Event uninstall aplikasi membutuhkan waktu hingga 48 jam untuk muncul dilaporan data lengkap dan diLaporan Kinerja Agregatpada dashboard AppsFlyer Anda.
Apakah aplikasi Android aktif di Google Play, menunggu pengiriman, atau bahkan di luar play store - tesnya sama.
7. Nonaktifkan pengukuran uninstall
Jika Kunci Server Firebase/GCM disediakan, pengukuran uninstall aplikasi diaktifkan secara default. Pemilik aplikasi dapat menonaktifkan fitur ini melalui dashboard.
Perhatian ! Agar uninstall dapat dilaporkan, Aktifkan pengukuran uninstall harus diaktifkan selama penginstalan aplikasi.l Perangkat yang Menginstal aplikasi saat Mengaktifkan pengukuran uninstall dinonaktifkan tidak akan melaporkan uninstall aplikasi.
Untuk menonaktifkan pengukuran uninstall :
- Di AppsFlyer, buka Pengaturan Aplikasi.
- Gulir ke Attribusi > Uninstall dan matikan Aktifkan pengukuran uninstall.
Catatan
AppsFlyer iOS mencopot pemasangan data event tergantung pada Layanan Pemberitahuan Push Apple (APN). Karena pertimbangan privasi, APN melaporkan secara real-time ketika pengguna menghapus aplikasi hanya jika setidaknya delapan hari telah berlalu sejak instalasi. Hal ini berarti data pencopotan pemasangan iOS hanya tersedia setelah hari ke 8.
Klik di sini untuk mempelajari lebih lanjut.
Pengukuran Uninstall iOS
Penting!
Untuk menggunakan fitur ini, setidaknya Anda harus memiliki SDK versi 4.5.0 ke atas. Jika Anda ingin mengukur uninstall di iOS 13 dan di atasnya, Anda harus memiliki SDK versi 4.10.4 dan lebih tinggi.
Fitur ini juga memerlukan sertifikat p12. dan tidak bisa menggunakan sertifikat p8.
Catatan
Pengukuran Uninstall tidak tersedia bagi user yang menolak hak akses Push Notification.
1. Menemukan App
2. Jika Anda belum mendaftarkan App ID, klik simbol +, lalu lengkapi formulir.
3. Centang kotak Push Notifications.
4. Saat Anda memilih aplikasi, akan ada dua pengaturan untuk push notifications dengan ikon status kuning atau hijau:
5. Klik Settings untuk melanjutkan.
Catatan
Tombol Settings mungkin berganti menjadi Edit jika push notification sebelumnya telah dikonfigurasi. Jika tidak menemukan tombol Settings/Edit, Anda mungkin bukan team agent atau admin. Orang yang awalnya membuat akun developer adalah team agent Anda dan mereka yang melakukan langkah-langkah yang tersisa di bagian ini.
2. Membuat Sertifikat
1. Pilih Apple Push Notification service SSL (Sandbox & Production) di pilihan Production certificate. Jika Anda menggunakan VoIP untuk notifikasi push, pilih VoIP Services Certificate.
2. Klik Create Certificate dari pilihan Production SSL Certificate.
3. Setelah mengklik Create Certificate, perhatikan Add iOS Certificate Assistant. Ikuti instruksi pada assistant kemudian klik Continue.
4. Dengan Certificate Signing Request yang baru saja dibuat, buatlah sertifikat APNS Push SSL.
5. Jika tombol Download muncul, artinya Anda siap untuk mendownload. Anda mungkin perlu memuat ulang halaman untuk memperbaruinya. Download sertifikat yang baru dibuat:
6. Buka sertifikat. Membuka sertifikat juga akan membuka Keychain Access.
Sertifikat Anda di Keychain Access ditampilkan di bagian My Certificates. Jika sertifikat tidak muncul, periksa bagian Certificates.
Catatan
Hanya akun admin yang dapat mengupload atau mengganti sertifikat p12.
3. Memperbarui Sertifikat
Jika Anda memperbarui Sertifikat SSL Push Development atau Production, ikuti langkah-langkah yang diuraikan di atas sama seperti saat Anda pertama kali mengupload sertifikat. Untuk membuat perubahan ini, Anda tidak perlu mencabut sertifikat sebelumnya. Mungkin akan ada dua sertifikat production secara bersamaan, tujuannya agar Anda dapat terus menggunakan sertifikat lama saat mengupload sertifikat baru.
4. Ekspor File P12
Langkah terakhir sebelum kembali ke dashboard AppsFlyer adalah menyimpan sertifikat signing sebagai file .p12
1. Pilih sertifikat yang baru saja ditambahkan ke Keychain Access
2. Buka File > Item Ekspor.
3. Pilih My Certificates di bagian menu Category di sisi kiri bawah.
Jika My Certificates tidak ditandai, artinya Anda tidak dapat mengekspor sertifikat sebagai file .p12
3. Gunakan format Personal Information Exchange (.p12) saat menyimpan file.
4. Pastikan sertifikat menampilkan Apple Push Services dan terlihat seperti berikut:
5. Buka dashboard app Anda di platform AppsFlyer.
6. Pilih App Settings di menu sebelah kiri.
7. Klik pada ikon unggah, pilih file P12 untuk diunggah.
8. (opsional) Jika sertifikat P12 dilindungi kata sandi, masukkan kata sandi dalam P12 Kata Sandi sertifikat .
9. Klik Validate untuk mengirim sertifikat ke AppsFlyer agar dapat divalidasi.
10. Klik Save Settings.
5. Mengintegrasikan dengan SDK
Push notification harus didaftarkan di kode app agar dapat mengaktifkan pengumpulan data uninstall.
//add UserNotifications.framework
import UserNotifications
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
//...
// iOS 10 support
if #available(iOS 10, *) {
UNUserNotificationCenter.current().requestAuthorization(options:[.badge, .alert, .sound]){ (granted, error) in }
application.registerForRemoteNotifications()
}
// iOS 9 and iOS 8 support
else if #available(iOS 8, *), #available(iOS 9, *) {
UIApplication.shared.registerUserNotificationSettings(UIUserNotificationSettings(types: [.badge, .sound, .alert], categories: nil))
UIApplication.shared.registerForRemoteNotifications()
}
// iOS 7 support
else {
application.registerForRemoteNotifications(matching: [.badge, .sound, .alert])
}
return true
}
// Called when the application sucessfuly registers for push notifications
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
AppsFlyerTracker.shared().registerUninstall(deviceToken)
}
Tambahkan kode berikut ke AppDelegate.m:
- #import <UserNotifications/UserNotifications.h>
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// The userNotificationTypes below is just an example and may be changed depending on the app
UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter];
center.delegate = self;
[center requestAuthorizationWithOptions:(UNAuthorizationOptionSound | UNAuthorizationOptionAlert | UNAuthorizationOptionBadge) completionHandler:^(BOOL granted, NSError * _Nullable error) {
}];
[[UIApplication sharedApplication] registerForRemoteNotifications];
// if you do not use push notificaiton in your app, uncomment the following line
//application.applicationIconBadgeNumber = 0;
}
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
[[AppsFlyerTracker sharedTracker] registerUninstall:deviceToken];
}
}
Di AppDelegate.h, masukkan kode berikut untuk menambahkan UNUserNotificationCenterDelegate ke deklarasi antarmuka:
#import <AppsFlyerLib/AppsFlyerTracker.h>
@interface AppDelegate : UIResponder <UIApplicationDelegate, AppsFlyerTrackerDelegate>
Cuplikan kode di atas meminta izin akses dari pengguna untuk mengirimkan push notification. Namun, jika Anda hanya menggunakan push notification dalam mode latar belakang untuk melakukan uninstall, tidak perlu meminta persetujuan pengguna. Hal ini disebabkan karena push notification ini merupakan push notification senyap yang tidak mewajibkan Anda untuk meminta izin akses dari pengguna.
Izin pengguna untuk push notification dalam mode latar belakang
Jika Anda hanya menggunakan push notifikasi senyap, pastikan untuk mengaktifkan Remote Notifications di Background Modespada bagian Capabilities app Anda:
- Pada XCode, pilih proyek Anda
- Pilih target Anda
- Pindah ke tab Capabilities
- Aktifkan Background Modes
- Centang Remote notifications
6. Push Notification
Pastikan Anda menambahkan Push Notification di tab capabilities XCode. Tanpa Push Notification, deviceToken tidak akan dikumpulkan.
7. Menguji Uninstall
Untuk menguji pengukuran iOS:
- Instal aplikasi
- Hapus instalasi aplikasi. Catatan! Anda dapat menghapus instalasi aplikasi segera setelah menginstalnya.
Saat menguji hapus instalasi dari Xcode atau TestFlight, adalah penting untuk memberi tahu SDK kami bahwa token dihasilkan dari lingkungan Sandbox. Gunakan API berikut:
AppsFlyerTracker.shared().useUninstallSandbox = true
[AppsFlyerTracker sharedTracker].useUninstallSandbox = true;
Catatan! Penghapusan instalasi tidak langsung muncul di dashboard AppsFlyer:
- Dibutuhkan rata-rata 9 hariuntuk menghapus instalasi sepenuhnya muncul dalam laporan
- Diperlukan waktu lebih dari sebulan agar menghapus instalasi yang berasal dari lingkungan sandbox muncul di laporan
Selain itu, tanggal uninstall adalah tanggal uninstall dilaporkan . Lihat bagian selanjutnya untuk mempelajari lebih lanjut.
8. Melihat Data Uninstall di Dashboard AppsFlyer
Pengukuran uninstall ditampilkan di dashboard utama pada Aggregated Performance table.
Karena perubahan terbaru di layanan Pemberitahuan Pesan Apple, waktu yang diperlukan agar uninstall muncul di dashboard adalah minimal 9 hari. AppsFlyer memperbarui dan mengagregasi metrik untuk uninstall setiap 24 jam
Contoh
- Hari 1 - pengguna menginstal aplikasi Anda
- Hari 1 - pengguna meng-uninstal aplikasi Anda
- Hari 12 - Apple Push Notification Service melaporkan penghapusan aplikasi 8 hari setelah uninstall
- Hari 13 - Data uninstall muncul di dashboard AppsFlyer dan data lengkap
Untuk detail selengkapnya, lihat Panduan Integrasi SDK bagian iOS Measure App Uninstalls.
9. Nonaktifkan pengukuran uninstall
Jika sertifikat P12 disediakan dan divalidasi, pengukuran uninstall aplikasi diaktifkan secara default. Pemilik aplikasi dapat menonaktifkan fitur ini melalui dashboard.
Perhatian ! Agar uninstall dapat dilaporkan, Aktifkan pengukuran uninstall harus diaktifkan selama penginstalan aplikasi.l Perangkat yang Menginstal aplikasi saat Mengaktifkan pengukuran uninstall dinonaktifkan tidak akan melaporkan uninstall aplikasi.
Untuk menonaktifkan pengukuran uninstall :
- Di AppsFlyer, buka Pengaturan Aplikasi.
- Gulir ke Attribusi > Uninstall dan matikan Aktifkan pengukuran uninstall.
Postback Event Uninstall
AppsFlyer memungkinkan Anda untuk mengirim postback event uninstall untuk setiap user yang melakukan uninstall, ke partner yang bekerja sama dengan Anda. Event uninstall disebut sebagai af_uninstall
pada dashboard AppsFlyer.
Memetakan Event Uninstall
Anda dapat memetakan event af_uninstall
seperti halnya memetakan in-app event lainnya pada app Anda.
Seperti pada in-app event lain, AppsFlyer dapat mengirim postback hanya jika event benar-benar terjadi dan dicatat oleh AppsFlyer. Oleh karena itu, pemetaan af_uninstall hanya bekerja pada implementasi uninstall yang telah selesai. Jika Anda tidak melihat uninstall pada laman garis besar, atau pada laporan data lengkap uninstall, maka tidak akan ada postback uninstall yang dikirimkan ke partner, sekalipun Anda telah memetakan event af_uninstall
.
Waktu af_uninstall
Tidak seperti postback untuk in-app event biasa, event af_uninstall
tidak dikirim secara waktu aktual.
Pada data lengkap AppsFlyer dan partner postback, waktu event yang dicatat af_uninstall
adalah saat AppsFlyer mengetahui tentang uninstall.
- Untuk perangkat Android: 24-48 jam setelah uninstall aplikasi yang sebenarnya
- Untuk perangkat iOS: 9-11 hari setelah uninstall aplikasi yang sebenarnya
Batasan
Event af_uninstall tidak termasuk dalam laporan postback In-app event.
Event af_uninstall saat ini baru tersedia untuk beberapa partner.
Jika Anda ingin memetakan dengan partner, namun Anda melihat bahwa event tidak tersedia untuk partner, hubungi CSM khusus Anda atau kirim email ke hello@appsflyer.com.
Jika Anda adalah seorang partner dan ingin menerima event af_uninstall, hubungi PDM khusus Anda atau hubungi partners@appsflyer.com.