Code personnalisé et pont JavaScript pour les bannières
Lorsque vous utilisez le bloc éditeur de code personnalisé dans le compositeur de bannières, vous devez appeler
brazeBridge.logClick()depuis votre code HTML personnalisé pour enregistrer les clics. Les bannières utilisent le même pont JavaScript que les messages in-app HTML : les mêmes méthodes et modèles s’appliquent donc.
Si vous utilisez du code HTML personnalisé dans votre conception de bannière, le SDK Braze ne peut pas associer automatiquement des écouteurs de clic aux éléments de votre code personnalisé. Vous devez appeler explicitement brazeBridge.logClick() pour tout élément cliquable (liens, boutons et autres éléments similaires) que vous souhaitez suivre dans les analyses de campagne.
Par exemple, pour enregistrer un clic lorsqu’un utilisateur appuie sur un bouton dans votre code HTML personnalisé :
1
2
3
<button onclick="brazeBridge.logClick()">
Click me
</button>
Pour obtenir la référence complète du pont JavaScript, y compris toutes les méthodes disponibles et les options de suivi des clics, consultez la section ci-dessous.
Pont JavaScript
Custom HTML in-app messages and Banners support a JavaScript “bridge” to interface with the Braze SDK, allowing you to trigger custom Braze actions when users click on elements with links or otherwise engage with your content. These methods exist with the global brazeBridge or appboyBridge variable.

Braze recommends that you use the global brazeBridge variable. The global appboyBridge variable is deprecated but will continue to function for existing users. If you are using appboyBridge, we suggest you migrate to brazeBridge.
appboyBridge was deprecated in the following SDK versions:
For example, to log a custom attribute and custom event, then close the message, you could use the following JavaScript within your custom HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<button id="button">Set Favorite Color</button>
<script>
// Wait for the `brazeBridge` ready event, "ab.BridgeReady"
window.addEventListener("ab.BridgeReady", function(){
// Event handler when the button is clicked
document.querySelector("#button").onclick = function(){
// Track Button 1 clicks for analytics
// Note: This requires Android SDK v8.0.0, Web SDK v2.5.0, Swift SDK v5.4.0, and iOS SDK v3.23.0
brazeBridge.logClick("0");
// Set the user's custom attribute
brazeBridge.getUser().setCustomUserAttribute("favorite color", "blue");
// Track a custom event
brazeBridge.logCustomEvent("completed survey");
// Send the enqueued data to Braze
brazeBridge.requestImmediateDataFlush();
// Close the message
brazeBridge.closeMessage();
};
}, false);
</script>
JavaScript Bridge methods
The following JavaScript methods are supported within custom HTML for in-app messages and Banners:

