Définir les ID d’utilisateur
Découvrez comment définir des ID d’utilisateur via le SDK Braze. Il s’agit d’identifiants uniques qui vous permettent de suivre les utilisateurs sur différents appareils et plateformes, d’importer leurs données via l’API de données utilisateur et d’envoyer des messages ciblés via l’API d’envoi de messages. Si vous n’attribuez pas d’ID unique à un utilisateur, Braze lui attribue un ID anonyme à la place. Toutefois, vous ne pourrez pas utiliser ces fonctionnalités tant que vous ne l’aurez pas fait.

Pour les SDK wrapper non répertoriés, utilisez plutôt la méthode native Android ou Swift correspondante.
À propos des utilisateurs anonymes
Après avoir intégré le SDK Braze, les utilisateurs qui lancent votre application pour la première fois sont considérés comme « anonymes » jusqu’à ce que vous appeliez la méthode changeUser et que vous leur attribuiez un external_id. Une fois celui-ci attribué, vous ne pouvez plus les rendre anonymes. Cependant, s’ils désinstallent et réinstallent votre application, ils redeviennent anonymes jusqu’à ce que changeUser soit appelé.
Si un utilisateur précédemment identifié démarre une session sur un nouvel appareil, Braze fusionne les champs spécifiques du profil anonyme qui n’existent pas déjà sur le profil identifié après que vous avez appelé changeUser sur cet appareil à l’aide de son external_id. Toutes les données ne sont pas transférées : seuls les champs qui ne sont pas déjà renseignés sur le profil identifié sont fusionnés. Pour la liste complète des champs transférés, consultez le comportement de fusion.
Empêcher le suivi des utilisateurs anonymes
Si votre cas d’usage exige qu’aucune donnée ne soit collectée avant qu’un utilisateur ne soit identifié, vous pouvez retarder l’initialisation du SDK Braze jusqu’à ce que l’utilisateur se connecte et qu’un external_id soit disponible. Définissez un indicateur dans votre code qui passe à true lorsque l’utilisateur se connecte, et n’initialisez le SDK que lorsque cet indicateur est défini.

Ne retardez l’initialisation que la première fois qu’un utilisateur télécharge votre application (avant qu’un external_id ne soit défini). Si vous empêchez le SDK de s’initialiser chaque fois qu’un utilisateur se déconnecte ou démarre une nouvelle session, cela interférera avec le préchargement des ressources de messages in-app et de Content Cards, ce qui peut entraîner des erreurs de livrabilité pour ces Campaigns.
Définir un ID utilisateur
Pour définir un ID utilisateur, appelez la méthode changeUser() une fois que l’utilisateur s’est connecté pour la première fois. Les ID doivent être uniques et respecter nos bonnes pratiques de dénomination.
Si vous hachez un identifiant unique, veillez à normaliser l’entrée de votre fonction de hachage. Par exemple, lors du hachage d’une adresse e-mail, supprimez les espaces en début et en fin de chaîne et tenez compte de la localisation.
Pour un déploiement standard du SDK Web, vous pouvez utiliser la méthode suivante :
braze.changeUser(YOUR_USER_ID_STRING);
Si vous préférez utiliser Google Tag Manager à la place, vous pouvez utiliser le type d’étiquette Change User pour appeler la méthode changeUser. Utilisez-le chaque fois qu’un utilisateur se connecte ou est identifié avec son identifiant unique external_id.
Veillez à saisir l’ID unique de l’utilisateur actuel dans le champ External User ID, généralement rempli à l’aide d’une variable de la couche de données envoyée par votre site web.

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

changeUser met en file d’attente le changement d’utilisateur et retourne immédiatement sur le fil d’exécution appelant. Tout appel de setter d’attribut sur braze.user par la suite est automatiquement sérialisé derrière les opérations initiées par changeUser. La lecture de braze.user.id bloque le fil d’exécution appelant jusqu’à ce que le changement d’utilisateur soit entièrement terminé. Pour les contextes sur le fil principal ou sensibles à la latence, utilisez plutôt les alternatives non bloquantes.
// 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()
// Completion handler — always delivers on the main thread.
[AppDelegate.braze.user getIdWithCompletion:^(NSString * _Nullable userId) {
NSLog(@"User ID: %@", userId ?: @"anonymous");
}];
BrazePlugin.changeUser("YOUR_USER_ID");
m.Braze.setUserId(YOUR_USER_ID_STRING)
AppboyBinding.ChangeUser("YOUR_USER_ID_STRING");
Braze.changeUser("YOUR_USER_ID_STRING");
Fonctionnement de changeUser()
Lorsque vous appelez changeUser(), les comportements suivants s’appliquent :
- Appeler
changeUser()avec le même ID utilisateur déjà défini n’a aucun effet sur le compteur de sessions. - Appeler
changeUser()avec un ID utilisateur différent met automatiquement fin à la session en cours et en démarre une nouvelle. - Lorsqu’un utilisateur anonyme appelle
changeUser()avec un nouvel ID utilisateur (qui n’existe pas encore dans Braze), les données du profil anonyme sont fusionnées dans le nouveau profil identifié. - Lorsqu’un utilisateur anonyme appelle
changeUser()avec un ID utilisateur existant, les données du profil anonyme ne sont pas fusionnées dans le profil identifié.

