プッシュ通知をカスタマイズする
Braze SDKのプッシュ通知をカスタマイズする方法を学習。
前提条件
この機能を使用する前に、Android Braze SDKを統合する必要があります。 プッシュ通知の設定も必要です。
プッシュイベントにコールバックを使用する
Braze には、プッシュ通知が受信されたとき、開かれたとき、または却下されたときのための subscribeToPushNotificationEvents()
コールバックが用意されています。アプリケーションが実行されていないときに発生するイベントを見逃さないように、このコールバックを Application.onCreate()
に配置することをお勧めします。
以前にアプリケーションでこの機能にカスタムブロードキャストレシーバーを使用していた場合は、この統合オプションを優先して、レシーバーを削除しても問題ありません。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Braze.getInstance(context).subscribeToPushNotificationEvents(event -> {
final BrazeNotificationPayload parsedData = event.getNotificationPayload();
//
// The type of notification itself
//
final boolean isPushOpenEvent = event.getEventType() == BrazePushEventType.NOTIFICATION_OPENED;
final boolean isPushReceivedEvent = event.getEventType() == BrazePushEventType.NOTIFICATION_RECEIVED;
// Sent when a user has dismissed a notification
final boolean isPushDeletedEvent = event.getEventType() == BrazePushEventType.NOTIFICATION_DELETED;
//
// Notification data
//
final String pushTitle = parsedData.getTitleText();
final Long pushArrivalTimeMs = parsedData.getNotificationReceivedTimestampMillis();
final String deeplink = parsedData.getDeeplink();
//
// Custom KVP data
//
final String myCustomKvp1 = parsedData.getBrazeExtras().getString("my first kvp");
final String myCustomKvp2 = parsedData.getBrazeExtras().getString("my second kvp");
});
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Braze.getInstance(context).subscribeToPushNotificationEvents { event ->
val parsedData = event.notificationPayload
//
// The type of notification itself
//
val isPushOpenEvent = event.eventType == BrazePushEventType.NOTIFICATION_OPENED
val isPushReceivedEvent = event.eventType == BrazePushEventType.NOTIFICATION_RECEIVED
// Sent when a user has dismissed a notification
val isPushDeletedEvent = event.eventType == BrazePushEventType.NOTIFICATION_DELETED
//
// Notification data
//
val pushTitle = parsedData.titleText
val pushArrivalTimeMs = parsedData.notificationReceivedTimestampMillis
val deeplink = parsedData.deeplink
//
// Custom KVP data
//
val myCustomKvp1 = parsedData.brazeExtras.getString("my first kvp")
val myCustomKvp2 = parsedData.brazeExtras.getString("my second kvp")
}
通知アクションボタンを使用すると、opens app
または deep link
アクションを持つボタンがクリックされると、BRAZE_PUSH_INTENT_NOTIFICATION_OPENED
インテントが起動します。ディープリンクとエクストラの処理は変わりません。close
アクション付きのボタンは BRAZE_PUSH_INTENT_NOTIFICATION_OPENED
インテントを起動せず、通知を自動的に閉じます。
Application.onCreate
でプッシュ通知リスナーを作成し、アプリが終了状態にある間にエンドユーザーが通知をタップした後にリスナーがトリガーされるようにします。
フォントのカスタマイズ
ステップ1:フォントファミリの作成
以下は、フォントファミリガイドを使用したカスタムフォントファミリ定義の例です。この例では、Bungee Shade フォントを使用します。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?xml version="1.0" encoding="utf-8"?>
<font-family xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<!--Note: You must declare both sets of attributes
so that your fonts load on devices running Android 8.0 (API level 26) or lower.
See https://developer.android.com/guide/topics/ui/look-and-feel/fonts-in-xml.html -->
<font android:fontStyle="normal"
android:fontWeight="400"
android:font="@font/bungeeshade"
app:fontStyle="normal"
app:fontWeight="400"
app:font="@font/bungeeshade"/>
</font-family>
フォントファミリの定義を/res/font/bungee_font_family.xml
に保存したら、XML でそれを@font/bungee_font_family
として参照できます。
ステップ2:フォントファミリを参照する
フォントファミリが作成されたので、styles.xml
の Braze スタイルのデフォルトをオーバーライドして、フォントファミリへの参照を含めることができます。
例えば、次のスタイルのオーバーライドでは、すべての Braze アプリ内メッセージにbungee
フォントファミリが使用されます。
1
2
3
4
5
6
7
8
9
<style name="Braze.InAppMessage">
<item name="android:fontFamily">@font/bungee_font_family</item>
<item name="fontFamily">@font/bungee_font_family</item>
</style>
<style name="Braze.Cards">
<item name="android:fontFamily">@font/another_custom_font_family</item>
<item name="fontFamily">@font/another_custom_font_family</item>
</style>
すべての SDK バージョン間で互換性を維持するには、android:fontFamily
とfontFamily
両方のスタイル属性を設定する必要があります。
通知表示のカスタマイズ
ステップ1:カスタム通知ファクトリーを作成する
サーバー側では面倒な方法や利用できない方法でプッシュ通知をカスタマイズしたい場合があります。通知表示を完全に制御できるよう追加された機能により、独自の IBrazeNotificationFactory
を定義して Braze で表示する通知オブジェクトを作成できるようになりました。
カスタムの IBrazeNotificationFactory
が設定されている場合、ユーザーに通知が表示される前に、プッシュ受信時に Braze がファクトリーの createNotification()
メソッドを呼び出します。Braze は、Braze プッシュデータを含む Bundle
と、ダッシュボードまたはメッセージング API 経由で送信されたカスタムのキーと値のペアを含む別の Bundle
を渡します。
Braze は、Braze プッシュ通知からのデータを含むBrazeNotificationPayload
を渡します。
1
2
3
4
5
6
7
8
9
// Factory method implemented in your custom IBrazeNotificationFactory
@Override
public Notification createNotification(BrazeNotificationPayload brazeNotificationPayload) {
// Example of getting notification title
String title = brazeNotificationPayload.getTitleText();
// Example of retrieving a custom KVP ("my_key" -> "my_value")
String customKvp = brazeNotificationPayload.getBrazeExtras().getString("my_key");
}
1
2
3
4
5
6
7
8
// Factory method implemented in your custom IBrazeNotificationFactory
override fun createNotification(brazeNotificationPayload: BrazeNotificationPayload): Notification {
// Example of getting notification title
val title = brazeNotificationPayload.getTitleText()
// Example of retrieving a custom KVP ("my_key" -> "my_value")
val customKvp = brazeNotificationPayload.getBrazeExtras().getString("my_key")
}
カスタムの createNotification()
メソッドから null
を返して通知をまったく表示しないことも、BrazeNotificationFactory.getInstance().createNotification()
を使用してそのデータのデフォルトの notification
オブジェクトを取得し、表示前に変更することも、完全に別個の notification
オブジェクトを生成して表示することもできます。
Braze のプッシュデータキーに関するドキュメントは、Android SDK を参照してください。
ステップ 2:カスタム通知ファクトリーを設定する
Braze にカスタム通知ファクトリーを使用するように指示するには、setCustomBrazeNotificationFactory
メソッドを使用して IBrazeNotificationFactory
を設定します。
1
setCustomBrazeNotificationFactory(IBrazeNotificationFactory brazeNotificationFactory);
1
setCustomBrazeNotificationFactory(brazeNotificationFactory: IBrazeNotificationFactory)
カスタム IBrazeNotificationFactory
を設定する場所として推奨されるのは、Application.onCreate()
アプリケーションのライフサイクルメソッド (アクティビティではない) です。これにより、アプリプロセスがアクティブなときはいつでも通知ファクトリーを正しく設定できるようになります。
ゼロから独自の通知を作成するのは高度なユースケースです。十分なテストを行い、Braze のプッシュ機能を深く理解した上で行うようにしてください。たとえば、通知がプッシュ通知の開封数を正しくログに記録することを確認する必要があります。
カスタム IBrazeNotificationFactory
の設定を解除し、プッシュのデフォルトの Braze 処理に戻すには、null
をカスタム通知ファクトリー設定機能に渡します。
1
setCustomBrazeNotificationFactory(null);
1
setCustomBrazeNotificationFactory(null)
マルチプライヤテキストのレンダリング
Braze SDK バージョン3.1.1 では、HTML をデバイスに送信し、プッシュ通知でマルチプライヤーテキストをレンダリングできます。
この例は、以下の HTML でレンダリングされます。
1
2
3
<p><span style="color: #99cc00;">M</span>u<span style="color: #008080;">lti</span>Colo<span style="color: #ff6600;">r</span> <span style="color: #000080;">P</span><span style="color: #00ccff;">u</span><span style="color: #ff0000;">s</span><span style="color: #808080;">h</span></p>
<p><em>test</em> <span style="text-decoration: underline; background-color: #ff6600;"><strong>message</strong></span></p>
Android では、プッシュ通知で有効なHTML 要素とタグが制限されていることに注意してください。たとえば、marquee
は使用できません。
マルチカラーテキストレンダリングはデバイス固有であり、Android デバイスまたはバージョンに基づいて表示されない場合があります。
プッシュ通知でマルチカラーテキストをレンダリングするには、braze.xml
またはBrazeConfig
を更新します。
braze.xml
に以下を追加します。
1
<bool translatable="false" name="com_braze_push_notification_html_rendering_enabled">true</bool>
BrazeConfig
に以下を追加します。
1
2
3
4
BrazeConfig brazeConfig = new BrazeConfig.Builder()
.setPushHtmlRenderingEnabled(true)
.build();
Braze.configure(this, brazeConfig);
1
2
3
4
val brazeConfig = BrazeConfig.Builder()
.setPushHtmlRenderingEnabled(true)
.build()
Braze.configure(this, brazeConfig)
サポートされるHTMLタグ
現在、Google は、Android でサポートされているHTML タグを直接ドキュメントにリストしていません。この情報は、Git リポジトリのHtml.java
ファイル でのみ確認できます。この情報はこのファイルから取得され、サポートされているHTML タグは変更される可能性があるため、次の表を参照するときは、この点に注意してください。
カテゴリー | HTMLタグ | 説明 |
---|---|---|
基本的なテキストスタイル | <b> ,<strong> |
太字のテキスト |
<i> ,<em> |
斜体テキスト | |
<u> |
テキストの下線 | |
<s> ,<strike> ,<del> |
テキストを取り消す | |
<sup> |
上付き文字 | |
<sub> |
添え字テキスト | |
<tt> |
モノスペーステキスト | |
サイズ/フォント | <big> ,<small> |
相対テキストサイズの変更 |
<font color="..."> |
前景色を設定する | |
<span> (インラインCSS付き) |
インラインスタイル(e.g.、色、背景) | |
段落&アンプ;ブロック | <p> ,<div> |
ブロックレベルのセクション |
<br> |
改行 | |
<blockquote> |
引用ブロック | |
<ul> + <li> |
行頭記号付きの順序なしリスト | |
表題 | <h1> - <h6> |
見出し(各種サイズ) |
リンク&アンプ;画像 | <a href="..."> |
クリック可能なリンク |
<img src="..."> |
インライン画像 | |
その他インライン | <em> ,<strong> 、<dfn> ,<cite> |
斜体または太字の同義語 |
インラインイメージのレンダリング
CDI の仕組み
インラインイメージプッシュを使用して、Androidプッシュ通知内に大きなイメージを表示できます。この設計により、ユーザーは画像を拡大するために手動でプッシュを拡大する必要がなくなります。通常の Android プッシュ通知とは異なり、インライン画像プッシュ画像の縦横比は 3:2 です。
互換性
インラインイメージを任意のデバイスに送信できますが、最小バージョンを満たさないデバイスとSDK には、代わりに標準イメージが表示されます。インラインイメージを正しく表示するには、Android Braze SDK v10.0.0+ とAndroid M+ を実行するデバイスの両方が必要です。
Android 12 を実行しているデバイスでは、カスタムプッシュ通知スタイルの変更によりレンダリングが異なります。
インラインイメージプッシュの送信
Android プッシュメッセージを作成する場合、この機能は [通知タイプ] ドロップダウンで使用できます。
設定
Braze ダッシュボード経由で送信されるAndroid プッシュ通知には、多くの詳細設定が利用可能です。この記事では、これらの機能とそれらを効果的に使用する方法について説明します。
通知 ID
通知 ID は、選択したメッセージカテゴリの一意の識別子です。その ID からの最新のメッセージのみを尊重するようメッセージングサービスに通知する役割を果たします。通知 ID を設定すると、古くて無関係なメッセージのスタックではなく、最新で関連性の高いメッセージだけを送信できます。
Firebase メッセージング配信の優先度
Firebase Messaging Delivery Priority フィールドでは、「通常」または「高」のどちらの優先度でプッシュを Firebase Cloud Messaging に送信するかを制御できます。
有効時間 (TTL)
有効期間 (TTL) フィールドを使用すると、プッシュメッセージングサービスでメッセージを保存する期間をカスタム設定できます。有効期間のデフォルト値は、FCM の場合は 4 週間、ADM の場合は 31 日です。
要約テキスト
要約テキストを使用すると、拡張通知ビューに追加のテキストを設定できます。画像付きの通知のキャプションとしても機能します。
要約テキストは、展開されたビューのメッセージ本文の下に表示されます。
画像を含むプッシュ通知の場合、折りたたまれたビューにはメッセージテキストが表示され、通知が展開されると、要約テキストが画像のキャプションとして表示されます。
カスタム URI
カスタム URI 機能を使用すると、通知がクリックされたときの誘導先 Web URL または Android リソースを指定できます。カスタム URI が指定されていない場合、通知をクリックするとユーザーはアプリに誘導されます。カスタム URI を使用してアプリ内でディープリンクし、アプリ外部のリソースにユーザーを誘導することができます。この設定は、メッセージングAPIまたはダッシュボードのプッシュ作成画面の「詳細設定」から行うことができる:
通知の表示優先度
通知の表示優先度設定は、Android O 以降を実行しているデバイスでは使用されなくなりました。新しいデバイスの場合は、通知チャネル設定を使用して優先度を設定します。
プッシュ通知の優先度レベルは、通知トレイ内で他の通知と比較して通知がどのように表示されるかに影響します。また、通常のメッセージや優先度の低いメッセージは、バッテリー寿命を延ばすために遅延がわずかに長くなったり、バッチ処理で送信されたりするのに対し、優先度の高いメッセージは常に即座に送信されるため、配信の速度と方法にも影響する可能性があります。
Android O では、通知の優先度が通知チャネルのプロパティになりました。開発者と協力して設定中にチャネルの優先度を定義し、ダッシュボードを使用して通知音を送信するときに適切なチャネルを選択する必要があります。Android before O を実行しているデバイスでは、Braze ダッシュボードとメッセージングAPI を使用してAndroid 通知の優先レベルを指定できます。
特定の優先度でフルユーザーベースにメッセージを送信するには、通知チャネル設定 (ターゲットO+ デバイスへ) および によって優先度を間接的に指定し、個々の優先度をダッシュボード(<O デバイスへ) から送信することをお勧めします。
Android または Fire OS プッシュ通知で設定できる優先度レベルは次のとおりです。
優先順位 | 説明/使用目的 | priority 値 (API メッセージ用) |
---|---|---|
マックス | 緊急または一刻を争うメッセージ | 2 |
高 | 友人からの新着メッセージなど、重要なコミュニケーション | 1 |
デフォルト | ほとんどの通知 - メッセージが他の優先度タイプのいずれにも明示的に該当しない場合に使用します | 0 |
低 | ユーザーに知ってもらいたいが、すぐに行動を起こす必要のない情報 | -1 |
最小 | コンテキストまたは背景情報 | -2 |
詳細については、GoogleのAndroid通知ドキュメントを参照してください。
サウンド
Android O では、通知音は通知チャネルのプロパティになりました。開発者と協力して設定時にチャネルのサウンドを定義し、通知を送信するときにダッシュボードを使用して適切なチャネルを選択する必要があります。
Android O より前のバージョンを実行しているデバイスの場合、Braze を使用すると、ダッシュボードコンポーザーを通じて個々のプッシュメッセージのサウンドを設定できます。これを行うには、デバイスのローカルサウンドリソースを指定します (例: android.resource://com.mycompany.myapp/raw/mysound
)。このフィールドに「default」を指定すると、デフォルトの通知音がデバイスで再生されます。これは、メッセージングAPIまたはダッシュボードのプッシュ作成画面の「詳細設定」で指定できる。
完全なサウンドリソース URI (例: android.resource://com.mycompany.myapp/raw/mysound
) をダッシュボードプロンプトに入力します。
特定のサウンドでフルユーザーベースをメッセージするには、通知チャネル設定 (ターゲットO+ デバイスへ) および によってサウンドを間接的に指定し、ダッシュボードから個別のサウンド(ターゲット<O デバイスへ)を送信することをお勧めします。
前提条件
この機能を使用する前に、Swift Braze SDKを統合する必要があります。 プッシュ通知の設定も必要です。
アクションボタンのカスタマイズ
Braze Swift SDK では、プッシュアクションボタン用の URL 処理がサポートされています。Braze のデフォルトプッシュカテゴリのデフォルトプッシュアクションボタンには、4つのセット Accept/Decline
、Yes/No
、Confirm/Cancel
、More
があります。
アクションボタンを手動で登録する
手動で押しボタンを登録することはお勧めしません。
configuration.push.automation
設定オプションを使用してプッシュ通知 を設定した場合、Braze はデフォルトのプッシュカテゴリのアクションボタンを自動的に登録し、プッシュアクションボタンのクリックアナリティクスとURL ルーティングを処理します。
ただし、代わりに手動でプッシュアクションボタンを登録することもできます。
ステップ1:Braze デフォルトプッシュカテゴリの追加
register for push の場合、デフォルトのプッシュカテゴリに登録するには、次のコードを使用します。
a
1
UNUserNotificationCenter.current().setNotificationCategories(Braze.Notifications.categories)
1
[[UNUserNotificationCenter currentNotificationCenter] setNotificationCategories:BRZNotifications.categories];
バックグラウンドアクティベーションモードでプッシュアクションボタンをクリックすると、通知が閉じられるだけで、アプリは開きません。ユーザーが次回アプリを開くと、これらのアクションのボタンクリック分析がサーバーにフラッシュされます。
ステップ2:インタラクティブなプッシュ処理を有効にする
クリック分析や URL ルーティングを含むプッシュアクションボタンの処理を有効にするには、アプリの didReceive(_:completionHandler:)
デリゲートメソッドに次のコードを追加します。
1
AppDelegate.braze?.notifications.handleUserNotification(response: response, withCompletionHandler: completionHandler)
1
2
[AppDelegate.braze.notifications handleUserNotificationWithResponse:response
withCompletionHandler:completionHandler];
UNNotification
フレームワークを使用し、Braze 通知メソッド を実装した場合、このメソッドはすでに統合されている必要があります。
プッシュカテゴリのカスタマイズ
Brazeはデフォルトのプッシュカテゴリのセットを提供するだけでなく、カスタムの通知カテゴリとアクションもサポートしています。アプリケーションにカテゴリを登録すると、Braze ダッシュボードを使用してこれらのカスタム通知カテゴリをユーザーに送信できます。
デバイスに表示される LIKE_CATEGORY
を活用する例を次に示します。
を表示するプッシュメッセージ
ステップ1:カテゴリを登録する
以下のような方法で、アプリにカテゴリを登録します。
1
2
3
4
5
6
7
8
9
10
Braze.Notifications.categories.insert(
.init(identifier: "LIKE_CATEGORY",
actions: [
.init(identifier: "LIKE_IDENTIFIER", title: "Like", options: [.foreground]),
.init(identifier: "UNLIKE_IDENTIFIER", title: "Unlike", options: [.foreground])
],
intentIdentifiers: []
)
)
UNUserNotificationCenter.current().setNotificationCategories(Braze.Notifications.categories)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
NSMutableSet<UNNotificationCategory *> *categories = [BRZNotifications.categories mutableCopy];
UNNotificationAction *likeAction = [UNNotificationAction actionWithIdentifier:@"LIKE_IDENTIFIER"
title:@"Like"
options:UNNotificationActionOptionForeground];
UNNotificationAction *unlikeAction = [UNNotificationAction actionWithIdentifier:@"UNLIKE_IDENTIFIER"
title:@"Unlike"
options:UNNotificationActionOptionForeground];
UNNotificationCategory *likeCategory = [UNNotificationCategory categoryWithIdentifier:@"LIKE_CATEGORY"
actions:@[likeAction, unlikeAction]
intentIdentifiers:@[]
options:UNNotificationCategoryOptionNone];
[categories addObject:likeCategory];
[UNUserNotificationCenter.currentNotificationCenter setNotificationCategories:categories];
UNNotificationAction
を作成するときに、アクションオプションのリストを指定できます。たとえば、UNNotificationActionOptions.foreground
を使用して、ユーザーがアクションボタンをタップしてからアプリを開けるようにします。これは、「アプリを開く」や「アプリケーションにディープリンクする」などのナビゲーションクリック時の動作に必要です。詳細については、UNNotificationActionOptions
を参照してください。
ステップ2:カテゴリを選択
カテゴリを登録したら、Braze ダッシュボードを使用して、そのタイプの通知をユーザーに送信します。
アプリケーションにディープリンクしたり、URL を開いたりするアクションなど、_特殊なアクション_を含むアクションボタンの場合にのみ、カスタム通知カテゴリを定義する必要があります。通知を閉じるだけのアクションボタン用に定義する必要はありません。
- Braze ダッシュボードで、メッセージング> プッシュ通知を選択し、iOS プッシュキャンペーンを選択します。
- [プッシュ通知を作成する] の下で、[アクションボタン] をオンにします。
- [iOS 通知カテゴリ] ドロップダウンで、[事前登録されたカスタム iOS カテゴリを入力] を選択します。
- 最後に、前に作成したカテゴリのいずれかを入力します。次の例では、カスタムカテゴリ
LIKE_CATEGORY
を使用します。
バッジのカスタマイズ
バッジは小さなアイコンで、ユーザーの注意を引くのに最適です。Braze ダッシュボードを使用してプッシュ通知を作成する場合、Settings タブでバッジ数を指定できます。アプリケーションの applicationIconBadgeNumber
プロパティまたはリモート通知ペイロードを使用して、バッジ数を手動で更新することもできます。
Brazeは、アプリがフォアグラウンドにあるときにBraze通知を受信すると、バッジカウントを自動的にクリアします。バッジ番号を手動で0に設定すると、通知センターの通知もクリアされます。
通常のアプリ操作の一部として、またはバッジをクリアするプッシュを送信してバッジをクリアする計画がない場合は、次のコードをアプリの applicationDidBecomeActive:
デリゲートメソッドに追加してアプリがアクティブになったときにバッジをクリアする必要があります。
1
2
3
4
5
6
7
8
9
10
// For iOS 16.0+
let center = UNUserNotificationCenter.current()
do {
try await center.setBadgeCount(0)
} catch {
// Handle errors
}
// Prior to iOS 16. Deprecated in iOS 17+.
UIApplication.shared.applicationIconBadgeNumber = 0
1
2
3
4
5
6
7
8
9
10
// For iOS 16.0+
UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter];
[center setBadgeCount:0 withCompletionHandler:^(NSError * _Nullable error) {
if (error != nil) {
// Handle errors
}
}];
// Prior to iOS 16. Deprecated in iOS 17+.
[UIApplication sharedApplication].applicationIconBadgeNumber = 0;
サウンドのカスタマイズ
ステップ1:アプリでサウンドをホストする
カスタムプッシュ通知サウンドは、アプリのメインバンドル内でローカルにホストする必要があります。次のオーディオデータ形式が使用できます。
- リニア PCM
- MA4
- µLaw
- aLaw
オーディオデータは AIFF、WAV、または CAF ファイルにパッケージできます。Xcode で、サウンドファイルをアプリケーションバンドルの非ローカライズリソースとしてプロジェクトに追加します。
カスタムサウンドを再生する場合は、30 秒未満にする必要があります。カスタムサウンドがこの制限を超えている場合、デフォルトのシステムサウンドが代わりに再生されます。
サウンドファイルを変換する
afconvert ツールを使用して、サウンドを変換できます。たとえば、16ビットリニア PCM システムサウンド Submarine.aiff を CAF ファイルの IMA4オーディオに変換するには、ターミナルで次のコマンドを使用します。
1
afconvert /System/Library/Sounds/Submarine.aiff ~/Desktop/sub.caf -d ima4 -f caff -v
QuickTime Player でサウンドを開き、[ムービー] メニューから [ムービーインスペクターを表示] を選択するとサウンドのデータ形式を確認できます。
ステップ2:サウンドのプロトコルURL を指定する
アプリ内のサウンドファイルの場所にリダイレクトするプロトコル URL を指定する必要があります。これには2 つの方法があります。
- Appleプッシュオブジェクトの
sound
パラメータを使用して、URLをBrazeに渡します。 - ダッシュボードで URL を指定します。push composerでSettingsを選択し、SoundフィールドにプロトコールURLを入力します。
指定したサウンドファイルが存在しない場合、またはキーワード「default」を入力した場合は、Braze では、デバイスのデフォルトのアラートサウンドが使用されます。ダッシュボードとは別に、[メッセージング API][12] でサウンドを設定することもできます。
詳細については、カスタムアラートサウンドの準備に関するApple Developer のドキュメントを参照してください。
設定
ダッシュボードからプッシュキャンペーンを作成する場合、作成ステップで設定タブをクリックし、利用可能な詳細設定を表示する。
キーと値のペア
Braze を使用すると、extras
として知られるカスタム定義の文字列キーと値のペアを、アプリケーションへプッシュ通知と一緒に送ることができます。エクストラは、ダッシュボードまたは API を介して定義することができ、プッシュデリゲートの実装に渡される notification
辞書内のキーと値のペアとして利用できます。
アラートオプション
Alert Options(アラート・オプション)チェックボックスを選択すると、デバイスにどのように通知が表示されるかを調整するために利用可能なキー値のドロップダウンが表示される。
コンテンツ利用可能フラグを追加する
新しいコンテンツをバックグラウンドでダウンロードするようにデバイスに指示するには、[コンテンツ利用可能フラグを追加] チェックボックスをオンにします。最も一般的には、これはサイレント通知の送信に関心がある場合にチェックできます。
mutable-content フラグを追加する
Add Mutable-Content Flagチェックボックスをチェックして、受信機の高度なカスタマイズを有効にする。このフラグは、このチェックボックスの値に関係なく、rich notificationを作成するときに自動的に送信されます。
折りたたみ ID
同様の通知をまとめるには、折りたたみ ID を指定します。同一の折りたたみ ID を使用して複数の通知を送信すると、デバイスには最後に受信した通知のみが表示されます。統合された通知については、Apple のドキュメントを参照してください。
有効期限
[有効期限] チェックボックスをオンにすると、メッセージの有効期限を設定できます。ユーザーのデバイスが接続性を失った場合、Braze は指定された時間までメッセージの送信を試行し続けます。設定されていない場合、プラットフォームの有効期限はデフォルトで30日となります。配信前に有効期限切れとなったプッシュ通知は失敗とはみなされず、バウンスとして記録されないことに注意してください。
前提条件
この機能を使用する前に、Android Braze SDKを統合する必要があります。 プッシュ通知の設定も必要です。
設定
Braze ダッシュボード経由で送信されるFireOS プッシュ通知には、利用可能な高度な設定が多数あります。この記事では、これらの機能とそれらを効果的に使用する方法について説明します。
有効時間 (TTL)
有効期間 (TTL) フィールドを使用すると、プッシュメッセージングサービスでメッセージを保存する期間をカスタム設定できます。有効期間のデフォルト値は、FCM の場合は 4 週間、ADM の場合は 31 日です。
要約テキスト
要約テキストを使用すると、拡張通知ビューに追加のテキストを設定できます。画像付きの通知のキャプションとしても機能します。
要約テキストは、展開されたビューのメッセージ本文の下に表示されます。
画像を含むプッシュ通知の場合、折りたたまれたビューにはメッセージテキストが表示され、通知が展開されると、要約テキストが画像のキャプションとして表示されます。
カスタム URI
カスタム URI 機能を使用すると、通知がクリックされたときの誘導先 Web URL または Android リソースを指定できます。カスタム URI が指定されていない場合、通知をクリックするとユーザーはアプリに誘導されます。カスタム URI を使用してアプリ内でディープリンクし、アプリ外部のリソースにユーザーを誘導することができます。この設定は、メッセージングAPIまたはダッシュボードのプッシュ作成画面の「詳細設定」から行うことができる:
通知の表示優先度
通知の表示優先度設定は、Android O 以降を実行しているデバイスでは使用されなくなりました。新しいデバイスの場合は、通知チャネル設定を使用して優先度を設定します。
プッシュ通知の優先度レベルは、通知トレイ内で他の通知と比較して通知がどのように表示されるかに影響します。また、通常のメッセージや優先度の低いメッセージは、バッテリー寿命を延ばすために遅延がわずかに長くなったり、バッチ処理で送信されたりするのに対し、優先度の高いメッセージは常に即座に送信されるため、配信の速度と方法にも影響する可能性があります。
Android O では、通知の優先度が通知チャネルのプロパティになりました。開発者と協力して設定中にチャネルの優先度を定義し、ダッシュボードを使用して通知音を送信するときに適切なチャネルを選択する必要があります。O より前のバージョンのAndroid を実行しているデバイスでは、FireOS 通知の優先順位レベルをBraze ダッシュボードとメッセージングAPI で指定できます。
特定の優先度でフルユーザーベースにメッセージを送信するには、通知チャネル設定 (ターゲットO+ デバイスへ) および によって優先度を間接的に指定し、個々の優先度をダッシュボード(<O デバイスへ) から送信することをお勧めします。
Fire OS プッシュ通知で設定できる優先順位は次のとおりです。
優先順位 | 説明/使用目的 | priority 値 (API メッセージ用) |
---|---|---|
マックス | 緊急または一刻を争うメッセージ | 2 |
高 | 友人からの新着メッセージなど、重要なコミュニケーション | 1 |
デフォルト | ほとんどの通知 - メッセージが他の優先度タイプのいずれにも明示的に該当しない場合に使用します | 0 |
低 | ユーザーに知ってもらいたいが、すぐに行動を起こす必要のない情報 | -1 |
最小 | コンテキストまたは背景情報 | -2 |
詳細については、GoogleのAndroid通知ドキュメントを参照してください。
サウンド
Android O では、通知音は通知チャネルのプロパティになりました。開発者と協力して設定時にチャネルのサウンドを定義し、通知を送信するときにダッシュボードを使用して適切なチャネルを選択する必要があります。
Android O より前のバージョンを実行しているデバイスの場合、Braze を使用すると、ダッシュボードコンポーザーを通じて個々のプッシュメッセージのサウンドを設定できます。これを行うには、デバイスのローカルサウンドリソースを指定します (例: android.resource://com.mycompany.myapp/raw/mysound
)。このフィールドに「default」を指定すると、デフォルトの通知音がデバイスで再生されます。これは、メッセージングAPIまたはダッシュボードのプッシュ作成画面の「設定」から指定できる。
完全なサウンドリソース URI (例: android.resource://com.mycompany.myapp/raw/mysound
) をダッシュボードプロンプトに入力します。
特定のサウンドでフルユーザーベースをメッセージするには、通知チャネル設定 (ターゲットO+ デバイスへ) および によってサウンドを間接的に指定し、ダッシュボードから個別のサウンド(ターゲット<O デバイスへ)を送信することをお勧めします。