Trường Customer User ID (CUID)

Khái quát: Tham chiếu chéo dữ liệu nội bộ của bạn với dữ liệu phân bổ AppsFlyer theo trường Customer User ID (CUID).

Triển khai CUID

Trường Customer User ID (CUID) là một mã định danh người dùng duy nhất do chủ sở hữu ứng dụng và trang web thiết lập.

  • CUID được bạn báo cáo cho AppsFlyer bằng API hoặc SDK của AppsFlyer.
  • AppsFlyer điền vào trường CUID trong các báo cáo dữ liệu thô tương ứng.
  • Sử dụng CUID để tham chiếu chéo dữ liệu phân bổ AppsFlyer với dữ liệu khác của bạn bằng cách sử dụng CUID làm mã khóa.
  • Ví dụ: Một người dùng có hai thiết bị có cùng CUID ("1234567"). Mỗi lần họ thực hiện một sự kiện trên một thiết bị, sự kiện sẽ được ghi nhận cùng với CUID. Điều này cho phép nhà quảng cáo hợp nhất dữ liệu thô của cả hai thiết bị vào một chế độ xem tổng thể về người dùng.
  • CUID được sử dụng bởi các giải pháp Đối tượng và Phân bổ trên Cơ sở Người dùng của AppsFlyer để cải thiện độ chính xác và khả năng nhắm mục tiêu.

Kiểu CUID và quyền riêng tư

Trì hoãn khởi động SDK cho đến khi CUID được đặt

Bạn có thể trì hoãn khởi động SDK cho đến khi CUID được đặt. Bên cạnh logic kinh doanh của bạn, hãy xem xét những thông tin sau trước khi làm vậy:

  • Ưu điểm:
    • Dữ liệu phân bổ luôn được liên kết với CUID.
    • Sử dụng CUID để liên kết dữ liệu phân bổ với dữ liệu khác mà bạn có trong hệ thống của mình. 
    • Điều này cho phép sử dụng và xử lý một cách tinh tế hơn các dữ liệu mà bạn nhận được từ AppsFlyer.
  • Nhược điểm:
    • Các hành động và sự kiện mà người dùng thực hiện, bao gồm mua hàng và đăng ký, không được ghi nhận vào AppsFlyer cho đến khi CUID được đặt. Điều này có thể dẫn đến sự sai khác và có thể ảnh hưởng đến việc phát hiện gian lận (không nhất thiết phải xác định được trước khi khởi tạo SDK).

Lưu ý: Nếu quá trình khởi động SDK bị trì hoãn cho đến khi có CUID và không có CUID nào được đặt, thì SDK sẽ không báo cáo bất kỳ dữ liệu nào (bao gồm cả lượt cài đặt).

Cài đặt CUID

Hướng dẫn dành cho nhà phát triển SDK Android

Để thiết lập ID người dùng Customer User ID:

public void setCustomerUserId(String id);

Ví dụ cách dùng:

AppsFlyerLib.getInstance().setCustomerUserId("myId");

Chúng tôi khuyên bạn nên đặt Customer User ID sớm trong luồng của ứng dụng, vì nó chỉ được liên kết với các sự kiện được báo cáo sau khi thiết lập:

  • Nếu setCustomerUserId được gọi trước khi gọi start, Customer User ID sẽ xuất hiện trong các báo cáo dữ liệu thô cho các lượt cài đặt và sự kiện.
  • Nếu được đặt sau, Customer User ID chỉ được liên kết với các sự kiện được ghi nhận sau khi cài đặt Customer User ID.
Nhận Customer User ID

Để tránh thiết lập lại giá trị Customer User ID sau lần khởi chạy đầu tiên và để giảm các cuộc gọi đến máy chủ của bạn để lấy Customer User ID, bạn có thể kiểm tra xem giá trị của nó có trống hay không bằng cách:

AppsFlyerProperties.getInstance().getString(AppsFlyerProperties.APP_USER_ID)
Trì hoãn Khởi tạo SDK cho customerUserID

Bạn có thể trì hoãn Khởi tạo SDK cho đến khi customerUserID được thiết lập.

Để chỉ ra rằng SDK sẽ trì hoãn việc khởi tạo cho cuộc gọi Customer User ID:

