Campo da ID de usuário cliente (CUID)

Visão geral: faça referência cruzada dos seus dados internos com os dados de atribuição da AppsFlyer pelo campo ID de cliente do usuário (CUID).

Como implementar o CUID

O campo ID de cliente do usuário (CUID) é um identificador de usuário único definido pelos proprietários de aplicativos e sites.

  • CUID é reportado por você para a AppsFlyer usando APIs ou SDKs da AppsFlyer.
  • A AppsFlyer preenche o campo CUID em relatórios de dados brutos conforme necessário.
  • Use o CUID para fazer referência cruzada entre os dados de atribuição da AppsFlyer e os seus outros dados usando o CUID como chave.
  • Exemplo: um usuário com dois dispositivos tem o mesmo CUID ("1234567"). Cada vez que executam um evento em um dispositivo, ele é gravado junto do CUID. Isso permite ao anunciante agregar os dados brutos de ambos os dispositivos em uma visão completa do usuário.
  • O CUID é usado pelas soluções Audiences e Atribuição Baseada em Pessoas da AppsFlyer para maior precisão e direcionamento.

Design e privacidade do CUID

Considerações sobre a implementação do CUID

Use essa API após considerar sua lógica de negócios e os seguintes prós e contras:

  • Prós:
    • Os dados de atribuição são sempre associados a um CUID.
    • Use o CUID para associar dados de atribuição a outros dados que você tem em seus sistemas. 
    • Isso permite uso e processamento mais sofisticados dos dados que você obtém da AppsFlyer.
  • Contras:
    • As ações e eventos que os usuários realizam, como compras e assinaturas, não são registrados na AppsFlyer até que o CUID seja definido. Isso pode levar a discrepâncias e aumentar a exposição a fraudes.

Instruções para desenvolvedores do Android SDK

Para definir sua identificação de usuário cliente:

public void setCustomerUserId(String id);

Exemplo de uso:

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

Recomendamos definir o ID de usuário cliente no início do fluxo do aplicativo, pois ele está associado apenas aos eventos relatados após sua configuração:

  • Se setCustomerUserID for chamado antes de chamar start, a ID de usuário cliente aparecerá nos relatórios de dados brutos para instalações e eventos.
  • Se for definida depois, a ID de usuário cliente será associada apenas a eventos registrados após a configuração da ID de usuário cliente.
Obtenção do ID de usuário do cliente:

Para evitar definir o valor do ID de usuário cliente novamente após a primeira inicialização e reduzir as chamadas para o servidor a fim de obter o ID de usuário cliente, você pode verificar se o valor está vazio ou não, usando:

AppsFlyerProperties.getInstance().getString(AppsFlyerProperties.APP_USER_ID)
Atrasar init do SDK para customerUserID

É possível atrasar a inicialização do SDK até que o customerUserID esteja definido.

Para indicar que o SDK deve atrasar a inicialização para a chamada do ID de usuário cliente:

AppsFlyerLib.getInstance().waitForCustomerUserId(true);

imediatamente antes do método init(). O resto da inicialização do SDK deve permanecer inalterado.

Uma vez que o customerUserID foi fornecido, chame

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

para fornecer o SDK com o ID de usuário do cliente relevante e iniciar o SDK.

O código deve aparecer da seguinte maneira:

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

Instruções para desenvolvedores do iOS SDK

Para definir sua identificação de usuário cliente:

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

No iOS, o ID de usuário cliente precisa ser definido a cada inicialização do aplicativo. Recomendamos definir o ID de usuário cliente no início do fluxo do aplicativo, pois ele está associado apenas aos eventos relatados após sua configuração:

  • Se setCustomerUserID for chamado antes de chamar start, a ID de usuário cliente aparecerá nos relatórios de dados brutos para instalações e eventos.
  • Se for definida depois, a ID de usuário cliente será associada apenas a eventos registrados após a configuração da ID de usuário cliente.
Obtenção do ID de usuário do cliente:

Para evitar definir o valor do ID de usuário cliente novamente após a primeira inicialização e reduzir as chamadas para o servidor a fim de obter o ID de usuário cliente, você pode verificar se o valor está vazio ou não, usando:

Objective-C Swift
NSString *customerUserID = [AppsFlyerLib shared].customerUserID;
Atrasar init do SDK para customerUserID

É possível atrasar a inicialização do SDK até que o Customer User ID esteja definido. Isso é útil se para você for importante que os dados de instalação e evento contenham seu ID de usuário do cliente.

Implemente o seguinte código:

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

Atribuição baseada em pessoas

A Atribuição baseada em pessoas da AppsFlyer (PBA) oferece uma ampla perspectiva sobre o impacto das campanhas móveis e da web, assim como a capacidade de analisar seus esforços para mudar os usuários da web para seu aplicativo móvel e vice-versa.

Você deve definir o mesmo CUID em ambientes mobile e da web, permitindo insights e análises entre as plataformas. 

Este artigo foi útil?