Skip to content

배너를 위한 커스텀 코드 및 자바스크립트 브리지

배너 작곡기에서 커스텀 코드 편집기 블록을 사용할 때, 클릭을 기록하기 위해 커스텀 HTML 내에서 brazeBridge.logClick()를 호출해야 합니다. 배너는 HTML 인앱 메시지와 동일한 자바스크립트 브리지를 사용하므로 동일한 메서드와 패턴이 적용됩니다.

배너 디자인에 커스텀 HTML을 사용하는 경우, Braze SDK는 커스텀 코드 내의 요소에 클릭 리스너를 자동으로 첨부할 수 없습니다. 캠페인 분석에서 추적하려는 클릭 가능한 요소(링크, 버튼 등)에 대해 brazeBridge.logClick()을 명시적으로 호출해야 합니다.

예를 들어, 사용자가 커스텀 HTML의 버튼을 탭할 때 클릭을 기록하려면:

1
2
3
<button onclick="brazeBridge.logClick()">
  Click me
</button>

모든 사용 가능한 메서드 및 클릭 추적 옵션을 포함한 전체 자바스크립트 브리지 참조는 아래 섹션을 참조하세요.

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.

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:

메서드 이름 설명
brazeBridge.closeMessage() 현재 인앱 메시지를 닫습니다. 인앱 메시지가 이미 닫히는 중이거나 딥링크 처리로 인해 자동으로 닫히는 경우에는 이 메서드를 호출하지 마세요.
window.addEventListener("ab.BridgeReady", function(){...}, false) brazeBridge 로딩이 완료된 경우의 콜백 메서드입니다. 모든 자바스크립트 코드는 이 콜백 함수 내에서 실행되어야 합니다.
brazeBridge.requestImmediateDataFlush() 대기열에 있는 데이터를 Braze 서버로 플러시합니다. JS 문서
brazeBridge.logClick(button_id_string) 지정된 버튼 ID에 대한 버튼 클릭을 기록합니다. button_id_string을 비워두면 본문 클릭이 대신 기록됩니다. button_id_string은 커런츠를 통해 인앱 메시지 클릭 이벤트button_id로 전달할 수 있습니다.

이 메서드는 Android SDK v8.0.0, Web SDK v2.5.0 및 iOS SDK v3.23.0에 도입되었습니다.

button_id_string에는 영숫자, 공백, 대시 및 밑줄만 사용할 수 있습니다. 악센트가 있는 문자(예: ö,â,ê)를 추가하면 버튼 클릭 추적이 중단되어 캠페인 분석 섹션에 버튼 문자열이 표시되지 않고 클릭이 집계되지 않습니다.
brazeBridge.logCustomEvent(eventName,eventProperties) 사용자 지정 이벤트를 기록합니다. JS 문서
brazeBridge.logPurchase(productId, price, currencyCode, quantity, purchaseProperties) 구매를 기록합니다. JS 문서
brazeBridge.getUser().addAlias(alias, label) 사용자에게 별칭을 추가합니다. 웹 SDK v2.7.0, Android v8.1.0 및 iOS SDK v3.26.0 JS 문서에 도입되었습니다.
brazeBridge.getUser().addToCustomAttributeArray(key, value) 사용자 지정 속성 배열에 추가합니다. JS 문서
brazeBridge.getUser().addToSubscriptionGroup(subscriptionGroupId) 이메일 또는 SMS 구독 그룹에 사용자를 추가합니다. JS Docs.

이 메서드는 Android SDK v15.0.0, 웹 SDK v3.4.0 및 iOS SDK v4.3.3에 도입되었습니다.
brazeBridge.getUser().removeFromSubscriptionGroup(subscriptionGroupId) 이메일 또는 SMS 수신 그룹에서 사용자를 제거합니다. JS Docs.

이 메서드는 Android SDK v15.0.0, 웹 SDK v3.4.0 및 iOS SDK v4.3.3에 도입되었습니다.
brazeBridge.getUser().setFirstName(firstName) 사용자의 이름을 설정합니다. JS 문서
brazeBridge.getUser().setLastName(lastName) 사용자의 성을 설정합니다. JS 문서
brazeBridge.getUser().setEmail(email) 사용자의 이메일 주소를 설정합니다. JS 문서
brazeBridge.getUser().setGender(gender) 사용자의 성별을 설정합니다. JS 문서
brazeBridge.getUser().setDateOfBirth(year, month, day) 사용자의 생년월일을 설정합니다. JS 문서
brazeBridge.getUser().setCountry(country) 사용자의 국가를 설정합니다. JS 문서
brazeBridge.getUser().setHomeCity(city) 사용자의 도시를 설정합니다. JS 문서
brazeBridge.getUser().setEmailNotificationSubscriptionType(notificationSubscriptionType) 이메일 알림 구독 상태를 설정합니다. JS 문서
brazeBridge.getUser().setPushNotificationSubscriptionType(notificationSubscriptionType) 푸시 알림 구독 상태를 설정합니다. JS 문서
brazeBridge.getUser().setPhoneNumber(phoneNumber) 사용자의 전화번호를 설정합니다. JS 문서
brazeBridge.getUser().setCustomUserAttribute(key, value, merge) 사용자 지정 사용자 속성을 설정합니다. JS 문서
brazeBridge.getUser().removeFromCustomAttributeArray(key, value) 사용자 지정 사용자 속성을 제거합니다. JS 문서
brazeBridge.getUser().incrementCustomUserAttribute(key, incrementValue) 사용자 지정 사용자 속성을 늘립니다. JS 문서
brazeBridge.getUser().setLanguage(language) 사용자의 언어를 설정합니다. Android SDK v5.0.0 및 웹 SDK v2.6.0에 도입되었습니다. JS 문서
brazeBridge.getUser().setCustomLocationAttribute(key, latitude, longitude) 사용자 지정 위치 속성을 설정합니다. Android SDK v5.0.0에 도입되었습니다. JS 문서
brazeBridge.web.registerAppboyPushMessages(successCallback, deniedCallback) 웹 푸시(웹 전용)에 등록하세요. 이 메서드는 웹이 아닌 환경에서 호출할 때는 작동하지 않습니다. JS 문서
brazeBridge.requestPushPermission(successCallback, deniedCallback) 웹, iOS, Android에서 푸시 등록을 하세요. 참고: 메서드의 콜백은 웹에서만 지원됩니다. 이 메서드는 Web SDK v4.0.0, Android SDK v21.0.0 및 Swift SDK v5.4.0부터 도입되었습니다. JS 문서
brazeBridge.changeUser(id, sdkAuthSignature?) 고유 ID로 사용자를 식별합니다. JS 문서

이 방법은 Web SDK v4.3.0에 도입되었습니다.

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.

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!