AppsFlyerLib.getInstance().waitForCustomerUserId(true);

ngay trước khi thực hiện phương pháp init(). Phần còn lại của Khởi tạo SDK nên được giữ nguyên.

Khi đã được cung cấp customerUserID, hãy gọi

AppsFlyerLib.getInstance().setCustomerIdAndLogSession("customer_id", this);

để cung cấp cho SDK customer user id liên quan và bắt đầu SDK.

Đoạn mã sẽ xuất hiện như sau:

Java Kotlin
public class AFApplication extends Application {
  private static final String AF_DEV_KEY = "qrdZGj123456789";
  @Override
  public void onCreate() {
    super.onCreate();
    AppsFlyerConversionListener conversionDataListener = 
    new AppsFlyerConversionListener() {
      ...
    };
    AppsFlyerLib.getInstance().waitForCustomerUserId(true);
    //WARNING! Removing above line doesn't cancel its effect.
    // Replace with this to stop waiting for CUID:
    // AppsFlyerLib.getInstance().waitForCustomerUserId(false);
    AppsFlyerLib.getInstance().init(AF_DEV_KEY, getConversionListener(), getApplicationContext());
    AppsFlyerLib.getInstance().start(this);
    // Do your magic to get the customerUserID
    // ...
    // any AppsFlyer SDK code invoked here will be discarded
   //Call the following API once the customerUserID is available:
 AppsFlyerLib.getInstance().setCustomerIdAndLogSession("customer_id", this);
  }
}

Hướng dẫn dành cho nhà phát triển SDK iOS

Để thiết lập ID người dùng Customer User ID:

Objective-C Swift
[AppsFlyerLib shared].customerUserID = @"my user id";

Trong iOS, Customer User ID cần được đặt cho mỗi lần khởi chạy ứng dụng. Chúng tôi khuyên bạn nên đặt Customer User ID sớm trong luồng của ứng dụng, vì nó chỉ được liên kết với các sự kiện được báo cáo sau khi thiết lập:

  • Nếu setCustomerUserId được gọi trước khi gọi start, Customer User ID sẽ xuất hiện trong các báo cáo dữ liệu thô cho các lượt cài đặt và sự kiện.
  • Nếu được đặt sau, Customer User ID chỉ được liên kết với các sự kiện được ghi nhận sau khi cài đặt Customer User ID.
Nhận Customer User ID

Để tránh thiết lập lại giá trị Customer User ID sau lần khởi chạy đầu tiên và để giảm các cuộc gọi đến máy chủ của bạn để lấy Customer User ID, bạn có thể kiểm tra xem giá trị của nó có trống hay không bằng cách:

Objective-C Swift
NSString *customerUserID = [AppsFlyerLib shared].customerUserID;
Trì hoãn Khởi tạo SDK cho customerUserID

Bạn có thể trì hoãn Khởi tạo SDK cho đến khi Customer User ID được thiết lập. Điều này hữu ích nếu điều bạn cần là dữ liệu cài đặt và sự kiện chứa Customer User ID của bạn.

Thực hiện mã sau:

Objective-C Swift
- (void)applicationDidBecomeActive:(UIApplication *)application {
    NSString *customUserId = [[NSUserDefaults standardUserDefaults] stringForKey:@"customerUserId"]; // Your custom logic of retrieving CUID
    if (customUserId != nil && ![customUserId  isEqual: @""]) {
        [AppsFlyerLib shared].customerUserID = customUserId; // Set CUID in AppsFlyer SDK for this session
        [[AppsFlyerLib shared] start]; // Start
    }
}

Phân bổ trên cơ sở người dùng

Giải pháp Phân bổ trên Cơ sở Người dùng (PBA) của AppsFlyer cung cấp cho bạn một cái nhìn bao quát về tác động của các chiến dịch trên web và di động, cũng như khả năng phân tích nỗ lực của bạn trong việc chuyển người dùng web sang ứng dụng di động của bạn và ngược lại.

Bạn phải đặt cùng một CUID trong cả môi trường di động và web, để bật tính năng thông tin chuyên sâu và phân tích đa nền tảng.