Messages in-app HTML personnalisés
Bien que nos messages in-app standard puissent être personnalisés de diverses manières, vous pouvez avoir un contrôle encore plus grand sur l’aspect et la convivialité de vos campagnes en utilisant des messages conçus et créés à l’aide de HTML, CSS et JavaScript. Via à une composition simple, vous pouvez débloquer des fonctionnalités et des marques personnalisées pour répondre à vos besoins.
Les messages in-app HTML permettent de contrôler davantage l’apparence et l’impression d’un message, y compris les éléments suivants :
- Polices et styles personnalisés
- Vidéos
- Plusieurs images
- Comportements lors du clic
- Composants interactifs
- Animations personnalisées
Les messages HTML personnalisés peuvent utiliser les méthodes du pont JavaScript pour enregistrer des événements, définir des attributs personnalisés, fermer le message, et bien plus encore ! Découvrez notre référentiel GitHub qui contient des instructions détaillées sur l’utilisation et la personnalisation de messages in-app HTML selon vos besoins, ainsi qu’un ensemble de modèles de messages in-app HTML5 pour vous aider à démarrer.
Pour activer les messages in-app HTML via le SDK Web, il est nécessaire de fournir l’optionallowUserSuppliedJavascriptd’initialisation à Braze : par exemple, braze.initialize('YOUR-API_KEY', {allowUserSuppliedJavascript: true}). Pour des raisons de sécurité, les messages in-app HTML peuvent en effet exécuter du JavaScript, d’où le besoin d’un responsable de site pour les activer.
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 | 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.
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.
Actions basées sur des liens
Outre un Javascript personnalisé, les SDK Braze peuvent envoyer des données d’analyse avec ces raccourcis d’URL pratiques. Notez que tous ces paramètres de requête et les schémas d’URL sont sensibles à la casse.
Suivi des clics sur les boutons (obsolète)
L’utilisation de abButtonID n’est pas prise en charge dans les types de messages HTML avec aperçu. Pour plus d’informations, consultez notre guide de mise à niveau.
Pour enregistrer les clics de bouton dans l’analyse des messages in-app, vous pouvez ajouter abButtonId comme paramètre de requête à tout lien profond, URL de redirection ou élément d’ancrage <a>. Utilisez ?abButtonId=0 pour enregistrer un clic de « Bouton 1 », et ?abButtonId=1 pour enregistrer un clic de « Bouton 2 ».
Comme avec d’autres paramètres d’URL, le premier paramètre doit commencer par un point d’interrogation ?, et les paramètres suivants doivent être séparés par une esperluette &.
Exemples d’URL
https://example.com/?abButtonId=0- clic de bouton 1https://example.com/?abButtonId=1- clic de bouton 2https://example.com/?utm_source=braze&abButtonId=0- clic de bouton 1avec d’autres paramètres d’URL existantsmyApp://deep-link?page=home&abButtonId=1- lien profond mobile avec clic de bouton 2<a href="https://example.com/?abButtonId=1">- élément d’ancrage<a>avec clic de bouton 2
Les messages in-app prennent uniquement en charge les clics de bouton 1 et bouton 2. Les URL qui ne spécifient pas l’un de ces deux ID de bouton sont consignées comme des clics génériques dans le corps.
Ouvrir le lien dans une nouvelle fenêtre (mobile uniquement)
Pour ouvrir des liens en dehors de votre application dans une nouvelle fenêtre, définissez ?abExternalOpen=true. Le message est rejeté avant d’ouvrir le lien.
Pour un lien profond, Braze ouvre votre URL indépendamment de la valeur de abExternalOpen.
Ouvrir comme lien profond (mobile uniquement)
Pour que Braze traite votre lien HTTP ou HTTPS comme un lien profond, définissez ?abDeepLink=true.
Lorsque ce paramètre de chaîne de requête est absent ou défini sur false, Braze tente d’ouvrir le lien Web dans un navigateur Web interne au sein de l’application hôte.
Fermer un message in-app
Pour fermer un message in-app, vous pouvez utiliser la méthode Javascript brazeBridge.closeMessage().
Par exemple, <a onclick="brazeBridge.closeMessage()" href="#">Close</a> ferme le message in-app.
Téléchargement HTML avec aperçu
Lorsque vous concevez des messages in-app HTML personnalisés, vous pouvez prévisualiser votre contenu interactif directement dans Braze.
Le panneau d’aperçu de message de l’éditeur offre un aperçu réaliste avec le rendu du Javascript inclus dans votre message. Vous pouvez prévisualiser et interagir avec vos messages personnalisés depuis le panneau d’aperçu en cliquant sur les pages, en soumettant des formulaires ou des enquêtes, en regardant des animations Javascript, et bien plus encore !