L’appel à changeUser() déclenche un envoi de données dans le cadre de la fermeture de la session de l’utilisateur actuel. Le SDK envoie automatiquement toutes les données en attente de l’utilisateur précédent avant de basculer vers le nouvel utilisateur, vous n’avez donc pas besoin de demander manuellement un envoi de données avant d’appeler changeUser().

N’attribuez pas un ID utilisateur unique et partagé (par exemple, un ID externe statique par défaut) et n’appelez pas changeUser() lorsqu’un utilisateur se déconnecte. Cela vous empêcherait de réengager les utilisateurs précédemment connectés sur des appareils partagés et entraînerait l’enregistrement de toutes les données sous un seul ID utilisateur, ce qui peut provoquer des comportements inattendus dans d’autres fonctionnalités. À la place, suivez séparément tous les ID utilisateurs et assurez-vous que le processus de déconnexion de votre application permet de revenir à un utilisateur précédemment connecté. Lorsqu’une nouvelle session démarre, Braze actualise automatiquement les données du profil nouvellement actif.
Gestion des notifications push après la déconnexion
Lorsqu’un utilisateur se déconnecte de votre application, appelez la méthode logout() ou unregisterPush() du SDK Braze dans le cadre de votre flux de déconnexion. Lorsque l’un ou l’autre de ces appels aboutit, Braze supprime immédiatement le jeton de notification push de l’appareil du profil utilisateur actuel, de sorte que Braze ne cible plus cet appareil pour les futures Campaigns de notification push.
- Pour une déconnexion complète, appelez
logout()afin de désenregistrer les notifications push et, en cas de succès, d’effacer les données locales du SDK et de le désactiver. Un appel réussi àlogout()exécute déjàwipeData()pour vous. - Pour arrêter uniquement les notifications push, appelez
unregisterPush()afin de supprimer le jeton de notification push du profil utilisateur et d’effacer le jeton stocké localement, sans effacer les autres données du SDK.
Pour les détails d’implémentation, la gestion des erreurs et les étapes de réenregistrement, consultez Gérer la collecte de données pour votre plateforme :

Si une notification push est déjà en cours d’envoi lorsque logout() ou unregisterPush() aboutit, cette notification peut tout de même être livrée à l’appareil.
Alias d’utilisateur
Fonctionnement
Bien que les utilisateurs anonymes ne possèdent pas d’external_ids, vous pouvez leur attribuer un alias d’utilisateur à la place. Vous devez attribuer un alias d’utilisateur lorsque vous souhaitez ajouter d’autres identifiants à l’utilisateur mais que vous ne connaissez pas son external_id (par exemple, s’il n’est pas connecté). Avec les alias d’utilisateur, vous pouvez également :
- Utiliser l’API Braze pour journaliser les événements et les attributs associés aux utilisateurs anonymes
- Utiliser le filtre de segmentation L’ID utilisateur externe est vide pour cibler les utilisateurs anonymes dans vos communications
Définir un alias d’utilisateur
Un alias d’utilisateur se compose de deux parties : un nom et une étiquette. Le nom fait référence à l’identifiant lui-même, tandis que l’étiquette fait référence au type d’identifiant auquel il appartient. Par exemple, si vous avez un utilisateur dans une plateforme tierce de support client avec l’ID externe 987654, vous pouvez lui attribuer un alias dans Braze avec le nom 987654 et l’étiquette support_id, afin de pouvoir le suivre sur toutes les plateformes.
braze.getUser().addAlias(ALIAS_NAME, ALIAS_LABEL);
Braze.getInstance(context).getCurrentUser().addAlias(ALIAS_NAME, ALIAS_LABEL);
Braze.getInstance(context).currentUser?.addAlias(ALIAS_NAME, ALIAS_LABEL)
Appboy.sharedInstance()?.user.addAlias(ALIAS_NAME, ALIAS_LABEL)
[[Appboy sharedInstance].user addAlias:ALIAS_NAME withLabel:ALIAS_LABEL];
{
"alias_name" : (required, string),
"alias_label" : (required, string)
}
Braze.addAlias("ALIAS_NAME", "ALIAS_LABEL");
Bonnes pratiques de dénomination des ID
Nous vous recommandons de créer des ID utilisateur en utilisant la norme UUID (Universally Unique Identifier), c’est-à-dire des chaînes de caractères de 128 bits, aléatoires et bien réparties.
Vous pouvez également hacher un identifiant unique existant (tel qu’un nom ou une adresse e-mail) pour générer vos ID utilisateur. Dans ce cas, veillez à mettre en œuvre l’authentification SDK afin d’empêcher l’usurpation d’identité.

N’utilisez pas une valeur facile à deviner ou un numéro incrémentiel pour votre ID utilisateur. Cela pourrait exposer votre organisation à des attaques malveillantes ou à l’exfiltration de données.
Pour une sécurité accrue, utilisez l’authentification SDK.
Bien qu’il soit essentiel de nommer correctement vos ID utilisateur dès le départ, vous pouvez toujours les renommer ultérieurement via l’endpoint /users/external_ids/rename.
| Types d’ID déconseillés | Exemple déconseillé |
|---|---|
| ID de profil visible ou nom d’utilisateur | JonDoe829525552 |
| Adresse e-mail | [email protected] |
| ID utilisateur à incrémentation automatique | 123 |

Évitez de divulguer des informations sur la manière dont vous créez les ID utilisateur, car cela pourrait exposer votre organisation à des attaques malveillantes ou à l’exfiltration de données.