Skip to content

Code personnalisé et pont JavaScript pour les bannières

Lorsque vous utilisez le bloc éditeur de code personnalisé dans le compositeur de bannières, il est nécessaire d’appelerbrazeBridge.logClick() depuis votre code HTML personnalisé pour enregistrer les clics. Les bannières utilisent le même pont JavaScript que les messages in-app, donc les mêmes méthodes et modèles s’appliquent.

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é. Il est brazeBridge.logClick()nécessaire d’appeler explicitement 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, veuillez consulter 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.

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:

Nom de la méthode Descriptif
brazeBridge.closeMessage() Fermer le message in-app actuel. N’appelez pas cette méthode si le message in-app 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 une fois que le chargement de brazeBridge est terminé. Tout le code JavaScript doit être exécuté dans cette fonction de rappel.
brazeBridge.requestImmediateDataFlush() Purger les données de file d’attente vers les serveurs Braze. Documentation JS
brazeBridge.logClick(button_id_string) Cliquez sur un bouton pour obtenir un ID de bouton donné. Lorsque button_id_string est laissé vide, un clic sur le corps du message est enregistré à la place. La button_id_string peut être transmise 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 site 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 avec un accent (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/analytique de la campagne et que les clics ne sont pas comptabilisés.
brazeBridge.logCustomEvent(eventName,eventProperties) Enregistrer un événement personnalisé. Documentation JS
brazeBridge.logPurchase(productId, price, currencyCode, quantity, purchaseProperties) Enregistrer un achat. Documentation JS
brazeBridge.getUser().addAlias(alias, label) Ajoute un alias à un utilisateur. Introduit dans Web SDK v2.7.0, Android v8.1.0, et iOS SDK v3.26.0 JS Docs
brazeBridge.getUser().addToCustomAttributeArray(key, value) Ajoute un tableau d’attributs personnalisés. Documentation JS
brazeBridge.getUser().addToSubscriptionGroup(subscriptionGroupId) Ajoute un utilisateur à un e-mail ou un groupe d’abonnement SMS. Documentation JS.

Cette méthode a été introduite dans Android SDK v15.0.0, Web SDK v3.4.0 et iOS SDK v4.3.3.
brazeBridge.getUser().removeFromSubscriptionGroup(subscriptionGroupId) Supprime un utilisateur d’un e-mail ou d’un groupe d’abonnement SMS. Documentation JS.

Cette méthode a été introduite dans Android SDK v15.0.0, Web SDK v3.4.0 et iOS SDK v4.3.3.
brazeBridge.getUser().setFirstName(firstName) Définir le prénom d’un utilisateur. Documentation JS
brazeBridge.getUser().setLastName(lastName) Définir le nom de famille d’un utilisateur. Documentation JS
brazeBridge.getUser().setEmail(email) Définir l’adresse e-mail d’un utilisateur. Documentation JS
brazeBridge.getUser().setGender(gender) Définir le sexe d’un utilisateur. Documentation JS
brazeBridge.getUser().setDateOfBirth(year, month, day) Définir la date de naissance d’un utilisateur. Documentation JS
brazeBridge.getUser().setCountry(country) Définir le pays d’un utilisateur. Documentation JS
brazeBridge.getUser().setHomeCity(city) Définir la ville d’un utilisateur. Documentation JS
brazeBridge.getUser().setEmailNotificationSubscriptionType(notificationSubscriptionType) Définir l’état d’abonnement à la notification par e-mail. Documentation JS
brazeBridge.getUser().setPushNotificationSubscriptionType(notificationSubscriptionType) Définir l’état d’abonnement à la notification push. Documentation JS
brazeBridge.getUser().setPhoneNumber(phoneNumber) Définir le numéro de téléphone d’un utilisateur. Documentation JS
brazeBridge.getUser().setCustomUserAttribute(key, value, merge) Définir un attribut utilisateur personnalisé. Documentation JS
brazeBridge.getUser().removeFromCustomAttributeArray(key, value) Supprimer un attribut utilisateur personnalisé. Documentation JS
brazeBridge.getUser().incrementCustomUserAttribute(key, incrementValue) Incrémenter un attribut utilisateur personnalisé. Documentation JS
brazeBridge.getUser().setLanguage(language) Définir la langue d’un utilisateur. Introduit dans Android SDK v5.0.0 et Web SDK v2.6.0. Documentation JS
brazeBridge.getUser().setCustomLocationAttribute(key, latitude, longitude) Définir un attribut d’emplacement personnalisé. Introduit dans Android SDK v5.0.0. Documentation JS
brazeBridge.web.registerAppboyPushMessages(successCallback, deniedCallback) S’inscrire pour la notification push Web (Web uniquement). Cette méthode n’est pas opérationnelle lorsqu’elle est appelée dans un environnement non-Web. Documentation JS
brazeBridge.requestPushPermission(successCallback, deniedCallback) S’inscrire pour les notifications push 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 de la version 4.0.0 du SDK Web, de la version 21.0.0 du SDK Android et de la version 5.4.0 du SDK Swift. Documentation JS
brazeBridge.changeUser(id, sdkAuthSignature?) Identifier l’utilisateur avec un ID unique. Documentation JS

Cette méthode a été introduite dans la version 4.3.0 du SDK Web.

Button click tracking

Use the brazeBridge.logClick(button_id) method to track clicks in your custom HTML.

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.

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').

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.
New Stuff!