Definir IDs de usuário
Aprenda como definir IDs de usuário através do SDK da Braze. Estes são identificadores únicos que permitem rastrear usuários em dispositivos e plataformas, importar seus dados através da API de dados de usuários e enviar mensagens direcionadas através da API de envio de mensagens. Se você não atribuir um ID único a um usuário, a Braze atribuirá a ele um ID anônimo; no entanto, você não poderá usar esses recursos até que o faça.

Para wrapper SDKs não listados, use o método nativo relevante do Android ou Swift.
Sobre usuários anônimos
Após a integração do SDK do Braze, os usuários que iniciarem seu app pela primeira vez serão considerados “anônimos” até que você chame o método changeUser e atribua a eles um external_id. Uma vez atribuídas, não é possível torná-las anônimas novamente. No entanto, se o usuário desinstalar e reinstalar o app, ele se tornará anônimo novamente até que changeUser seja chamado.
Se um usuário previamente identificado iniciar uma sessão em um novo dispositivo, todas as suas atividades anônimas serão automaticamente sincronizadas com o perfil existente depois que você ligar para changeUser nesse dispositivo usando o endereço external_id. Isso inclui quaisquer atribuições, eventos ou histórico coletados durante a sessão no novo dispositivo.
Impedindo o rastreamento de usuários anônimos
Se o seu caso de uso exige que nenhum dado seja coletado antes que um usuário seja identificado, você pode adiar a inicialização do SDK da Braze até que o usuário faça login e um external_id esteja disponível. Defina um sinalizador no seu código que mude para true quando o usuário fizer login e inicialize o SDK somente quando esse sinalizador estiver definido.

Adie a inicialização apenas na primeira vez que um usuário baixar seu app (antes de um external_id ser definido). Se você impedir que o SDK seja inicializado toda vez que um usuário fizer logout ou iniciar uma nova sessão, isso interferirá no pré-carregamento de ativos de mensagens no app e cartões de conteúdo, o que pode causar erros de entregabilidade para essas Campaigns.
Definir um ID de usuário
Para definir um ID de usuário, chame o método changeUser() depois que o usuário fizer o login inicial. Os IDs devem ser exclusivos e seguir nossas práticas recomendadas de nomenclatura.
Se você estiver fazendo hash de um identificador exclusivo, normalize a entrada da sua função de hash. Por exemplo, ao fazer hash de um endereço de e-mail, remova espaços no início e no final e leve em conta a localização.
Para uma implementação padrão do Web SDK, você pode usar o seguinte método:
1
braze.changeUser(YOUR_USER_ID_STRING);
Se preferir usar o Google Tag Manager, você pode usar o tipo de tag Change User para chamar o método changeUser. Use-o sempre que um usuário fizer login ou for identificado com seu identificador exclusivo external_id.
Certifique-se de inserir o ID exclusivo do usuário atual no campo External User ID, geralmente preenchido usando uma variável da camada de dados enviada pelo seu website.

1
Braze.getInstance(context).changeUser(YOUR_USER_ID_STRING);
1
Braze.getInstance(context).changeUser(YOUR_USER_ID_STRING)
1
AppDelegate.braze?.changeUser(userId: "YOUR_USER_ID")
1
[AppDelegate.braze changeUser:@"YOUR_USER_ID_STRING"];

changeUser enfileira a troca de usuário e retorna imediatamente na thread de chamada. Qualquer setter de atributo chamado em braze.user depois disso é automaticamente serializado após as operações iniciadas por changeUser. A leitura de braze.user.id bloqueia a thread de chamada até que a troca de usuário seja totalmente concluída. Para contextos na thread principal ou sensíveis à latência, use as alternativas não bloqueantes.
1
2
3
4
5
6
7
// Completion handler — always delivers on the main thread.
AppDelegate.braze?.user.getId { userId in
print("User ID:", userId ?? "anonymous")
}
// Async/await (iOS 13.0+, tvOS 13.0+, watchOS 6.0+, macOS 10.15+)
let userId = await AppDelegate.braze?.user.getId()
1
2
3
4
// Completion handler — always delivers on the main thread.
[AppDelegate.braze.user getIdWithCompletion:^(NSString * _Nullable userId) {
NSLog(@"User ID: %@", userId ?: @"anonymous");
}];
1
BrazePlugin.changeUser("YOUR_USER_ID");
1
m.Braze.setUserId(YOUR_USER_ID_STRING)
1
AppboyBinding.ChangeUser("YOUR_USER_ID_STRING");
1
Braze.changeUser("YOUR_USER_ID_STRING");
Como o changeUser() funciona
Quando você chama changeUser(), os seguintes comportamentos se aplicam:
- Chamar
changeUser()com o mesmo ID de usuário que já está definido não afeta a contagem de sessões. - Chamar
changeUser()com um ID de usuário diferente encerra automaticamente a sessão atual e inicia uma nova. - Quando um usuário anônimo chama
changeUser()com um novo ID de usuário (que ainda não existe na Braze), os dados do perfil anônimo são mesclados ao novo perfil identificado. - Quando um usuário anônimo chama
changeUser()com um ID de usuário existente, os dados do perfil anônimo não são mesclados ao perfil identificado.

