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プロジェクトのIDはFirebaseコンソールを使用して見つけることができます。プロジェクト構成を開きます。プロジェクトIDは上部のペインに表示されます。 - クライアントID
必須。 Firebase Cloud Messaging APIにアクセスできるWebアプリケーションのクライアントIDを入力します。Google APIコンソールの認証情報ページで承認されたリダイレクトURI:https://my.tealiumiq.com/oauth/google/callback.htmlをホワイトリストに登録する必要があります。認証情報の作成を参照してください。 - クライアントシークレット
必須。 Webアプリケーションクライアントシークレットを入力します。
アクション
アクション名を入力し、ドロップダウンメニューからアクションタイプを選択します。
次のセクションでは、各アクションのパラメータとオプションの構成方法について説明します。
Androidデバイスへのメッセージ送信
パラメータ
メッセージの対象を指定するには、以下のパラメータのうちいずれか一つを構成してください: 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 | 秒単位の期間で、最大9桁の小数点以下の桁数を持ち、s で終わります。例: 3.5s。このフィールドは、デバイスがオフラインの場合にメッセージがFCM保存に保持される時間(秒)を表します。サポートされる最大の生存時間は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でローカライズされた本文テキストにおいて、フォーマット指定子の代わりに使用される文字列値です。詳細については、フォーマットとスタイリングを参照してください。 |
| 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形式のタイムスタンプで、ナノ秒解像度と最大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 | 使用する振動パターンを構成します。秒単位の期間で、最大9桁の小数点以下の桁数を持ち、sで終わります。例: 3.5s。Firebaseリソース: メッセージを参照してください。 |
| Visibility | 通知の可視性を構成します。値は VISIBILITY_UNSPECIFIED, PRIVATE, PUBLIC, SECRET のいずれかです。 |
| Notification Count | この通知内のアイテム数を構成します。 |
| Light On Duration | Light Off Durationとともに、LEDフラッシュの点滅レートを定義します。秒単位の期間で、最大9桁の小数点以下の桁数を持ち、sで終わります。例: 3.5s。 |
| Light Off Duration | Light On Durationとともに、LEDフラッシュの点滅レートを定義します。秒単位の期間で、最大9桁の小数点以下の桁数を持ち、sで終わります。例: 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 | この色がピクセルに適用されるべき割合を表す分数です。つまり、最終的なピクセルの色は次の方程式によって定義されます: ピクセルの色 = alpha * (この色) + (1.0 - alpha) * (背景色)。 |
| Image | 通知に表示される画像のURL。 |
| Data | "key" : "value" ペア形式のユーザー指定データ。 |
| テンプレート変数 | テンプレート用のテンプレート変数をデータ入力として提供します。詳細と使用例については、コネクターテンプレート変数を参照してください。
|
| テンプレート | メッセージオプションおよび通知オプションセクションで参照されるテンプレートを提供します。詳細については、コネクタテンプレートについてを参照してください。テンプレートは、サポートされるフィールドに名前で二重中括弧で挿入されます。例:{{template_name}} |
-
リソース: メッセージ、AndroidConfigのドキュメントを参照して使用例を確認してください。
-
ネストされたオブジェクトをサポートするには、テンプレートセクションでテンプレートを定義します。テンプレートは、一致する二重中括弧でその名前を参照するカスタムテキストオプションを使用してマッピングする必要があります:
{{template_name}}。
iOSデバイスへのメッセージ送信
パラメータ
メッセージのターゲットを指定するには、次のパラメータのいずれか一つを構成します: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 | ローカライズされたタイトル文字列のキー。Titleキーの代わりにこのキーを指定して、アプリのLocalizable.stringsファイルからタイトルを取得します。値は文字列ファイルのキー名を含む必要があります。 |
| Title Localization Args | タイトル文字列の変数に対する置換値を含む文字列の配列。Title Localization Keyで指定された文字列の%@文字は、この配列の値によって置換されます。配列の最初の項目は文字列の最初の%@文字を置換し、次の項目は次の%@文字を置換します。 |
| Subtitle Localization Key | ローカライズされたサブタイトル文字列のキー。Subtitleキーの代わりにこのキーを使用して、アプリのLocalizable.stringsファイルからサブタイトルを取得します。値は文字列ファイルのキー名を含む必要があります。 |
| Subtitle Localization Args | サブタイトル文字列の変数に対する置換値を含む文字列の配列。Subtitle Localization Keyで指定された文字列の%@文字は、この配列の値によって置換されます。 |
| Body Localization Key | ローカライズされたメッセージ文字列のキー。Bodyキーの代わりにこのキーを使用して、アプリの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_name}} |
-
AndroidConfigのドキュメントを参照して使用例を確認してください。
-
ネストされたオブジェクトをサポートするには、テンプレートセクションでテンプレートを定義します。テンプレートは、一致する二重中括弧でその名前を参照するカスタムテキストオプションを使用してマッピングする必要があります:
{{template_name}}。
Webアプリへのメッセージ送信
パラメータ
メッセージの対象を指定するには、以下のパラメータのうちいずれか一つを構成してください: 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 | 振動ハードウェアを持つデバイスが発する振動パターンを指定します。秒単位で最大9桁の小数点以下の桁数を持つ期間。例: 3.5s。Firebase Resource: Messageを参照してください。 |
| Data | "key" : "value" 形式のユーザー指定データ。 |
| Headers | Webpushプロトコルで定義されたHTTPヘッダー。サポートされるヘッダーについては、Webpush protocolを参照してください。例: "TTL": "15"。詳細については、Firebase Resource: Messageを参照してください。 |
| Template Variables | テンプレートにデータ入力としてテンプレート変数を提供します。詳細と使用例については、コネクターテンプレート変数を参照してください。
|
| Templates | メッセージオプションおよび通知オプションセクションで参照されるテンプレートを提供します。詳細については、コネクタテンプレートについてを参照してください。テンプレートは、対応するフィールドに名前で二重中括弧を使用して注入されます。例: {{template_name}} |
-
使用例については、AndroidConfigのドキュメントを参照してください。
-
ネストされたオブジェクトをサポートするには、テンプレートセクションでテンプレートを定義し、カスタムテキストオプションを使用して名前でマッピングします:
{{template_name}}。
最終更新日 :: 2025年July月22日