Skip to content

JavaScript-Bridge für Landing-Pages

Landing-Pages unterstützen eine JavaScript-„Bridge“ zur Verbindung Ihres angepassten Codes (HTML, CSS und JavaScript) mit dem Braze SDK.

Greifen Sie auf die Bridge zu, indem Sie brazeBridge in einem Custom-Code-Block verwenden, um Events zu protokollieren, angepasste Attribute zu setzen, Nutzer:innen zu identifizieren und mehr, wenn Besucher:innen mit Ihrer Landing-Page interagieren.

Funktionsweise

Landing-Pages ermöglichen es Ihnen, angepasstes HTML, CSS und JavaScript in einem Custom-Code-Block hinzuzufügen, um mehr Kontrolle über das Aussehen, das Erscheinungsbild und das Verhalten Ihrer Seite zu erhalten. Custom-Code-Blöcke können die JavaScript-Bridge nutzen, um Events zu protokollieren, angepasste Attribute zu setzen, Nutzer:innen zu identifizieren und mehr:

  • Angepasste Events und Käufe protokollieren
  • Standard- und angepasste Nutzer:innenattribute setzen
  • Klicks und Formularübermittlungen tracken
  • Nutzer:innen identifizieren

Wenn Sie brazeBridge-Code aus In-App-Nachrichten oder Bannern wiederverwenden, sollte er auch auf Landing-Pages funktionieren. Methoden, die nicht auf Landing-Pages anwendbar sind, werden ignoriert und protokollieren stattdessen eine Warnung in der Browser-Konsole, anstatt einen Fehler zu verursachen. Weitere Details finden Sie unter Auf Landing-Pages nicht unterstützte Methoden.

Verfügbarkeit der Bridge

Wenn Besucher:innen Ihre Landing-Page öffnen, ist brazeBridge bereits in Ihrem Custom-Code-JavaScript verfügbar. Rufen Sie Bridge-Methoden direkt auf Landing-Pages auf – Sie müssen nicht auf ein separates Ready-Event warten, wie es In-App-Nachrichten mit ab.BridgeReady verwenden.

Dass das Bridge-Objekt verfügbar ist, bedeutet nicht, dass das Braze SDK für diese:n Besucher:in initialisiert ist. Das SDK wird bei einem Landing-Page-Besuch in einem der folgenden Fälle initialisiert:

  • Die:der Besucher:in öffnet die Seite über einen Landing-Page-Liquid-Tag, der über einen Braze-Kanal (E-Mail, SMS, Push usw.) gesendet wurde. Das SDK wird automatisch beim Laden der Seite initialisiert.
  • Die:der Besucher:in übermittelt das Formular der Seite – zum Beispiel durch Klicken auf einen Absenden-Button, der Formulardaten sendet. Dies umfasst auch brazeBridge-Aufrufe, die innerhalb der registerFormInput-Callbacks eines angepassten Formularblocks ausgeführt werden, da diese als Teil der Formularübermittlung laufen.

Wenn Besucher:innen die Landing-Page direkt öffnen, ohne einen Landing-Page-Liquid-Tag, und das Formular nie übermitteln, ist die Seite für Braze anonym, und Bridge-Methodenaufrufe haben keine Wirkung.

Beispiel

Da die Methoden asynchron sind, verwenden Sie einen async-Handler und await für die Aufrufe, wenn die Reihenfolge oder der Abschluss wichtig ist:

1
2
3
4
5
6
7
8
9
10
11
12
13
<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>

Unterstützte Methoden

Die folgenden brazeBridge-Methoden geben ein Promise zurück und werden in Custom-Code-Blöcken von Landing-Pages unterstützt. Verwenden Sie await oder .then(), wenn Sie Arbeitsschritte sequenzieren oder den Abschluss garantieren müssen.

Methoden der obersten Ebene