You cannot reference Liquid to insert customAttributes into JavaScript Bridge methods.
| Nom de la méthode | Description |
|---|---|
brazeBridge.closeMessage() |
Ferme le message actuel. Le comportement diffère selon le canal : Messages in-app : ferme uniquement l’interface. Aucun rejet n’est enregistré et aucune suppression côté serveur n’a lieu. Bannières : équivaut à appeler logBannerDismissal. Cela enregistre un rejet de bannière, supprime la bannière de l’interface et empêche son affichage pour l’utilisateur. Cela redéclenche également tous les abonnés subscribeToBannersUpdates actifs. N’appelez pas cette méthode si le message est déjà en cours de fermeture ou s’il se fermera automatiquement en raison du traitement d’un lien profond. |
window.addEventListener("ab.BridgeReady", function(){...}, false) |
Méthode de rappel déclenchée une fois que le chargement de brazeBridge est terminé. Tout le code JavaScript doit être exécuté dans cette fonction de rappel. |
brazeBridge.requestImmediateDataFlush() |
Envoie les données en file d’attente vers les serveurs Braze. Documentation JS |
brazeBridge.logClick(button_id_string) |
Enregistre un clic de bouton pour un ID de bouton donné. Lorsque button_id_string est laissé vide, un clic sur le corps du message est enregistré à la place. Le paramètre button_id_string peut être transmis comme button_id dans les événements de clics des messages in-app via Currents. Cette méthode a été introduite dans le SDK Android v8.0.0, le SDK Web v2.5.0 et le SDK iOS v3.23.0. Le paramètre button_id_string n’accepte que les caractères alphanumériques, les espaces, les tirets et les traits de soulignement. L’ajout d’un caractère accentué (par exemple ö, â, ê) interrompt le suivi des clics sur le bouton, ce qui fait que la chaîne de caractères du bouton n’apparaît pas dans la section d’analyse de la campagne et que les clics ne sont pas comptabilisés. |
brazeBridge.logCustomEvent(eventName,eventProperties) |
Enregistre un événement personnalisé. Documentation JS |
brazeBridge.logPurchase(productId, price, currencyCode, quantity, purchaseProperties) |
Enregistre un achat. Documentation JS |
brazeBridge.getUser().addAlias(alias, label) |
Ajoute un alias à un utilisateur. Introduit dans le SDK Web v2.7.0, le SDK Android v8.1.0 et le SDK iOS v3.26.0. Documentation JS |
brazeBridge.getUser().addToCustomAttributeArray(key, value) |
Ajoute une valeur à un tableau d’attributs personnalisés. Documentation JS |
brazeBridge.getUser().addToSubscriptionGroup(subscriptionGroupId) |
Ajoute un utilisateur à un groupe d’abonnement e-mail ou SMS. Documentation JS. Cette méthode a été introduite dans le SDK Android v15.0.0, le SDK Web v3.4.0 et le SDK iOS v4.3.3. |
brazeBridge.getUser().removeFromSubscriptionGroup(subscriptionGroupId) |
Supprime un utilisateur d’un groupe d’abonnement e-mail ou SMS. Documentation JS. Cette méthode a été introduite dans le SDK Android v15.0.0, le SDK Web v3.4.0 et le SDK iOS v4.3.3. |
brazeBridge.getUser().setFirstName(firstName) |
Définit le prénom d’un utilisateur. Documentation JS |
brazeBridge.getUser().setLastName(lastName) |
Définit le nom de famille d’un utilisateur. Documentation JS |
brazeBridge.getUser().setEmail(email) |
Définit l’adresse e-mail d’un utilisateur. Documentation JS |
brazeBridge.getUser().setGender(gender) |
Définit le sexe d’un utilisateur. Documentation JS |
brazeBridge.getUser().setDateOfBirth(year, month, day) |
Définit la date de naissance d’un utilisateur. Documentation JS |
brazeBridge.getUser().setCountry(country) |
Définit le pays d’un utilisateur. Documentation JS |
brazeBridge.getUser().setHomeCity(city) |
Définit la ville d’un utilisateur. Documentation JS |
brazeBridge.getUser().setEmailNotificationSubscriptionType(notificationSubscriptionType) |
Définit l’état d’abonnement aux notifications par e-mail. Documentation JS |
brazeBridge.getUser().setPushNotificationSubscriptionType(notificationSubscriptionType) |
Définit l’état d’abonnement aux notifications push. Documentation JS |
brazeBridge.getUser().setPhoneNumber(phoneNumber) |
Définit le numéro de téléphone d’un utilisateur. Documentation JS |
brazeBridge.getUser().setCustomUserAttribute(key, value, merge) |
Définit un attribut utilisateur personnalisé. Documentation JS |
brazeBridge.getUser().removeFromCustomAttributeArray(key, value) |
Supprime une valeur d’un tableau d’attributs personnalisés. Documentation JS |
brazeBridge.getUser().incrementCustomUserAttribute(key, incrementValue) |
Incrémente un attribut utilisateur personnalisé. Documentation JS |
brazeBridge.getUser().setLanguage(language) |
Définit la langue d’un utilisateur. Introduit dans le SDK Android v5.0.0 et le SDK Web v2.6.0. Documentation JS |
brazeBridge.getUser().setCustomLocationAttribute(key, latitude, longitude) |
Définit un attribut d’emplacement personnalisé. Introduit dans le SDK Android v5.0.0. Documentation JS |
brazeBridge.web.registerAppboyPushMessages(successCallback, deniedCallback) |
S’inscrire aux notifications push Web (Web uniquement). Cette méthode est sans effet lorsqu’elle est appelée dans un environnement non Web. Documentation JS |
brazeBridge.requestPushPermission(successCallback, deniedCallback) |
S’inscrire aux notifications push sur Web, iOS et Android. Remarque : les rappels de la méthode sont uniquement pris en charge sur le Web. Cette méthode a été introduite à partir du SDK Web v4.0.0, du SDK Android v21.0.0 et du SDK Swift v5.4.0. Documentation JS |
brazeBridge.changeUser(id, sdkAuthSignature?) |
Identifie l’utilisateur avec un ID unique. Documentation JS Cette méthode a été introduite dans le SDK Web v4.3.0. |
Button click tracking
Use the brazeBridge.logClick(button_id) method to track clicks in your custom HTML.

Banners: Only brazeBridge.logClick() (without arguments) is supported. Button IDs and custom button tracking are supported for in-app messages only.
For in-app messages, you can programmatically track “Button 1”, “Button 2”, and “Body Clicks” using brazeBridge.logClick('0'), brazeBridge.logClick('1'), or brazeBridge.logClick(), respectively.
| Clicks | Method | Supported |
|---|---|---|
| Body click | brazeBridge.logClick() |
In-app messages and Banners |
| Button 1 | brazeBridge.logClick('0') |
In-app messages only |
| Button 2 | brazeBridge.logClick('1') |
In-app messages only |
| Custom button tracking | brazeBridge.logClick('your custom name here') |
In-app messages only |
For in-app messages, you can track multiple button click events per impression. For example, to close a message and log a Button 2 click:
1
<a href="#" onclick="brazeBridge.logClick('1');brazeBridge.closeMessage()">✖</a>
You can also track new custom button names—up to 100 unique names per campaign. For example, brazeBridge.logClick('blue button') or brazeBridge.logClick('viewed carousel page 3').

When using JavaScript methods inside an onclick attribute, wrap string values in single quotes to avoid conflicts with the double-quoted HTML attribute.
Limitations (in-app messages only)
- You can have up to 100 unique button IDs per campaign.
- Button IDs can have up to 255 characters each.
- Button IDs can only include letters, numbers, spaces, dashes, and underscores.