Ir al contenido

Puente JavaScript para páginas de destino

Las páginas de destino admiten un «puente» JavaScript para conectar tu código personalizado (HTML, CSS y JavaScript) con el SDK de Braze.

Accede al puente utilizando brazeBridge en un bloque de código personalizado para registrar eventos, establecer atributos personalizados, identificar usuarios y más cuando un visitante interactúa con tu página de destino.

Cómo funciona

Las páginas de destino te permiten añadir HTML, CSS y JavaScript personalizados a un bloque de código personalizado para tener un mayor control sobre el aspecto, la apariencia y el comportamiento de tu página. Los bloques de código personalizado pueden utilizar el puente JavaScript para registrar eventos, establecer atributos personalizados, identificar usuarios y mucho más:

  • Registrar eventos personalizados y compras
  • Establecer atributos de usuario estándar y personalizados
  • Hacer seguimiento de clics y envíos de formularios
  • Identificar usuarios

Si reutilizas código brazeBridge de mensajes dentro de la aplicación o banners, debería seguir funcionando en las páginas de destino. Los métodos que no se aplican a las páginas de destino se ignoran y registran una advertencia en la consola del navegador en lugar de provocar un error. Para más detalles, consulta Métodos no compatibles con las páginas de destino.

Disponibilidad del puente

Cuando un visitante abre tu página de destino, brazeBridge ya está disponible en el JavaScript de tu Código personalizado. Llama a los métodos del puente directamente en las páginas de destino: no necesitas esperar un evento de preparación independiente como el que utilizan los mensajes dentro de la aplicación con ab.BridgeReady.

Que el objeto del puente esté disponible no significa que el SDK de Braze esté inicializado para ese visitante. El SDK se inicializa para una visita a la página de destino en cualquiera de estos casos:

  • El visitante abre la página a través de una etiqueta de Liquid de página de destino enviada mediante un canal de Braze (correo electrónico, SMS, push, etc.). El SDK se inicializa automáticamente cuando se carga la página.
  • El visitante envía el formulario de la página, por ejemplo, haciendo clic en un botón Enviar que transmite los datos del formulario. Esto incluye las llamadas a brazeBridge realizadas dentro de las devoluciones de llamada registerFormInput de un bloque de formulario personalizado, ya que estas se ejecutan como parte del envío del formulario.

Si un visitante abre la página de destino directamente, sin una etiqueta de Liquid de página de destino, y nunca envía el formulario, la página es anónima para Braze y las llamadas a los métodos del puente no tienen efecto.

Ejemplo

Dado que los métodos son asíncronos, utiliza un controlador async y await en las llamadas cuando el orden o la finalización sean importantes:

<button id="button">Set Favorite Color</button>
<script>
  document.querySelector("#button").onclick = async function () {
    // Track a click for analytics
    await brazeBridge.logClick("set-favorite-color");
    // Set the user's custom attribute
    await brazeBridge.getUser().setCustomUserAttribute("favorite color", "blue");
    // Track a custom event
    await brazeBridge.logCustomEvent("completed survey");
    // Send the enqueued data to Braze
    await brazeBridge.requestImmediateDataFlush();
  };
</script>

Métodos compatibles

Los siguientes métodos de brazeBridge devuelven una promesa y son compatibles en los bloques de Custom Code de las páginas de destino. Usa await o .then() cuando necesites secuenciar tareas o garantizar su finalización.

Métodos de nivel superior

Método Descripción
brazeBridge.changeUser(userId, signature?) Identifica al usuario con un ID único.
brazeBridge.logCustomEvent(eventName, eventProperties?) Registra un evento personalizado.
brazeBridge.logPurchase(productId, price, currencyCode?, quantity?, purchaseProperties?) Registra una compra.
brazeBridge.requestImmediateDataFlush(callback?) Envía los datos en cola a los servidores de Braze.
brazeBridge.logClick(trackingId) Registra un clic en la página de destino (lp_c) para el ID de seguimiento indicado. Consulta Seguimiento de clics.
brazeBridge.logSubmit() Registra el envío de un formulario de página de destino (lp_fs). Específico de páginas de destino.

Métodos de getUser()

getUser() devuelve un objeto que expone los siguientes métodos de usuario. Cada método devuelve una Promise.

Método Descripción
getUser().setFirstName(firstName) Establece el nombre del usuario.
getUser().setLastName(lastName) Establece el apellido del usuario.
getUser().setEmail(email) Establece la dirección de correo electrónico del usuario.
getUser().setPhoneNumber(phoneNumber) Establece el número de teléfono del usuario.
getUser().setGender(gender: "m" \| "f" \| "o" \| "u" \| "n" \| "p") Establece el género del usuario: masculino, femenino, otro, desconocido, no aplica o prefiere no decirlo, respectivamente.
getUser().setDateOfBirth(year, month, day) Establece la fecha de nacimiento del usuario.
getUser().setCountry(country) Establece el país del usuario.
getUser().setHomeCity(city) Establece la ciudad de residencia del usuario.
getUser().setLanguage(language) Establece el idioma del usuario.
getUser().setCustomUserAttribute(key, value, merge?) Establece un atributo personalizado de usuario.
getUser().addToCustomAttributeArray(key, value) Añade un valor a un array de atributos personalizados.
getUser().removeFromCustomAttributeArray(key, value) Elimina un valor de un array de atributos personalizados.
getUser().incrementCustomUserAttribute(key, incrementValue?) Incrementa un atributo personalizado numérico.
getUser().setCustomLocationAttribute(key, latitude, longitude) Establece un atributo personalizado de ubicación.
getUser().addToSubscriptionGroup(subscriptionGroupId) Añade al usuario a un grupo de suscripción de correo electrónico o SMS.
getUser().removeFromSubscriptionGroup(subscriptionGroupId) Elimina al usuario de un grupo de suscripción de correo electrónico o SMS.
getUser().setEmailNotificationSubscriptionType(type: "opted_in" \| "subscribed" \| "unsubscribed") Establece el estado de suscripción de notificaciones por correo electrónico.
getUser().setPushNotificationSubscriptionType(type: "opted_in" \| "subscribed" \| "unsubscribed") Establece el estado de suscripción de notificaciones push.

Seguimiento de clics

Utiliza brazeBridge.logClick(trackingId) para realizar el seguimiento de clics en tu página de destino. Cada llamada registra un evento de clic en la página de destino (lp_c) etiquetado con el ID de seguimiento que proporcionas:

<a href="#" onclick="brazeBridge.logClick('cta-hero')">Get started</a>

Métodos no compatibles en páginas de destino

Los siguientes métodos funcionan en mensajes dentro de la aplicación y Banners, pero no son compatibles en páginas de destino. Si tu código llama a uno en una página de destino, Braze ignora la llamada. Tu página sigue funcionando, pero puede que veas una advertencia en la consola para desarrolladores del navegador.

Método Notas
brazeBridge.closeMessage() No hay interfaz de mensaje que cerrar en una página de destino.
brazeBridge.requestPushPermission(successCallback?, deniedCallback?) El permiso push no se solicita desde una página de destino.
brazeBridge.web.registerAppboyPushMessages(successCallback?, deniedCallback?) El registro de notificaciones push web no está disponible en páginas de destino.
New Stuff!