Skip to content

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.

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').

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.
New Stuff!