Código personalizado e ponte JavaScript para Banners
Quando você usa o bloco de editor Código Personalizado no criador de Banners, deve chamar
brazeBridge.logClick()de dentro do seu HTML personalizado para registrar cliques. Os Banners usam a mesma ponte JavaScript que mensagens HTML dentro do aplicativo, então os mesmos métodos e padrões se aplicam.
Se você usar HTML personalizado no design do seu Banner, o SDK do Braze não pode anexar automaticamente ouvintes de cliques a elementos dentro do seu código personalizado. Você deve chamar explicitamente brazeBridge.logClick() para qualquer elemento clicável (links, botões e similares) que você deseja rastrear na análise de campanhas.
Por exemplo, para registrar um clique quando um usuário toca em um botão no seu HTML personalizado:
1
2
3
<button onclick="brazeBridge.logClick()">
Click me
</button>
Para a referência completa da ponte JavaScript, incluindo todos os métodos disponíveis e opções de rastreamento de cliques, veja a seção abaixo.
Ponte 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.
| Nome do Método | Descrição |
|---|---|
brazeBridge.closeMessage() |
Feche a mensagem no app atual. Não chame este método se a mensagem no app estiver em processo de fechamento ou se fechar automaticamente devido ao processamento de um deep-link. |
window.addEventListener("ab.BridgeReady", function(){...}, false) |
Método de retorno de chamada para quando o brazeBridge tiver terminado de carregar. Todo o código JavaScript deve ser executado dentro desta função de retorno de chamada. |
brazeBridge.requestImmediateDataFlush() |
Descarregar dados em fila para os servidores Braze. Documentos JS |
brazeBridge.logClick(button_id_string) |
Registre um clique de botão para um ID de botão específico. Quando button_id_string estiver em branco, um clique no corpo será registrado em vez disso. A button_id_string pode ser passada como button_id em eventos de cliques em mensagens no app via Currents. Este método foi introduzido no Android SDK v8.0.0, Web SDK v2.5.0 e iOS SDK v3.23.0 O button_id_string aceita apenas caracteres alfanuméricos, espaços, traços e sublinhados. Adicionar um caractere com acento (por exemplo, ö,â,ê) quebra o rastreamento de cliques do botão, resultando na string do botão não aparecendo na seção de análise de dados da campanha e os cliques não sendo contabilizados. |
brazeBridge.logCustomEvent(eventName,eventProperties) |
Registre um evento personalizado. Documentos JS |
brazeBridge.logPurchase(productId, price, currencyCode, quantity, purchaseProperties) |
Registre uma compra. Documentos JS |
brazeBridge.getUser().addAlias(alias, label) |
Adiciona um apelido a um usuário. Introduzido no SDK da Web v2.7.0, Android v8.1.0 e SDK iOS v3.26.0 Documentos JS |
brazeBridge.getUser().addToCustomAttributeArray(key, value) |
Adiciona a um atributo personalizado array. Documentos JS |
brazeBridge.getUser().addToSubscriptionGroup(subscriptionGroupId) |
Adiciona um usuário a um grupo de inscrições por e-mail ou SMS. Documentos JS. Este método foi introduzido no Android SDK v15.0.0, Web SDK v3.4.0 e iOS SDK v4.3.3. |
brazeBridge.getUser().removeFromSubscriptionGroup(subscriptionGroupId) |
Remove um usuário de um grupo de inscrições por e-mail ou SMS. Documentos JS. Este método foi introduzido no Android SDK v15.0.0, Web SDK v3.4.0 e iOS SDK v4.3.3. |
brazeBridge.getUser().setFirstName(firstName) |
Defina o nome de um usuário. Documentos JS |
brazeBridge.getUser().setLastName(lastName) |
Defina o sobrenome de um usuário. Documentos JS |
brazeBridge.getUser().setEmail(email) |
Defina o endereço de e-mail de um usuário. Documentos JS |
brazeBridge.getUser().setGender(gender) |
Defina o gênero de um usuário. Documentos JS |
brazeBridge.getUser().setDateOfBirth(year, month, day) |
Defina a data de nascimento de um usuário. Documentos JS |
brazeBridge.getUser().setCountry(country) |
Defina o país de um usuário. Documentos JS |
brazeBridge.getUser().setHomeCity(city) |
Defina a cidade de um usuário. Documentos JS |
brazeBridge.getUser().setEmailNotificationSubscriptionType(notificationSubscriptionType) |
Definir status de inscrição para notificação por e-mail. Documentos JS |
brazeBridge.getUser().setPushNotificationSubscriptionType(notificationSubscriptionType) |
Definir o status da inscrição para notificação por push. Documentos JS |
brazeBridge.getUser().setPhoneNumber(phoneNumber) |
Defina o número de telefone de um usuário. Documentos JS |
brazeBridge.getUser().setCustomUserAttribute(key, value, merge) |
Defina um atributo de usuário personalizado. Documentos JS |
brazeBridge.getUser().removeFromCustomAttributeArray(key, value) |
Remover um atributo de usuário personalizado. Documentos JS |
brazeBridge.getUser().incrementCustomUserAttribute(key, incrementValue) |
Incrementar um atributo de usuário personalizado. Documentos JS |
brazeBridge.getUser().setLanguage(language) |
Defina o idioma de um usuário. Introduzido no Android SDK v5.0.0 e Web SDK v2.6.0. Documentos JS |
brazeBridge.getUser().setCustomLocationAttribute(key, latitude, longitude) |
Defina um atributo de local personalizado. Introduzido no Android SDK v5.0.0. Documentos JS |
brazeBridge.web.registerAppboyPushMessages(successCallback, deniedCallback) |
Registre-se para web push (apenas na web). Este método não faz nada quando chamado em um ambiente que não seja da web. Documentos JS |
brazeBridge.requestPushPermission(successCallback, deniedCallback) |
Registre-se para push em Web, iOS e Android. Nota: os callbacks do método são compatíveis apenas com a web. Este método foi introduzido a partir do Web SDK v4.0.0, Android SDK v21.0.0 e Swift SDK v5.4.0. Documentos JS |
brazeBridge.changeUser(id, sdkAuthSignature?) |
Identificar usuário com um ID único. Documentos JS Este método foi introduzido no Web SDK 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 no GitHub