Código personalizado y puente JavaScript para banners
Cuando utilices el bloque de editor de código personalizado en el compositor de banners, debes llamar
brazeBridge.logClick()a desde tu HTML personalizado para registrar los clics. Los banners utilizan el mismo puente JavaScript que los mensajes dentro de la aplicación, por lo que se aplican los mismos métodos y patrones.
Si utilizas HTML personalizado en tu diseño de banner, el SDK de Braze no puede adjuntar automáticamente detectores de clics a los elementos dentro de tu código personalizado. Debes llamar explícitamente abrazeBridge.logClick() para cualquier elemento en el que se pueda hacer clic (enlaces, botones y similares) que desees seguir en los análisis de la campaña.
Por ejemplo, para registrar un clic cuando un usuario pulsa un botón en tu HTML personalizado:
1
2
3
<button onclick="brazeBridge.logClick()">
Click me
</button>
Para obtener la referencia completa del puente JavaScript, incluidos todos los métodos disponibles y las opciones de seguimiento de clics, consulta la sección siguiente.
Puente 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.
| Nombre del método | Descripción |
|---|---|
brazeBridge.closeMessage() |
Cierra el mensaje dentro de la aplicación actual. No llames a este método si el mensaje dentro de la aplicación ya se está cerrando o se cerrará automáticamente debido al procesamiento de un vínculo profundo. |
window.addEventListener("ab.BridgeReady", function(){...}, false) |
Método de devolución de llamada para cuando brazeBridge haya terminado de cargarse. Todo el código JavaScript debe ejecutarse dentro de esta función de devolución de llamada. |
brazeBridge.requestImmediateDataFlush() |
Envía los datos en cola a los servidores Braze. Documentación de JS |
brazeBridge.logClick(button_id_string) |
Registra un clic de botón para un ID de botón dado. Si button_id_string se deja en blanco, se registrará en su lugar un cuerpo-clic. El button_id_string se puede pasar como el button_id en eventos de clic de mensajes dentro de la aplicación a través de Currents. Este método se introdujo en el SDK para Android v8.0.0, el SDK Web v2.5.0 y el SDK para iOS v3.23.0 La dirección button_id_string sólo acepta caracteres alfanuméricos, espacios, guiones y guiones bajos. Añadir un carácter con acento (por ejemplo, ö,â,ê) rompe el seguimiento de los clics en el botón, lo que provoca que la cadena del botón no aparezca en la sección de análisis de la campaña y que no se contabilicen los clics. |
brazeBridge.logCustomEvent(eventName,eventProperties) |
Registra un evento personalizado. Documentación de JS |
brazeBridge.logPurchase(productId, price, currencyCode, quantity, purchaseProperties) |
Registra una compra. Documentación de JS |
brazeBridge.getUser().addAlias(alias, label) |
Añade un alias a un usuario. Introducido en Web SDK v2.7.0, Android v8.1.0 e iOS SDK v3.26.0 JS Docs. |
brazeBridge.getUser().addToCustomAttributeArray(key, value) |
Se añade a una matriz de atributos personalizada. Documentación de JS |
brazeBridge.getUser().addToSubscriptionGroup(subscriptionGroupId) |
Añade un usuario a un grupo de suscripción por correo electrónico o SMS. Documentación de JS. Este método se introdujo en el SDK para Android v15.0.0, el SDK Web v3.4.0 y el SDK para iOS v4.3.3. |
brazeBridge.getUser().removeFromSubscriptionGroup(subscriptionGroupId) |
Elimina a un usuario de un grupo de suscripción por correo electrónico o SMS. Documentación de JS. Este método se introdujo en el SDK para Android v15.0.0, el SDK Web v3.4.0 y el SDK para iOS v4.3.3. |
brazeBridge.getUser().setFirstName(firstName) |
Configura el nombre de pila de un usuario. Documentación de JS |
brazeBridge.getUser().setLastName(lastName) |
Configura el apellido de un usuario. Documentación de JS |
brazeBridge.getUser().setEmail(email) |
Configura la dirección de correo electrónico de un usuario. Documentación de JS |
brazeBridge.getUser().setGender(gender) |
Configura el sexo de un usuario. Documentación de JS |
brazeBridge.getUser().setDateOfBirth(year, month, day) |
Configura la fecha de nacimiento de un usuario. Documentación de JS |
brazeBridge.getUser().setCountry(country) |
Configura el país de un usuario. Documentación de JS |
brazeBridge.getUser().setHomeCity(city) |
Configura la ciudad de un usuario. Documentación de JS |
brazeBridge.getUser().setEmailNotificationSubscriptionType(notificationSubscriptionType) |
Establece el estado de suscripción a la notificación por correo electrónico. Documentación de JS |
brazeBridge.getUser().setPushNotificationSubscriptionType(notificationSubscriptionType) |
Establece el estado de la suscripción a la notificación push. Documentación de JS |
brazeBridge.getUser().setPhoneNumber(phoneNumber) |
Configura el número de teléfono de un usuario. Documentación de JS |
brazeBridge.getUser().setCustomUserAttribute(key, value, merge) |
Establece un atributo personalizado del usuario. Documentación de JS |
brazeBridge.getUser().removeFromCustomAttributeArray(key, value) |
Eliminar un atributo personalizado del usuario. Documentación de JS |
brazeBridge.getUser().incrementCustomUserAttribute(key, incrementValue) |
Incrementa un atributo personalizado del usuario. Documentación de JS |
brazeBridge.getUser().setLanguage(language) |
Configura el idioma de un usuario. Introducido en el SDK para Android v5.0.0 y el SDK Web v2.6.0. Documentación de JS |
brazeBridge.getUser().setCustomLocationAttribute(key, latitude, longitude) |
Establece un atributo personalizado de ubicación. Introducido en Android SDK v5.0.0. Documentación de JS |
brazeBridge.web.registerAppboyPushMessages(successCallback, deniedCallback) |
Regístrate para recibir notificaciones push web (sólo web). Este método no funciona si se ejecuta en un entorno que no sea web. Documentación de JS |
brazeBridge.requestPushPermission(successCallback, deniedCallback) |
Regístrate para recibir push en Web, iOS y Android. Nota: las devoluciones de llamada del método solo se admiten para web. Este método se introdujo a partir del SDK Web v4.0.0, el SDK para Android v21.0.0 y el SDK Swift v5.4.0. Documentación de JS |
brazeBridge.changeUser(id, sdkAuthSignature?) |
Identifica al usuario con un ID único. Documentación de JS Este método se introdujo en el 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.
Editar esta página en GitHub