Поле Идентификатор клиента (CUID)

Краткий обзор. Определение соответствия между вашими данными и данными атрибуции AppsFlyer по полю CUID (Идентификатор клиента).

Использование CUID

Идентификатор клиента (CUID) — это уникальный идентификатор пользователя, который задают владельцы приложений и веб-сайтов.

  • Вы предоставляете CUID в AppsFlyer через API или SDK AppsFlyer.
  • AppsFlyer соответственно заполняет поле CUID в отчетах по сырым данным.
  • CUID позволяет устанавливать соответствия между данными атрибуции AppsFlyer и другими вашими данными, используя CUID в качестве ключа.
  • Пример: у пользователя с двумя устройствами один CUID (1234567). Каждый раз, когда пользователь совершает какое-либо действие на одном из устройств, оно регистрируется с помощью этого CUID. Это позволяет рекламодателю агрегировать сырые данные по обоим устройствам и иметь целостное представление о действиях пользователя.
  • CUID применяется в AppsFlyer Audiences и атрибуции People-Based для точного таргетинга.

CUID и конфиденциальность

Отсрочка инициализации SDK до определения CUID

Вы можете отложить инициализацию SDK, пока не будет задан CUID. Прежде чем это сделать, помимо бизнес-логики примите во внимание следующее:

  • Плюсы:
    • Данные атрибуции всегда связаны с CUID.
    • CUID позволяет устанавливать соответствия между данными атрибуции и другими данными в вашей системе.
    • Это позволяет более точно использовать и обрабатывать данные, которые вы получаете от AppsFlyer.
  • Минусы:
    • Действия и события, которые выполняют пользователи, включая покупки и подписки, не регистрируются в AppsFlyer, пока не будет задан CUID. Это может привести к несоответствиям и повлиять на выявление мошенничества (которое не всегда можно определить до инициализации SDK).

Настройка идентификатора CUID

Указания для разработчиков по SDK для Android

Для установки своего Customer User ID используйте такой код:

public void setCustomerUserId(String id);

Пример использования:

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

Рекомендуется установить свой ID клиента на раннем этапе продвижения приложения, так как после установки этого идентификатора только он привязывается к событиям, включаемым в отчеты:

  • Если вызов setCustomerUserId выполняется перед вызовом start, идентификатор клиента будет отображаться в отчетах по сырым данным и для установок, и для событий.
  • Если задать ID клиента позже, он будет привязан только к событиям, зарегистрированным после настройки этого идентификатора.
Получение идентификатора клиента

Чтобы избежать необходимости повторно устанавливать значение ID клиента после первого запуска и многократно обращаться к серверу для его получения, проверьте, задано ли его значение, с помощью этого кода:

AppsFlyerProperties.getInstance().getString(AppsFlyerProperties.APP_USER_ID)
Задержка инициализации SDK для идентификатора customerUserID

Можно отложить инициализацию SDK до настройки идентификатора customerUserID.

Чтобы указать, что инициализацию SDK необходимо отложить до установки идентификатора клиента, выполните такой вызов:

AppsFlyerLib.getInstance().waitForCustomerUserId(true);

непосредственно перед методом init(). Остальную часть инициализации SDK следует оставить без изменений.

После передачи customerUserID выполните вызов

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

чтобы передать SDK соответствующий идентификатор клиента User ID и запустить SDK.

Должен отобразиться следующий код:

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);
  }
}

Указания для разработчиков по SDK для iOS

Для установки своего Customer User ID используйте такой код:

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

В iOS идентификатор пользователя необходимо устанавливать с каждым запуском приложения. Рекомендуется установить свой ID клиента на раннем этапе продвижения приложения, так как после установки этого идентификатора только он привязывается к событиям, включаемым в отчеты:

  • Если вызов setCustomerUserId выполняется перед вызовом start, идентификатор клиента будет отображаться в отчетах по сырым данным и для установок, и для событий.
  • Если задать ID клиента позже, он будет привязан только к событиям, зарегистрированным после настройки этого идентификатора.
Получение идентификатора клиента

Чтобы избежать необходимости повторно устанавливать значение ID клиента после первого запуска и многократно обращаться к серверу для его получения, проверьте, задано ли его значение, с помощью этого кода:

Objective-C Swift
NSString *customerUserID = [AppsFlyerLib shared].customerUserID;
Задержка инициализации SDK для идентификатора customerUserID

Можно отложить инициализацию SDK до настройки идентификатора customerUserID. Это полезно, если вы хотите, чтобы в ваших данных об установках и событиях содержался идентификатор пользователя.

Добавьте следующий код:

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

People-Based Attribution

Атрибуция People-based (PBA) дает вам подробное представление о результативности веб- и мобильных кампаний, а также позволяет проанализировать ваши действия по переводу пользователей веба на ваше мобильное приложение и наоборот.

Нужно установить один и тот же CUID и для мобильных приложений, и для веба, чтобы проводить кросс-платформенный анализ.