Methode Beschreibung
brazeBridge.changeUser(userId, signature?) Identifiziert die:den Nutzer:in mit einer eindeutigen ID.
brazeBridge.logCustomEvent(eventName, eventProperties?) Protokolliert ein angepasstes Event.
brazeBridge.logPurchase(productId, price, currencyCode?, quantity?, purchaseProperties?) Protokolliert einen Kauf.
brazeBridge.requestImmediateDataFlush(callback?) Sendet die in der Warteschlange befindlichen Daten an die Braze-Server.
brazeBridge.logClick(trackingId) Protokolliert einen Landing-Page-Klick (lp_c) für die angegebene Tracking-ID. Siehe Klick-Tracking.
brazeBridge.logSubmit() Protokolliert eine Landing-Page-Formularübermittlung (lp_fs). Landing-Page-spezifisch.

getUser()-Methoden

getUser() gibt ein Objekt zurück, das die folgenden Nutzer:innenmethoden bereitstellt. Jede Methode gibt ein Promise zurück.

Methode Beschreibung
getUser().setFirstName(firstName) Setzt den Vornamen der:des Nutzer:in.
getUser().setLastName(lastName) Setzt den Nachnamen der:des Nutzer:in.
getUser().setEmail(email) Setzt die E-Mail-Adresse der:des Nutzer:in.
getUser().setPhoneNumber(phoneNumber) Setzt die Telefonnummer der:des Nutzer:in.
getUser().setGender(gender: "m" \| "f" \| "o" \| "u" \| "n" \| "p") Setzt das Geschlecht der:des Nutzer:in: männlich, weiblich, andere, unbekannt, nicht zutreffend oder möchte nicht angeben.
getUser().setDateOfBirth(year, month, day) Setzt das Geburtsdatum der:des Nutzer:in.
getUser().setCountry(country) Setzt das Land der:des Nutzer:in.
getUser().setHomeCity(city) Setzt den Wohnort der:des Nutzer:in.
getUser().setLanguage(language) Setzt die Sprache der:des Nutzer:in.
getUser().setCustomUserAttribute(key, value, merge?) Setzt ein angepasstes Nutzer:innenattribut.
getUser().addToCustomAttributeArray(key, value) Fügt einen Wert zu einem angepassten Attribut-Array hinzu.
getUser().removeFromCustomAttributeArray(key, value) Entfernt einen Wert aus einem angepassten Attribut-Array.
getUser().incrementCustomUserAttribute(key, incrementValue?) Erhöht ein numerisches angepasstes Attribut.
getUser().setCustomLocationAttribute(key, latitude, longitude) Setzt ein angepasstes Standortattribut.
getUser().addToSubscriptionGroup(subscriptionGroupId) Fügt die:den Nutzer:in einer E-Mail- oder SMS-Abo-Gruppe hinzu.
getUser().removeFromSubscriptionGroup(subscriptionGroupId) Entfernt die:den Nutzer:in aus einer E-Mail- oder SMS-Abo-Gruppe.
getUser().setEmailNotificationSubscriptionType(type: "opted_in" \| "subscribed" \| "unsubscribed") Setzt den E-Mail-Benachrichtigungs-Abo-Status.
getUser().setPushNotificationSubscriptionType(type: "opted_in" \| "subscribed" \| "unsubscribed") Setzt den Push-Benachrichtigungs-Abo-Status.

Klick-Tracking

Verwenden Sie brazeBridge.logClick(trackingId), um Klicks auf Ihrer Landing-Page zu tracken. Jeder Aufruf protokolliert ein Landing-Page-Klick-Event (lp_c), das mit der von Ihnen übergebenen Tracking-ID versehen ist:

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

Auf Landing-Pages nicht unterstützte Methoden

Die folgenden Methoden funktionieren in In-App-Nachrichten und Bannern, werden aber auf Landing-Pages nicht unterstützt. Wenn Ihr Code eine davon auf einer Landing-Page aufruft, ignoriert Braze den Aufruf. Ihre Seite funktioniert weiterhin, aber Sie sehen möglicherweise eine Warnung in der Entwicklerkonsole des Browsers.

Methode Hinweise
brazeBridge.closeMessage() Es gibt keine Nachrichten-UI, die auf einer Landing-Page geschlossen werden könnte.
brazeBridge.requestPushPermission(successCallback?, deniedCallback?) Push-Berechtigungen werden nicht von einer Landing-Page aus angefordert.
brazeBridge.web.registerAppboyPushMessages(successCallback?, deniedCallback?) Web-Push-Registrierung ist auf Landing-Pages nicht verfügbar.
New Stuff!