バナー用のカスタムコードとJavaScriptブリッジ
バナーコンポーザーでカスタムコードエディターブロックを使用する場合、クリックを記録するにはカスタムHTML内から
brazeBridge.logClick()を呼び出す必要があります。バナーはHTMLアプリ内メッセージと同じJavaScriptブリッジを使用するため、同じメソッドとパターンが適用されます。
バナーデザインでカスタムHTMLを使用する場合、Braze SDKはカスタムコード内の要素にクリックリスナーを自動的にアタッチできません。Campaign分析でトラッキングしたいクリック可能な要素(リンク、ボタンなど)については、明示的にbrazeBridge.logClick()を呼び出す必要があります。
例えば、カスタムHTML内のボタンをユーザーがタップした際にクリックを記録するには、次のようにします。
1
2
3
<button onclick="brazeBridge.logClick()">
Click me
</button>
利用可能なすべてのメソッドやクリックトラッキングオプションを含む完全なJavaScriptブリッジリファレンスについては、以下のセクションを参照してください。
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.
| メソッド名 | 説明 |
|---|---|
brazeBridge.closeMessage() |
現在のメッセージを閉じます。動作はチャネルによって異なります。 アプリ内メッセージ: UIのみを閉じます。却下は記録されず、サーバー側の抑制も行われません。 バナー: logBannerDismissal の呼び出しと同等です。バナーの却下を記録し、UIからバナーを削除し、そのユーザーに対してバナーを抑制します。また、アクティブな subscribeToBannersUpdates サブスクライバーを再トリガーします。メッセージがすでに終了処理中であるか、ディープリンクの処理によって自動的に終了する場合は、このメソッドを呼び出さないでください。 |
window.addEventListener("ab.BridgeReady", function(){...}, false) |
brazeBridge の読み込みが完了したときのコールバックメソッドです。すべてのJavaScriptコードは、このコールバック関数内で実行する必要があります。 |
brazeBridge.requestImmediateDataFlush() |
キューに入っているデータをBrazeサーバーにフラッシュします。JS ドキュメント |
brazeBridge.logClick(button_id_string) |
指定されたボタンIDのボタンクリックを記録します。button_id_string が空白の場合、代わりにボディクリックが記録されます。button_id_string は、Currentsを介してアプリ内メッセージのクリックイベントで button_id として渡すことができます。このメソッドは Android SDK v8.0.0、Web SDK v2.5.0、iOS SDK v3.23.0 で導入されました。 button_id_string には、英数字、スペース、ダッシュ、アンダースコアのみを使用できます。アクセント付きの文字(例: ö、â、ê)を追加すると、ボタンのクリックトラッキングが機能しなくなり、ボタン文字列がCampaign分析セクションに表示されず、クリック数がカウントされなくなります。 |
brazeBridge.logCustomEvent(eventName,eventProperties) |
カスタムイベントを記録します。JS ドキュメント |
brazeBridge.logPurchase(productId, price, currencyCode, quantity, purchaseProperties) |
購入を記録します。JS ドキュメント |
brazeBridge.getUser().addAlias(alias, label) |
ユーザーにエイリアスを追加します。Web 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 ドキュメント。 このメソッドは Android SDK v15.0.0、Web SDK v3.4.0、iOS SDK v4.3.3 で導入されました。 |
brazeBridge.getUser().removeFromSubscriptionGroup(subscriptionGroupId) |
ユーザーをメールまたはSMSサブスクリプショングループから削除します。JS ドキュメント。 このメソッドは Android SDK v15.0.0、Web 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およびWeb SDK v2.6.0で導入されました。JS ドキュメント |
brazeBridge.getUser().setCustomLocationAttribute(key, latitude, longitude) |
カスタムロケーション属性を設定します。Android SDK v5.0.0で導入されました。JS ドキュメント |
brazeBridge.web.registerAppboyPushMessages(successCallback, deniedCallback) |
Webプッシュに登録します(Webのみ)。このメソッドは、Web以外の環境で呼び出された場合は何も実行しません。JS ドキュメント |
brazeBridge.requestPushPermission(successCallback, deniedCallback) |
Web、iOS、Androidにまたがるプッシュに登録します。注: このメソッドのコールバックはWeb上でのみサポートされています。このメソッドは 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.
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.