Skip to content

バナー用のカスタムコードとJavaScriptブリッジ

バナービルダーでカスタムコードエディターブロックを使用する場合、またはHTMLエディターでバナーを作成する場合、クリックを記録するにはカスタムHTML内からbrazeBridge.logClick()を呼び出す必要があります。バナーはHTMLアプリ内メッセージと同じJavaScriptブリッジを使用するため、同じメソッドとパターンが適用されます。

バナーデザインでカスタムHTMLを使用する場合(ビルダーのカスタムコードブロック経由、またはフルHTMLエディター経由のいずれでも)、Braze SDKはカスタムコード内の要素にクリックリスナーを自動的にアタッチできません。キャンペーン分析でトラッキングしたいクリック可能な要素(リンク、ボタンなど)については、明示的にbrazeBridge.logClick()を呼び出す必要があります。

例えば、カスタムHTML内のボタンをユーザーがタップした際にクリックを記録するには、次のようにします。

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

利用可能なすべてのメソッドやクリックトラッキングオプションを含む完全なJavaScriptブリッジリファレンスについては、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.

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() 現在のメッセージを閉じます。動作はチャネルによって異なります。

アプリ内メッセージ: 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には、英数字、スペース、ダッシュ、アンダースコアのみを使用できます。アクセント付きの文字(例: ö、â、ê)を追加すると、ボタンのクリックトラッキングが機能しなくなり、ボタン文字列がキャンペーンの分析セクションに表示されず、クリック数がカウントされなくなります。
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.

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!