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

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

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

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

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

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

Внедрение CUID

Используйте этот API после рассмотрения вашей бизнес-логики и следующих плюсов и минусов:

  • Плюсы:
    • Данные атрибуции всегда связаны с CUID.
    • CUID позволяет устанавливать соответствия между данными атрибуции и другими данными в вашей системе.
    • Это позволяет более точно использовать и обрабатывать данные, которые вы получаете от AppsFlyer.
  • Минусы:
    • Действия и события, которые выполняют пользователи, включая покупки и подписки, не регистрируются в AppsFlyer, пока не будет задан 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 и для мобильных приложений, и для веба, чтобы проводить кросс-платформенный анализ. 

Была ли эта статья полезной?