Chamar changeUser() dispara um envio de dados como parte do encerramento da sessão do usuário atual. O SDK envia automaticamente todos os dados pendentes do usuário anterior antes de alternar para o novo usuário, então não é necessário solicitar manualmente um envio de dados antes de chamar changeUser().

Não atribua um único ID de usuário compartilhado (por exemplo, um ID externo padrão estático) nem chame changeUser() quando um usuário fizer logout. Fazer isso impede o reengajamento de qualquer usuário previamente conectado em dispositivos compartilhados e faz com que todos os dados sejam registrados em um único ID de usuário, o que pode causar comportamentos inesperados em outros recursos. Em vez disso, rastreie todos os IDs de usuário separadamente e garanta que o processo de logout do seu app permita alternar de volta para um usuário conectado anteriormente. Quando uma nova sessão é iniciada, a Braze atualiza automaticamente os dados do perfil recém-ativo.
Aliases de usuário
Como funcionam
Embora usuários anônimos não tenham external_ids, você pode atribuir a eles um alias de usuário em vez disso. Você deve atribuir um alias de usuário quando quiser adicionar outros identificadores ao usuário, mas não souber qual é o external_id deles (por exemplo, eles não estão logados). Com aliases de usuário, você também pode:
- Usar a API Braze para registrar eventos e atributos associados a usuários anônimos
- Usar o filtro de segmentação ID de Usuário Externo está em branco para direcionar usuários anônimos em seu envio de mensagens
Definindo um alias de usuário
Um alias de usuário consiste em duas partes: um nome e um rótulo. O nome se refere ao identificador em si, enquanto o rótulo indica o tipo de identificador ao qual ele pertence. Por exemplo, se você tem um usuário em uma plataforma de atendimento ao cliente de terceiros com o ID externo 987654, pode atribuir a ele um alias na Braze com o nome 987654 e o rótulo support_id, para rastreá-lo entre plataformas.
1
braze.getUser().addAlias(ALIAS_NAME, ALIAS_LABEL);
1
Braze.getInstance(context).getCurrentUser().addAlias(ALIAS_NAME, ALIAS_LABEL);
1
Braze.getInstance(context).currentUser?.addAlias(ALIAS_NAME, ALIAS_LABEL)
1
Appboy.sharedInstance()?.user.addAlias(ALIAS_NAME, ALIAS_LABEL)
1
[[Appboy sharedInstance].user addAlias:ALIAS_NAME withLabel:ALIAS_LABEL];
1
2
3
4
{
"alias_name" : (required, string),
"alias_label" : (required, string)
}
1
Braze.addAlias("ALIAS_NAME", "ALIAS_LABEL");
Melhores práticas de nomenclatura de IDs
Recomendamos que você crie IDs de usuário usando o padrão Identificador Único Universal (UUID), o que significa que são strings de 128 bits aleatórias e bem distribuídas.
Alternativamente, você pode fazer hash de um identificador único existente (como um nome ou endereço de e-mail) para gerar seus IDs de usuário. Se fizer isso, certifique-se de implementar a autenticação do SDK para evitar a simulação de usuários.

Não use um valor previsível ou um número incremental para seu ID de usuário. Isso pode expor sua organização a ataques maliciosos ou exfiltração de dados.
Para maior segurança, use a autenticação do SDK.
Embora seja essencial que você nomeie corretamente seus IDs de usuário desde o início, você sempre pode renomeá-los no futuro usando o endpoint /users/external_ids/rename.
| Tipos de ID não recomendados | Exemplo não recomendado |
|---|---|
| ID de perfil visível do usuário ou nome de usuário | JonDoe829525552 |
| Endereço de e-mail | [email protected] |
| ID de usuário auto-incremental | 123 |

Evite compartilhar detalhes sobre como você cria IDs de usuário, pois isso pode expor sua organização a ataques maliciosos ou exfiltração de dados.