Pengukuran Uninstall

Overview

Pengaturan pengukuran uninstall di aplikasi Android menggunakan AppsFlyer SDK dan Firebase Cloud Messaging.

Mengintegrasikan pengukuran uninstall untuk Android

Dokumen ini mencakup integrasi pengukuran uninstall untuk skenario berikut:

  • Aplikasi yang sudah menggunakan FCM
  • Aplikasi yang tidak menggunakan FCM.

Versi klien FCM terbaru dapat dilihat di sini.

Apps using FCM

Untuk menambahkan pengukuran uninstall ke integrasi FCM yang ada:
in the onNewToken() ganti, memanggil updateServerUninstallToken:

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

Apps not using FCM

Untuk mengintegrasikan pengukuran uninstall:

  1. Unduh google-services.json from Firebase console.
  2. Tambahkan google-services.json ke direktori modul aplikasi
  3. Tambahkan dependensi berikut ke level root Anda build.gradle file:
    buildscript { 
        // ... 
        dependencies { 
          // ... 
          classpath 'com.google.gms:google-services:4.2.0' // google-services plugin 
        } 
      }
    
  4. Di tingkat aplikasi build.gradle, tambahkan dependensi berikut:
    dependencies {
        // ...
        implementation 'com.google.firebase:firebase-messaging:23.0.3'
        implementation 'com.google.firebase:firebase-core:20.1.2'
        // ...
    }
    
    Catatan: Jika Anda menerima kesalahan " Could not find method implementation()... ", pastikan Anda memiliki Google Repository terbaru di Android SDK Manager.
1169
  1. Jika Anda menggunakan FCM hanya untuk mengukur uninstall di AppsFlyer , gunakan appsFlyer.FirebaseMessagingServiceListener layanan, yang disematkan di SDK. Ini memperluas FirebaseMessagingService kelas, digunakan untuk menerima Token Perangkat FCM dan memanggil updateServerUninstallToken. Untuk menambahkan appsFlyer.FirebaseMessagingServiceListener layanan ke aplikasi:
    <application
       <!-- ... -->
          <service
            android:name="com.appsflyer.FirebaseMessagingServiceListener">
            <intent-filter>
              <action android:name="com.google.firebase.MESSAGING_EVENT"/>
            </intent-filter>
          </service>
       <!-- ... -->
    </application>
    
    Jika tidak, ganti FirebaseMessagingService.onNewToken() metode dan panggil updateServerUninstallToken:
    @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
    }
    

📘

Catatan

Jika Anda menggunakan Proguard, pastikan untuk menambahkan aturan berikut:

-dontwarn com.appsflyer.**
-keep public class com.google.firebase.messaging.FirebaseMessagingService {
    public *;
}

Menguji pengukuran uninstall Android

Prosedur pengujian yang dijelaskan berlaku untuk aplikasi yang tersedia melalui Google Play Store, tertunda, unduhan langsung, dan melalui toko aplikasi alternatif.

Untuk menguji pengukuran hapus instalasi Android:

  1. Instal aplikasi 
  2. Uninstall aplikasi. Anda dapat meng-uninstall aplikasi segera setelah menginstalnya.
  3. Tunggu hingga uninstall muncul di dashboard. Ini bisa memakan waktu hingga 48 jam.

Pertimbangan

  • Event uninstall terdaftar dalam waktu 24 jam karena pengukuran uninstall diproses setiap hari.
  • Jika aplikasi diinstal ulang selama waktu ini, tidak ada event uninstall yang dicatat .

Menimpa metode (overriding) FCM onMessageReceived

Menimpa metode (overriding) FCM onMessageReceived metode dan menerapkan logika Anda sendiri
di dalamnya mungkin menyebabkan notifikasi push uninstall tidak dinonaktifkan. Hal ini dapat mempengaruhi pengalaman pengguna. Untuk mencegahnya, verifikasi bahwa pesan tersebut berisi af-uinstall-tracking. Lihat contoh berikut:

@Override
    public void onMessageReceived(RemoteMessage remoteMessage) {
        
        if(remoteMessage.getData().containsKey("af-uinstall-tracking")){ // "uinstall" is not a typo
            return;
        } else {
           // handleNotification(remoteMessage);
        }
    }