Angepasster Code und JavaScript-Brücke für Banner
Wenn Sie den Editor-Block Benutzerdefinierter Code im Banner-Composer verwenden, müssen Sie
brazeBridge.logClick()innerhalb Ihres angepassten HTML aufrufen, um Klicks zu protokollieren. Banner verwenden dieselbe JavaScript-Brücke wie HTML-In-App-Nachrichten, daher gelten dieselben Methoden und Muster.
Wenn Sie in Ihrem Banner-Design angepasstes HTML verwenden, kann das Braze SDK nicht automatisch Klick-Listener an Elemente innerhalb Ihres angepassten Codes anhängen. Sie müssen brazeBridge.logClick() explizit für alle anklickbaren Elemente (Links, Buttons und Ähnliches) aufrufen, die Sie im Analytics-Tool der Campaign verfolgen möchten.
Um beispielsweise einen Klick zu protokollieren, wenn Nutzer:innen in Ihrem angepassten HTML auf einen Button tippen:
1
2
3
<button onclick="brazeBridge.logClick()">
Click me
</button>
Die vollständige JavaScript-Bridge-Referenz, einschließlich aller verfügbaren Methoden und Optionen für Klick-Tracking, finden Sie im folgenden Abschnitt.
JavaScript-Brücke
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:
| Methodenname | Beschreibung |
|---|---|
brazeBridge.closeMessage() |
Schließt die aktuelle Nachricht. Das Verhalten unterscheidet sich je nach Kanal: In-App-Nachrichten: Schließt nur die UI. Es wird kein Dismissal protokolliert und keine serverseitige Unterdrückung ausgelöst. Banner: Entspricht dem Aufruf von logBannerDismissal. Dabei wird ein Banner-Dismissal protokolliert, das Banner aus der UI entfernt und für die:den Nutzer:in unterdrückt. Außerdem werden alle aktiven subscribeToBannersUpdates-Abonnent:innen erneut ausgelöst. Rufen Sie diese Methode nicht auf, wenn die Nachricht bereits dabei ist, sich zu schließen, oder aufgrund der Verarbeitung eines Deep-Links automatisch geschlossen wird. |
window.addEventListener("ab.BridgeReady", function(){...}, false) |
Callback-Methode, wenn das Laden von brazeBridge abgeschlossen ist. Der gesamte JavaScript-Code sollte innerhalb dieser Callback-Funktion ausgeführt werden. |
brazeBridge.requestImmediateDataFlush() |
Sendet die Daten in der Warteschlange an die Braze-Server. JS Docs |
brazeBridge.logClick(button_id_string) |
Protokolliert einen Button-Klick für eine bestimmte Button-ID. Wenn button_id_string leer gelassen wird, wird stattdessen ein Body-Klick protokolliert. Der button_id_string kann als button_id in In-App-Nachrichten-Klick-Events über Currents weitergegeben werden. Diese Methode wurde in Android SDK v8.0.0, Web SDK v2.5.0 und iOS SDK v3.23.0 eingeführt. Für button_id_string sind nur alphanumerische Zeichen, Leerzeichen, Bindestriche und Unterstriche zulässig. Das Hinzufügen eines Zeichens mit einem Akzent (z. B. ö, â, ê) unterbricht das Tracking von Button-Klicks, was dazu führt, dass der Button-String nicht im Analytics-Bereich der Campaign erscheint und Klicks nicht berücksichtigt werden. |
brazeBridge.logCustomEvent(eventName,eventProperties) |
Protokolliert ein angepasstes Event. JS Docs |
brazeBridge.logPurchase(productId, price, currencyCode, quantity, purchaseProperties) |
Protokolliert einen Kauf. JS Docs |
brazeBridge.getUser().addAlias(alias, label) |
Fügt eine:r Nutzer:in einen Alias hinzu. Eingeführt in Web SDK v2.7.0, Android v8.1.0 und iOS SDK v3.26.0. JS Docs |
brazeBridge.getUser().addToCustomAttributeArray(key, value) |
Fügt einem angepassten Attribut-Array einen Wert hinzu. JS Docs |
brazeBridge.getUser().addToSubscriptionGroup(subscriptionGroupId) |
Fügt eine:n Nutzer:in zu einer E-Mail- oder SMS-Abo-Gruppe hinzu. JS Docs. Diese Methode wurde in Android SDK v15.0.0, Web SDK v3.4.0 und iOS SDK v4.3.3 eingeführt. |
brazeBridge.getUser().removeFromSubscriptionGroup(subscriptionGroupId) |
Entfernt eine:n Nutzer:in aus einer E-Mail- oder SMS-Abo-Gruppe. JS Docs. Diese Methode wurde in Android SDK v15.0.0, Web SDK v3.4.0 und iOS SDK v4.3.3 eingeführt. |
brazeBridge.getUser().setFirstName(firstName) |
Legt den Vornamen einer:s Nutzer:in fest. JS Docs |
brazeBridge.getUser().setLastName(lastName) |
Legt den Nachnamen einer:s Nutzer:in fest. JS Docs |
brazeBridge.getUser().setEmail(email) |
Legt die E-Mail-Adresse einer:s Nutzer:in fest. JS Docs |
brazeBridge.getUser().setGender(gender) |
Legt das Geschlecht einer:s Nutzer:in fest. JS Docs |
brazeBridge.getUser().setDateOfBirth(year, month, day) |
Legt das Geburtsdatum einer:s Nutzer:in fest. JS Docs |
brazeBridge.getUser().setCountry(country) |
Legt das Land einer:s Nutzer:in fest. JS Docs |
brazeBridge.getUser().setHomeCity(city) |
Legt den Ort einer:s Nutzer:in fest. JS Docs |
brazeBridge.getUser().setEmailNotificationSubscriptionType(notificationSubscriptionType) |
Legt den Abo-Status für E-Mail-Benachrichtigungen fest. JS Docs |
brazeBridge.getUser().setPushNotificationSubscriptionType(notificationSubscriptionType) |
Legt den Abo-Status für Push-Benachrichtigungen fest. JS Docs |
brazeBridge.getUser().setPhoneNumber(phoneNumber) |
Legt die Telefonnummer einer:s Nutzer:in fest. JS Docs |
brazeBridge.getUser().setCustomUserAttribute(key, value, merge) |
Legt ein angepasstes Nutzerattribut fest. JS Docs |
brazeBridge.getUser().removeFromCustomAttributeArray(key, value) |
Entfernt ein angepasstes Nutzerattribut. JS Docs |
brazeBridge.getUser().incrementCustomUserAttribute(key, incrementValue) |
Erhöht ein angepasstes Nutzerattribut. JS Docs |
brazeBridge.getUser().setLanguage(language) |
Legt die Sprache einer:s Nutzer:in fest. Eingeführt in Android SDK v5.0.0 und Web SDK v2.6.0. JS Docs |
brazeBridge.getUser().setCustomLocationAttribute(key, latitude, longitude) |
Legt ein angepasstes Standortattribut fest. Eingeführt in Android SDK v5.0.0. JS Docs |
brazeBridge.web.registerAppboyPushMessages(successCallback, deniedCallback) |
Registriert für Web-Push (nur Web). Diese Methode ist ein No-op, wenn sie in einer Nicht-Web-Umgebung aufgerufen wird. JS Docs |
brazeBridge.requestPushPermission(successCallback, deniedCallback) |
Registriert für Push über Web, iOS und Android. Hinweis: Die Callbacks der Methode werden nur im Web unterstützt. Diese Methode wurde mit Web SDK v4.0.0, Android SDK v21.0.0 und Swift SDK v5.4.0 eingeführt. JS Docs |
brazeBridge.changeUser(id, sdkAuthSignature?) |
Identifiziert die:den Nutzer:in mit einer eindeutigen ID. JS Docs Diese Methode wurde in Web SDK v4.3.0 eingeführt. |
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.
| 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 and Banners |
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.