Đo lường lượt Gỡ cài đặt

Tổng quan

Thiết lập đo lường lượt gỡ cài đặt trong ứng dụng Android bằng SDK AppsFlyer và Firebase Cloud Messaging.

Tích hợp tính năng đo lường lượt gỡ cài đặt trên Android

Tài liệu này đề cập về việc tích hợp tính năng đo lường lượt gỡ cài đặt cho các trường hợp sau:

  • Các ứng dụng đã sử dụng FCM
  • Các ứng dụng không sử dụng FCM.

Bạn có thể tìm thấy phiên bản máy khách FCM mới nhất tại đây.

Apps using FCM

Để thêm tính năng đo lường lượt gỡ cài đặt vào tích hợp FCM hiện có:
in the onNewToken() ghi đè, hãy gọi ra 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

Để tích hợp tính năng đo lường lượt gỡ cài đặt:

  1. Tải xuống google-services.json from Firebase console.
  2. Thêm google-services.json vào thư mục mô-đun ứng dụng
  3. Thêm các phần phụ thuộc sau vào tệp tin cấp thư mục gốc build.gradle file:
    buildscript { 
        // ... 
        dependencies { 
          // ... 
          classpath 'com.google.gms:google-services:4.2.0' // google-services plugin 
        } 
      }
    
  4. Trong build.gradlecấp ứng dụng, hãy thêm các phần phụ thuộc sau:
    dependencies {
        // ...
        implementation 'com.google.firebase:firebase-messaging:23.0.3'
        implementation 'com.google.firebase:firebase-core:20.1.2'
        // ...
    }
    
    Lưu ý: Nếu bạn gặp lỗi "Could not find method implementation()..." (Không thể tìm thấy phương thức thực hiện ()...), hãy đảm bảo rằng bạn có Kho lưu trữ Google mới nhất trong Trình quản lý SDK Android.
1169
  1. Nếu bạn chỉ sử dụng FCM để đo lường lượt gỡ cài đặt trong AppsFlyer, hãy sử dụng dịch vụ appsFlyer.FirebaseMessagingServiceListener , được nhúng trong SDK. Điều này mở rộng lớp FirebaseMessagingService , được sử dụng để nhận Token Thiết bị FCM và gọi ra updateServerUninstallToken. Để thêm dịch vụ appsFlyer.FirebaseMessagingServiceListener vào ứng dụng:
    <application
       <!-- ... -->
          <service
            android:name="com.appsflyer.FirebaseMessagingServiceListener">
            <intent-filter>
              <action android:name="com.google.firebase.MESSAGING_EVENT"/>
            </intent-filter>
          </service>
       <!-- ... -->
    </application>
    
    Nếu không, ghi đè phương thức FirebaseMessagingService.onNewToken() và gọi 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
    }
    

📘

Lưu ý

Nếu bạn sử dụng ProGuard, hãy đảm bảo thêm quy tắc sau:

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

Thử nghiệm đo lường lượt gỡ cài đặt trên Android

Quy trình thử nghiệm được mô tả có hiệu lực với các ứng dụng có sẵn thông qua Cửa hàng Google Play, đang chờ xử lý, tải xuống trực tiếp và thông qua các cửa hàng ứng dụng thay thế.

Để thử nghiệm đo lường lượt gỡ cài đặt trên Android:

  1. Cài đặt ứng dụng.
  2. Gỡ cài đặt ứng dụng. Bạn có thể gỡ cài đặt ứng dụng ngay sau khi cài đặt.
  3. Chờ lượt gỡ cài đặt xuất hiện trong bảng điều khiển. Quá trình này có thể mất đến 48 giờ.

Những điều cần lưu ý

  • Sự kiện gỡ cài đặt sẽ được ghi nhận trong vòng 24 giờ vì việc đo lường lượt gỡ cài đặt được xử lý hàng ngày.
  • Nếu ứng dụng được cài đặt lại trong khoảng thời gian này thì sẽ không có sự kiện gỡ cài đặt nào được ghi nhận.

Ghi đè onMessageReceived

Ghi đè onMessageReceived và triển khai logic của riêng bạn
vào phương thức này có thể khiến thông báo đẩy lượt gỡ cài đặt không ở chế độ im lặng. Điều này có thể ảnh hưởng đến trải nghiệm người dùng. Để ngăn chặn tình trạng này, hãy xác nhận rằng thông báo có chứa af-uinstall-tracking. Xem ví dụ sau:

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