Toutes les méthodes Javascript brazeBridge que vous utilisez dans votre HTML ne mettent pas à jour les profils utilisateur lors de la prévisualisation dans le tableau de bord.
Exigences du SDK
Pour utiliser l’aperçu HTML des messages in-app, vous devez mettre à niveau les versions minimum suivantes du SDK Braze :
Étant donné que ce type de message ne peut être reçu que par certaines versions ultérieures du SDK, les utilisateurs qui utilisent des versions non prises en charge du SDK ne recevront pas le message. Pensez à adopter ce type de message quand une partie importante de votre base d’utilisateurs est accessible, ou ciblez uniquement les utilisateurs dont la version d’application est ultérieure aux exigences. En savoir plus sur le filtrage en fonction de la version la plus récente de l’application.
Créer une campagne
Les utilisateurs de votre application mobile doivent effectuer une mise à niveau vers les versions SDK prises en charge afin de recevoir un message in-app avec code personnalisé. Nous vous recommandons de pousser les utilisateurs à mettre à jour leurs applications mobiles avant de lancer des campagnes qui dépendent de versions plus récentes du SDK de Braze.
Fichiers de ressources
Lors de la création de messages in-app avec code personnalisé avec téléchargement HTML, vous pouvez télécharger des ressources de campagne dans la bibliothèque multimédia pour les référencer dans votre message.
Les types de fichiers suivants sont pris en charge pour téléchargement :
| Type de fichier | Extension de fichier |
|---|---|
| Fichiers de polices | .ttf, .woff, .otf, .woff2 |
| Images SVG | .svg |
| Fichiers JavaScript | .js |
| Fichiers CSS | .css |
Braze recommande de télécharger des ressources dans la bibliothèque multimédia pour deux raisons :
- Les ressources ajoutées à une campagne via la bibliothèque multimédia permettent d’afficher vos messages même lorsque l’utilisateur est hors ligne ou dispose d’une connexion Internet de mauvaise qualité.
- Les ressources téléchargées dans Braze peuvent être réutilisées dans les campagnes.
Ajout de fichiers de ressources
Vous pouvez ajouter des ressources nouvelles ou existantes à votre campagne.
Pour ajouter de nouvelles ressources à votre campagne, utilisez la section de glisser-déposer pour télécharger un fichier. Les ressources ajoutées dans cette section seront également ajoutées automatiquement à la bibliothèque multimédia. Pour ajouter des ressources que vous avez déjà téléchargées dans la bibliothèque multimédia, sélectionnez Ajouter à partir de la bibliothèque multimédia.
Une fois vos ressources ajoutées, elles apparaîtront dans la section Ressources pour cette campagne.
Si le nom de fichier d’une ressource correspond à celui d’une ressource HTML locale, elle est automatiquement remplacée (par exemple, sicat.png est téléchargé et que<img src="cat.png" /> existe déjà).
Sinon, survolez une ressource dans la liste et sélectionnez Copy pour copier l’URL du fichier dans votre presse-papiers. Collez ensuite l’URL de la ressource copiée dans votre HTML comme lors du référencement d’une ressource distante.
Éditeur HTML
Les modifications effectuées dans le HTML sont automatiquement affichées dans le panneau d’aperçu à la saisie. Toutes les méthodes JavaScriptbrazeBridge que vous utilisez dans votre HTML ne mettront pas à jour les profils utilisateurs lors de la prévisualisation dans le tableau de bord.
Vous pouvez sélectionnerRechercher dans l’éditeur HTML pour effectuer une recherche dans votre code.
Suivi des boutons
Vous pouvez suivre les performances dans votre message in-app avec code personnalisé à l’aide de la méthode Javascript brazeBridge.logClick(button_id). Pour la référence complète, veuillez consulter les méthodes JavaScript Bridge ci-dessus.
Cette méthode de suivi des boutons remplace les anciennes méthodes de suivi automatique des clics (telles que ?abButtonId=0), qui ont été supprimées.
Changements non-rétrocompatibles
- Les exigences de SDK sont le changement incompatible le plus notable avec ce nouveau type de message. Les utilisateurs dont le SDK de l’app ne répond pas aux exigences minimales en matière de version du SDK ne verront pas le message s’afficher.
- Le lien profond
braze://close, auparavant pris en charge par les applications mobiles, a été supprimé en faveur du JavascriptbrazeBridge.closeMessage(). Vous bénéficiez ainsi de messages HTML multiplateforme, sachant que le Web ne prend pas en charge les liens profonds. -
Le suivi automatique des clics, qui utilisait
?abButtonId=0pour les ID de boutons et le suivi de clics dans le corps pour les boutons de fermeture, a été supprimé. Les exemples de code suivants montrent comment modifier votre HTML pour utiliser nos nouvelles méthodes Javascript de suivi des clics :Avant Après <a href="">Close Button</a> <a href="#" onclick="brazeBridge.logClick();brazeBridge.closeMessage()">Close Button</a><a href="">Close Button</a> <a href="#" onclick="brazeBridge.logClick('0');brazeBridge.closeMessage()">Close Button</a><a href="">Track button 1</a> <a href="" onclick="brazeBridge.logClick('0')">Track button 1</a> <script>
location.href = ""
</script><script>
window.addEventListener("ab.BridgeReady", function(){
brazeBridge.logClick("1");
brazeBridge.closeMessage();
});
</script>
Modifier cette page sur GitHub