# Firebase Cloud Messaging ストリーミング出力連携

Firebase Cloud Messaging (FCM) は、**クロスプラットフォームのメッセージングソリューションで、メッセージを確実に送信することができます。**

この連携により、リアルタイムトリガーアクティベーションを使用して、メール、SMS、LINEなどのチャネルにメッセージを送信できます。

この機能はベータ版です。詳細については、カスタマーサクセス担当者にお問い合わせください。

## 前提条件

- Treasure Data の基本知識
- FCM の基本知識（[FCM ウェブサイト](https://firebase.google.com/docs/projects/learn-more)のプロジェクト、アプリなどの機能に関する知識を含む）
- Firebase Cloud Messaging アカウントのログイン認証情報


## ユースケース

このストリーミング連携の主なユースケースは、リアルタイムアクティベーションワークフローに組み込んで、以下を実現することです。

- FCM へのメッセージ配信をトリガーする


配信をトリガーするワークフローの設定方法の概要は次のとおりです。

1. FCM ウェブサイトで、メッセージを送信するために必要な [Firebase Project](https://firebase.google.com/docs/projects/learn-more#setting_up_a_firebase_project_and_registering_apps) 機能の作成方法について学習します。
2. FCM コンソールで、プロジェクトを選択し、プラットフォームに応じて新しいアプリを作成します。
3. FCM コンソールで、アプリを選択してアプリ設定に移動します。JSON 形式で `google-services.json` としてアプリ設定を取得します。
4. この連携が Firebase Cloud Messaging と通信するための認証を作成します。
5. リアルタイムジャーニーで、新しいトリガーアクティベーション用にこの認証を選択します。


## 要件と制限事項

- このコネクタの制限は FCM の制限に従います。詳細については、[FCM Quotas and Limits](https://firebase.google.com/docs/cloud-messaging/throttling-and-quotas) を参照してください。


## Treasure Data Integration の静的 IP アドレス

セキュリティポリシーで IP ホワイトリストが必要な場合は、接続を成功させるために Treasure Data の IP アドレスを許可リストに追加する必要があります。

リージョンごとに整理された静的 IP アドレスの完全なリストは、次のリンクにあります:
[IP Addresses for Integrations](/apis/endpoints/ip-addresses-integrations-result-workers)

## Treasure コンソール を使用した接続の作成

Treasure Data でデータ接続を作成して設定する必要があります。データ接続の一部として、連携にアクセスするための認証情報を提供します。

1. **Treasure コンソール** を開きます。
2. **Integrations Hub > Catalog** に移動します。
3. Catalog 画面の右端にある検索アイコンを選択し、**Firebase Cloud Messaging Output Streaming** と入力します。
4. Firebase Cloud Messaging Output Streaming コネクタの上にカーソルを合わせて、**Create Authentication** を選択します。


![Integrations Hub Catalog 内の Firebase Cloud Messaging コネクタタイル](/assets/fcm-streaming-logo.775e2c07547af866fae4df4d7920423fe358cfe1746dd9d365bdfa5ed4e1c559.171e1ecf.png)
![Firebase Cloud Messaging コネクタにカーソルを合わせると表示される Create Authentication ボタン](/assets/fcm-streaming-authen.e6379fd330eb1be6a624ce4203915373e48ea63c44bd1ecd62f9661979f968a6.171e1ecf.png)

1. 必要な認証情報を入力します。


![Private Key In JSON File フィールドが表示される認証設定画面](/assets/fcm-streaming-authen-detail.17bc9d9feab76aa4965a37b5f305a6f8bd9c064d3fd3170a8b8ff91611d96e6d.171e1ecf.png)

1. **Continue** を選択します。
2. 接続の名前を入力します。
3. **Done** を選択します。


**新しい認証フィールド**

| パラメータ | 説明 |
|  --- | --- |
| Private Key In JSON File | プロジェクト内のアプリの JSON 認証情報 |


Firebase Cloud Messaging ストリーミング連携を設定すると、リアルタイムカスタマージャーニーアクティベーションに組み込むことができるようになります。詳細については、[リアルタイムトリガーアクティベーションの作成](https://docs.treasuredata.com/smart/project-product-documentation/creating-a-real-time-triggered-activation)を参照してください。

## リトライとログロジック

- コネクタは、ステータスコード 429、500、502、503、または 504 を受け取った場合にリクエストの送信を再試行します。
- **最大リトライ回数**に達する前にリクエストが正常に送信された場合、ログには成功と表示されます。
- **最大リトライ回数**に達した後もリクエストが失敗する場合、コネクタはジョブを停止します。
- リクエストの送信が失敗した場合は、クライアントのアクティベーションテーブルにエラーメッセージとステータスコードが表示されます。
- **最大リトライ回数**は、アクティベーション設定で構成できます。