プッシュ通知の統合
この参考記事では、Flutterにプッシュ通知を設定する方法を説明する。プッシュ通知を統合するには、各ネイティブプラットフォームを個別に設定する必要があります。リストされているそれぞれのガイドに従って、インストールを完了します。
ステップ 1:初期設定を完了する
ステップ1.1:プッシュ登録
Google の Firebase Cloud Messaging (FCM) API を使用してプッシュに登録します。詳しい手順については、「ネイティブ Android プッシュ通知統合ガイド」で以下の手順を参照してください。
- Firebase をプロジェクトに追加します。
- Cloud Messaging を依存関係に追加します。
- サービスアカウントを作成します。
- JSON 認証情報を生成します。
- JSON認証情報をBrazeにアップロードする。
ステップ1.2:Google Sender IDを取得する
まず Firebase Console に移動し、プロジェクトを開いて、[設定] > [プロジェクト設定] を選択します。
[Cloud Messaging] 選択し、[Firebase Cloud Messaging API (V1)] の下にある [送信者 ID] をクリップボードにコピーします。
ステップ1.3:braze.xml
を更新する
braze.xml
ファイルに以下を追加する。FIREBASE_SENDER_ID
を、以前にコピーした送信者 ID に置き前ます。
1
2
<bool translatable="false" name="com_braze_firebase_cloud_messaging_registration_enabled">true</bool>
<string translatable="false" name="com_braze_firebase_cloud_messaging_sender_id">FIREBASE_SENDER_ID</string>
ステップ1.1:APN証明書をアップロードする
Appleプッシュ通知サービス(APNs)証明書を生成し、Brazeダッシュボードにアップロードする。詳細な手順については、APN 証明書のアップロードを参照してください。
ステップ1.2:アプリにプッシュ通知サポートを追加する
ネイティブ iOS 統合ガイドの手順に従います。
ステップ2:プッシュ通知イベントをリッスンする(オプション)
Braze が検出して処理したプッシュ通知イベントをリッスンするには、subscribeToPushNotificationEvents()
を呼び出し、実行する引数を渡します。
Braze プッシュ通知イベントは、Android と iOS の両方で利用できます。プラットフォームが異なるため、iOS はユーザーが通知を操作した場合にのみ Braze プッシュイベントを検出します。
1
2
3
4
5
6
7
8
9
10
// Create stream subscription
StreamSubscription pushEventsStreamSubscription;
pushEventsStreamSubscription = braze.subscribeToPushNotificationEvents((BrazePushEvent pushEvent) {
print("Push Notification event of type ${pushEvent.payloadType} seen. Title ${pushEvent.title}\n and deeplink ${pushEvent.url}");
// Handle push notification events
});
// Cancel stream subscription
pushEventsStreamSubscription.cancel();
プッシュ通知イベントフィールド
iOS のプラットフォーム制限のため、Braze SDK はアプリがフォアグラウンドにあるときにのみプッシュペイロードを処理できます。リスナーは、ユーザーがプッシュを操作した後、iOSで push_opened
イベントタイプに対してのみトリガーされます。
プッシュ通知フィールドの完全なリストについては、以下の表を参照してください。
フィールド名 | タイプ | 説明 |
---|---|---|
payloadType |
文字列 | 通知ペイロードのタイプを指定します。Braze Flutter SDK から送信される2つの値は、push_opened と push_received です。 iOS では、push_opened イベントのみがサポートされています。 |
url |
文字列 | 通知によって開かれたURLを指定する。 |
useWebview |
ブール値 | true の場合、URLはアプリ内のモーダルウェブビューで開かれる。false の場合、URLは端末のブラウザーで開かれる。 |
title |
文字列 | 通知のタイトルを表す。 |
body |
文字列 | 通知の本文または内容テキストを表す。 |
summaryText |
文字列 | 通知の要約テキストを表す。これは iOS で subtitle からマップされます。 |
badgeCount |
数値 | 通知のバッジカウントを表す。 |
timestamp |
数値 | ペイロードがアプリケーションによって受信された時刻を表す。 |
isSilent |
ブール値 | true の場合、ペイロードはサイレントに受信されます。Android のサイレントプッシュ通知の送信の詳細については、Android でのサイレントプッシュ通知を参照してください。iOS のサイレントプッシュ通知の送信の詳細については、iOS のサイレントプッシュ通知を参照してください。 |
isBrazeInternal |
ブール値 | ジオフェンス同期、機能フラグ同期、またはアンインストールトラッキングなどの内部 SDK 機能に対して通知ペイロードが送信された場合、これは true になります。ペイロードはユーザーに対してサイレントに受信されます。 |
imageUrl |
文字列 | 通知画像に関連するURLを指定する。 |
brazeProperties |
オブジェクト | キャンペーンに関連するBrazeのプロパティ(キーと値のペア)を表す。 |
ios |
オブジェクト | iOS固有のフィールドを表す。 |
android |
オブジェクト | Android固有のフィールドを表す。 |
ステップ3:プッシュ通知の表示をテストする
ネイティブレイヤーでプッシュ通知を設定した後、統合をテストするには:
- Flutter アプリケーションでアクティブユーザーを設定します。これを行うには、
braze.changeUser('your-user-id')
を呼び出してプラグインを初期化します。 - [キャンペーン] に移動し、新しいプッシュ通知キャンペーンを作成します。テストしたいプラットフォームを選択します。
- テスト通知を作成し、[テスト] タブに移動します。テストユーザーと同じ
user-id
を追加し、[テストを送信] をクリックします。 - まもなくデバイスに通知が届くはずです。通知が表示されない場合は、通知センターで確認するか、設定を更新する必要が生じる場合があります。
Xcode 14から、iOSシミュレーター上でリモート・プッシュ通知をテストできるようになった。