Firebase Cloud Messaging(FCM)コネクタの構成ガイド
この記事では、Firebase Cloud Messagingコネクタのセットアップ方法について説明します。
API情報
このコネクタは、次のベンダーAPIを使用します:
- API名:Google Firebase API
- APIバージョン:v1
- APIエンドポイント:
https://fcm.googleapis.com/ - ドキュメント:Firebase Cloud Messaging
コネクタアクション
| アクション名 | AudienceStream | EventStream |
|---|---|---|
| Androidデバイスにメッセージを送信する | ✓ | ✓ |
| iOSデバイスにメッセージを送信する | ✓ | ✓ |
| Webアプリにメッセージを送信する | ✓ | ✓ |
構成の構成
コネクタマーケットプレイスに移動し、新しいコネクタを追加します。コネクタを追加する方法の一般的な手順については、コネクタについてを参照してください。
コネクタを追加した後、次の構成を構成します:
- FirebaseプロジェクトID
**必須です。**プロジェクトIDを入力します。Firebaseコンソールを使用してFirebaseプロジェクトのIDを確認できます。プロジェクト構成を開きます。プロジェクトIDは上部パネルに表示されます。 - クライアントID
**必須です。**Firebase Cloud Messaging APIへのアクセス権を持つWebアプリケーションのクライアントIDを入力します。Google APIコンソールの認証情報ページで、承認されたリダイレクトURIhttps://my.tealiumiq.com/oauth/google/callback.htmlをホワイトリストに登録する必要があります。認証情報の作成を参照してください。 - クライアントシークレット
**必須です。**Webアプリケーションのクライアントシークレットを入力します。
アクション
アクションの名前を入力し、ドロップダウンメニューからアクションタイプを選択します。
以下のセクションでは、各アクションのパラメータとオプションの構成方法について説明します。
Androidデバイスにメッセージを送信する
パラメータ
メッセージの送信先を指定するには、次のパラメータのいずれか1つだけを構成します:Token、Topic、またはCondition。
| パラメータ | 説明 |
|---|---|
| Token | メッセージを送信するための登録トークン。 |
| Topic | メッセージを送信する購読済みトピック名。例:weather。注:/topics/接頭辞は含めないでください。 |
| Condition | メッセージを送信する購読済みトピックの条件。例:foo in topics && bar in topics。 |
| Analytics Label | メッセージの分析データに関連付けられたラベル。 |
| Collapse Key | メッセージをグループ化するための識別子。配信が再開されると、最後のメッセージのみが送信されます。最大4つの異なる折りたたみキーが同時に許可されています。 |
| Priority | メッセージの優先度。値はNORMALまたはHIGHにすることができます。詳細については、メッセージの優先度の構成を参照してください。 |
| Time to Live | sで終わる最大9桁の秒単位の期間。例:3.5s。このフィールドは、デバイスがオフラインの場合にメッセージをFCM保存に保持する期間(秒単位)を表します。サポートされる最大のTime to Liveは4週間で、デフォルト値は4週間です。メッセージをすぐに送信する場合は、0に構成します。 |
| Restricted Package Name | メッセージを受信するために登録トークンと一致するアプリケーションのパッケージ名。 |
| Direct Boot Ok | trueに構成すると、デバイスがダイレクトブートモードにある間にアプリにメッセージが配信されます。詳細については、ダイレクトブートモードのサポートを参照してください。 |
| Title | 通知のタイトル。 |
| Body | 通知の本文テキスト。 |
| Icon | 通知のアイコン。ドローアブルリソースmyiconの通知アイコンをmyiconに構成します。指定しない場合、FCMはアプリマニフェストで指定されたランチャーアイコンを表示します。 |
| Color | 通知アイコンの色を#rrggbb形式で表現します。 |
| Sound | デバイスが通知を受信したときに再生するサウンド。defaultまたはアプリにバンドルされたサウンドリソースのファイル名をサポートします。サウンドファイルは/res/raw/に配置する必要があります。 |
| Tag | 通知ドロワー内の既存の通知を置き換えるために使用される識別子。指定しない場合、各リクエストは新しい通知を作成します。指定された場合、同じタグを持つ通知が既に表示されている場合、新しい通知は既存の通知を通知ドロワー内で置き換えます。 |
| Click Action | 通知のクリックに関連付けられたアクション。指定された場合、一致するインテントフィルターを持つアクティビティが通知をクリックしたときに起動されます。 |
| Body Localization Key | アプリのリソース内の本文文字列のキー。このキーを指定して、ユーザーの現在のロケールに本文テキストをローカライズします。詳細については、文字列リソースを参照してください。 |
| Body Localization Args | 本文ローカライズキーのフォーマット指定子の代わりに使用する文字列値の配列。Body Localization Keyで指定された文字列内の各%@文字は、この配列の値に置き換えられます。配列の最初のアイテムは、文字列内の最初の%@文字を置き換え、2番目のアイテムは2番目のインスタンスを置き換え、以降の順に置き換えます。 |
| Title Localization Key | アプリのリソース内のタイトル文字列のキー。このキーを指定して、ユーザーの現在のロケールにタイトルテキストをローカライズします。詳細については、文字列リソースを参照してください。 |
| Title Localization Args | タイトルローカライズキーのフォーマット指定子の代わりに使用する文字列値の配列。Title Localization Keyで指定された文字列内の各%@文字は、この配列の値に置き換えられます。 |
| Channel ID | 通知のチャネルID(Android Oで新機能)。アプリは、このチャネルIDでチャネルを作成する必要があります。指定されていない場合、または提供されたチャネルIDがアプリでまだ作成されていない場合、FCMは代わりにアプリで指定されたチャネルIDを使用します。 |
| Ticker | このパラメータは、アクセシビリティサービスに送信される通知のティッカーテキストを構成します。APIレベル21(Lollipop)より前では、このパラメータは通知が最初に到着したときにステータスバーに表示されるテキストを構成します。 |
| Sticky | falseに構成するか指定しない場合、ユーザーがパネルで通知をクリックすると通知が自動的に閉じられます。trueに構成すると、ユーザーがクリックしても通知が継続します。 |
| Event Time | 通知のイベントが発生した時間。パネル内の通知はこの時間でソートされます。RFC3339 UTC “Zulu"形式のタイムスタンプで、ナノ秒の解像度と最大9桁の小数点以下を持ちます。例:2014-10-02T15:01:23Zおよび2014-10-02T15:01:23.045123456Z。 |
| Local Only | trueに構成すると、通知が現在のデバイスに関連するものであることを示します。 |
| Notification Priority | この通知の相対的な優先度を構成します。優先度は通知の重要度を示すものです。値はPRIORITY_UNSPECIFIED、PRIORITY_MIN、PRIORITY_LOW、PRIORITY_DEFAULT、PRIORITY_HIGH、またはPRIORITY_MAXにすることができます。 |
| Default Sound | trueに構成すると、通知にデフォルトのAndroidフレームワークのサウンドが使用されます。 |
| Default Vibrate Timings | trueに構成すると、通知にデフォルトのAndroidフレームワークのバイブレーションパターンが使用されます。 |
| Default Light Settings | trueに構成すると、通知にデフォルトのAndroidフレームワークのLEDライト構成が使用されます。 |
| Vibrate Timings | 使用するバイブレーションパターンを構成します。sで終わる最大9桁の秒単位の期間。例:3.5s。詳細については、Firebaseリソース:メッセージを参照してください。 |
| Visibility | 通知の可視性を構成します。値はVISIBILITY_UNSPECIFIED、PRIVATE、PUBLIC、またはSECRETにすることができます。 |
| Notification Count | この通知内のアイテム数を構成します。 |
| Light On Duration | Light Off Durationとともに、LEDフラッシュの点滅速度を定義します。sで終わる最大9桁の秒単位の期間。例:3.5s。 |
| Light Off Duration | Light On Durationとともに、LEDフラッシュの点滅速度を定義します。sで終わる最大9桁の秒単位の期間。例:3.5s。 |
| Color Red | 全体のライトカラーの赤の量を表す0から1の値。この値をColor GreenとColor Blueの値と組み合わせて、全体の色を決定します。例えば、Color Red = 1、Color Blue = .5、Color Green = 0はフクシアまたはディープピンクを作成します。 |
| Color Green | 全体のライトカラーの緑の量を表す0から1の値。この値をColor redとColor Blueの値と組み合わせて、全体の色を決定します。 |
| Color Blue | 全体のライトカラーの青の量を表す0から1の値。この値をColor GreenとColor Redの値と組み合わせて、全体の色を決定します。 |
| Color Alpha | ピクセルに適用するこの色の割合。つまり、最終的なピクセルの色は次の式で定義されます:pixel color = alpha * (this color) + (1.0 - alpha) * (background color)。 |
| Image | 通知に表示する画像のURL。 |
| Data | "key" : "value"の形式で指定されたユーザー指定のデータ。 |
| Template Variables | Templatesのデータ入力としてテンプレート変数を提供します。使用例については、テンプレート変数ガイドのドキュメントを参照してください。
|
| Templates | Message OptionsおよびNotification Optionsセクションで参照するためのテンプレートを提供します。テンプレートは、対応するフィールドに二重の中括弧で名前を指定して、名前でインジェクションされます。例:{{template_name}} |
-
使用例については、Resource: Message、AndroidConfigのドキュメントを参照してください。
-
ネストされたオブジェクトをサポートするには、Templatesセクションを使用してテンプレートを定義します。テンプレートは、Custom Textオプションを使用してマッピングされ、一致する二重の中括弧で参照される必要があります:
{{template_name}}。
iOSデバイスにメッセージを送信する
パラメータ
メッセージの送信先を指定するには、次のパラメータのいずれか1つだけを構成します:Token、Topic、またはCondition。
| パラメータ | 説明 |
|---|---|
| Token | メッセージを送信するための登録トークン。 |
| Topic | メッセージを送信する購読済みトピック名。例:weather。注:/topics/接頭辞は含めないでください。 |
| Condition | メッセージを送信する購読済みトピックの条件。例:foo in topics && bar in topics。 |
| Analytics Label | メッセージの分析データに関連付けられたラベル。 |
| Image | 通知に表示する画像のURL。 |
| Title | 通知のタイトル。Apple Watchは、この文字列を短い通知インターフェースで表示します。 |
| Subtitle | 通知の目的を説明する追加情報。 |
| Body | アラートメッセージの内容。 |
| Launch Image | 表示する起動画像ファイルの名前。 |
| Title Localization Key | ローカライズされたタイトル文字列のキー。タイトルをアプリのLocalizable.stringsファイルから取得するために、このキーを指定します。値には、ストリングファイル内のキーの名前を含める必要があります。 |
| Title Localization Args | タイトル文字列内の変数の置換値を含む文字列の配列。Title Localization Keyで指定された文字列内の各%@文字は、この配列の値に置き換えられます。配列の最初のアイテムは、文字列内の最初の%@文字を置き換え、2番目のアイテムは2番目のインスタンスを置き換え、以降の順に置き換えます。 |
| Subtitle Localization Key | ローカライズされたサブタイトル文字列のキー。サブタイトルをアプリのLocalizable.stringsファイルから取得するために、このキーを使用します。値には、ストリングファイル内のキーの名前を含める必要があります。 |
| Subtitle Localization Args | サブタイトル文字列内の変数の置換値を含む文字列の配列。Subtitle Localization Keyで指定された文字列内の各%@文字は、この配列の値に置き換えられます。 |
| Body Localization Key | ローカライズされたメッセージ文字列のキー。メッセージテキストをアプリのLocalizable.stringsファイルから取得するために、このキーを使用します。値には、ストリングファイル内のキーの名前を含める必要があります。 |
| Body Localization Args | メッセージテキスト内の変数の置換値を含む文字列の配列。Body Localization Keyで指定された文字列内の各%@文字は、この配列の値に置き換えられます。 |
| Badge | アプリのアイコンに表示する数値。現在のバッジを削除するには、このパラメータを0に構成します。 |
| Sound Critical | クリティカルアラートフラグ。このパラメータを1に構成すると、クリティカルアラートが有効になります。 |
| Sound File Name | アプリのメインバンドルまたはアプリのコンテナディレクトリのLibrary/Soundsフォルダにあるサウンドファイルの名前。システムサウンドを再生するには、この値を文字列defaultに構成します。 |
| Sound Volume | クリティカルアラートのサウンドの音量。0(無音)から1(最大音量)の値を構成します。 |
| Thread ID | 関連する通知をグループ化するためのアプリ固有の識別子。 |
| Category | 通知のタイプ。 |
| Content Available | バックグラウンド通知フラグ。サイレントなバックグラウンド更新を実行するには、値に1を指定し、ペイロードにAlert、Badge、またはSoundキーを含めないでください。 |
| Mutable Content | 通知サービスアプリ拡張フラグ。値が1の場合、システムは通知を配信する前に通知サービスアプリ拡張に通知を渡します。 |
| Target Content ID | 前面に表示されるウィンドウの識別子。 |
| Interruption Level | 通知の重要度と配信タイミング。 |
| Relevance Score | システムがアプリの通知をソートするために使用する関連スコア。値は0から1の間の数値です。 |
| Filter Criteria | 現在のFocusで通知を表示するかどうかをシステムが評価する文字列。 |
| Stale Date | Live Activityが古くなるまたは無効になる日付を表すUNIXタイムスタンプ。 |
| Content State | Live Activityの更新または最終コンテンツを含むJSONオブジェクト。このパラメータの内容は、カスタムのActivityAttributesの実装で説明したデータと一致する必要があります。このオプションはテンプレートをサポートしています。 |
| Timestamp | リモート通知がLive Activityを更新または終了するために送信されるUNIXタイムスタンプ。 |
| Events | リモートプッシュ通知で進行中のLive Activityを更新または終了するかどうかを指定します。値はupdateまたはendにすることができます。 |
| Data | "key" : "value"の形式で指定されたユーザー指定のデータ。 |
| Headers | Apple Push Notification Serviceで定義されたHTTPリクエストヘッダー。サポートされるヘッダー(apns-expirationやapns-priorityなど)については、APNsリクエストヘッダーを参照してください。詳細については、Firebaseリソース:メッセージを参照してください。 |
| Template Variables | Templatesのデータ入力としてテンプレート変数を提供します。使用例については、テンプレート変数ガイドのドキュメントを参照してください。
|
| Templates | Message OptionsおよびNotification Optionsセクションで参照するためのテンプレートを提供します。テンプレートは、対応するフィールドに二重の中括弧で名前を指定して、名前でインジェクションされます。例:{{template_name}} |
-
使用例については、AndroidConfigのドキュメントを参照してください。
-
ネストされたオブジェクトをサポートするには、Templatesセクションを使用してテンプレートを定義します。テンプレートは、Custom Textオプションを使用してマッピングされ、一致する二重の中括弧で参照される必要があります:
{{template_name}}
Webアプリにメッセージを送信する
パラメータ
メッセージの送信先を指定するには、次のパラメータのいずれか1つだけを構成します:Token、Topic、またはCondition。
| パラメータ | 説明 |
|---|---|
| Token | メッセージを送信するための登録トークン。 |
| Topic | メッセージを送信する購読済みトピック名。例:weather。注:/topics/接頭辞は含めないでください。 |
| Condition | メッセージを送信する購読済みトピックの条件。例:foo in topics && bar in topics。 |
| Analytics Label | メッセージの分析データに関連付けられたラベル。 |
| Link | ユーザーが通知をクリックしたときに開くセキュアリンク。値はhttps://で始まる必要があります。 |
| Action | 通知に表示されるユーザーアクションを識別する文字列。 |
| Action Title | ユーザーに表示されるアクションテキストを含む文字列。 |
| Action Icon | アクションと一緒に表示するアイコンのURLを含む文字列。 |
| Badge | 通知自体を表示するスペースがない場合に使用されるイメージのURL。 |
| Title | 通知のタイトル。 |
| Body | 通知の本文文字列。 |
| Data | 通知のデータの構造化クローンを返します。このオプションはテンプレートをサポートしています。 |
| Direction | 通知のテキストの方向。 |
| Icon | 通知のアイコンとして使用する画像のURL。 |
| Image | 通知の一部として表示する画像のURL。 |
| Language | 通知の言語コード。 |
| Renotify | 新しい通知が古い通知を置き換えた後にユーザーに通知するかどうかを指定します。 |
| Require Interaction | 通知が自動的に閉じられるのではなく、ユーザーがクリックまたは閉じるまでアクティブなままにするかどうかを示すブール値。 |
| Silent | 通知をサイレントにするかどうかを指定します。このパラメータをtrueに構成すると、デバイスの構成に関係なくサウンドやバイブレーションは発生しません。 |
| Tag | 通知のID。 |
| Timestamp | 通知が作成されるか適用される(過去、現在、または将来)時間を指定します。 |
| Vibrate | バイブレーションハードウェアを備えたデバイスに発信するためのバイブレーションパターンを指定します。sで終わる最大9桁の秒単位の期間。例:3.5s。詳細については、Firebaseリソース:メッセージを参照してください。 |
| Data | "key" : "value"の形式で指定されたユーザー指定のデータ。 |
| Headers | webpushプロトコルで定義されたHTTPリクエストヘッダー。サポートされるヘッダーについては、Webpushプロトコルを参照してください。例:"TTL": "15"。詳細については、Firebaseリソース:メッセージを参照してください。 |
| Template Variables | Templatesのデータ入力としてテンプレート変数を提供します。使用例については、テンプレート変数ガイドのドキュメントを参照してください。
|
| Templates | Message OptionsおよびNotification Optionsセクションで参照するためのテンプレートを提供します。テンプレートは、対応するフィールドに二重の中括弧で名前を指定して、名前でインジェクションされます。例:{{template_name}} |
-
使用例については、AndroidConfigのドキュメントを参照してください。
-
ネストされたオブジェクトをサポートするには、Templatesセクションを使用してテンプレートを定義します。テンプレートは、Custom Textオプションを使用してマッピングされ、一致する二重の中括弧で参照される必要があります:
{{template_name}}
最終更新日 :: 2023年April月11日