Web用ソフトプッシュプロンプト
Braze SDKのソフトプッシュプロンプトの設定方法を学習する。
前提条件
この機能を使用する前に、Web Braze SDKを統合する必要がある。 プッシュ通知の設定も必要です。
mParticleの組み込みキットを使用してWebでBrazeを統合している場合は、ソフトプッシュプロンプトの実装手順についてmParticleのBraze Webイベント統合のステップ3を参照してください。
ソフトプッシュプロンプトについて
多くの場合、サイトでは「ソフト」プッシュプロンプトを実装することをお勧めします。このプロンプトでは、プッシュ許可を要求する前にユーザーを「プライム」し、プッシュ通知を送る理由を説明します。これは、ユーザーに直接プロンプトを表示する頻度がブラウザーによって制限され、ユーザーが許可を拒否した場合は二度と求めることができないため便利です。
あるいは、特別なカスタム処理を含めたい場合は、標準のWebプッシュ統合で説明されているようにrequestPushPermission()を直接呼び出す代わりに、トリガーされたアプリ内メッセージを使用してください。

これは、新しいノーコードプッシュプライマーを使用して、SDKのカスタマイズなしで行うことができます。
ソフトプッシュプロンプトの設定

このガイドでは、Braze Web SDK 4.0.0+ のコードサンプルを使用します。最新の Web SDK バージョンにアップグレードするには、SDK アップグレードガイドを参照してください。
ステップ 1:プッシュプライマーキャンペーンを作成する
まず、Brazeダッシュボードで「Prime for Push」アプリ内メッセージングキャンペーンを作成する必要があります。
- 希望するテキストとスタイリングでモーダルアプリ内メッセージを作成します。
- 次に、クリック時の動作をメッセージを閉じるに設定します。この動作は後でカスタマイズします。
- メッセージにキーと値のペアを追加します。キーは
msg-id、値はpush-primerです。 - カスタムイベントトリガーアクション(「prime-for-push」など)をメッセージに割り当てます。必要に応じて、ダッシュボードから手動でカスタムイベントを作成することもできます。
ステップ 2:呼び出しを削除する
Braze SDKの統合で、読み込みスニペット内からautomaticallyShowInAppMessages()の呼び出しを見つけて削除します。
ステップ 3:統合を更新する
最後に、削除した呼び出しを次のスニペットで置き換えます。openSession()を呼び出す前にsubscribeToInAppMessage()を呼び出してください。これにより、アプリ内メッセージリスナーがプッシュプライマーメッセージを受信するタイミングに間に合うように登録されます。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import * as braze from "@braze/web-sdk";
// Be sure to remove any calls to braze.automaticallyShowInAppMessages()
braze.subscribeToInAppMessage(function(inAppMessage) {
// check if message is not a control variant
if (inAppMessage instanceof braze.inAppMessage) {
// access the key-value pairs, defined as `extras`
const keyValuePairs = inAppMessage.extras || {};
// check the value of our key `msg-id` defined in the Braze dashboard
if (keyValuePairs["msg-id"] === "push-primer") {
// We don't want to display the soft push prompt to users on browsers
// that don't support push, or if the user has already granted/blocked permission
if (
braze.isPushSupported() === false ||
braze.isPushPermissionGranted() ||
braze.isPushBlocked()
) {
// do not call `showInAppMessage`
return;
}
// user is eligible to receive the native prompt
// register a click handler on one of the two buttons
if (inAppMessage.buttons[0]) {
// Prompt the user when the first button is clicked
inAppMessage.buttons[0].subscribeToClickedEvent(function() {
braze.requestPushPermission(
function() {
// success!
},
function() {
// user declined
}
);
});
}
}
}
// show the in-app message now
braze.showInAppMessage(inAppMessage);
});
ユーザーにソフトプッシュプロンプトを表示したい場合は、このアプリ内メッセージをトリガーする任意のイベント名でbraze.logCustomEventを呼び出してください。