FCMとは、Firebase Cloud Messagingの略で、Android、iOS、Web向けにプッシュ通知やデータメッセージを送信できるFirebaseのメッセージング機能です。
FCM本体は無料で利用できますが、Cloud Functions、BigQuery、Cloud Storageなど周辺サービスを併用する場合は、別途料金が発生する可能性があります。そのため、企業で導入する際は、無料で使える範囲と、運用時に発生し得る周辺コストを分けて確認することが重要です。
なお、FCMは車の安全運転支援システムや医療・研究分野のフローサイトメトリーを指す場合もありますが、この記事ではFirebase Cloud Messaging、つまりアプリやWeb向けのプッシュ通知基盤としてのFCMに絞って解説します。
先に結論:
- FCMは、iOS、Android、Web向けに通知やデータメッセージを送信できるFirebaseのメッセージング機能です。
- Firebaseの公式料金表ではCloud Messagingは「No-cost(無料)」とされており、FCM本体は無料で利用できます。
- FCMは大量配信にも対応できますが、割り当て、スロットリング、メッセージサイズ、トピック配信の制限を前提に設計する必要があります。
- 大規模運用、詳細分析、複数チャネル管理、専任サポートが必要な場合は、代替サービスも比較対象になります。
Firebase Cloud Messaging(FCM)とは
Firebase Cloud Messaging(FCM)は、Firebaseが提供するクロスプラットフォームのメッセージング機能です。 iOS、Android、Web上のクライアントアプリに対して、通知メッセージやデータメッセージを送信できます。詳細はFirebase Cloud Messaging公式ドキュメントで確認できます。
FCMは、端末に表示される通知画面そのものではなく、通知メッセージやデータメッセージをアプリやWebへ届けるための配信基盤です。通知の表示方法や受信後の処理は、メッセージの種類とアプリ側の設定によって異なります。
配信対象は、単一デバイス、デバイスグループ、トピック(topic)購読者、セグメントなどから選択できます。送信方法も、Firebaseコンソール、Firebase Admin SDK、FCM HTTP v1 APIなど複数用意されています。
FCMの大きな特徴は、Cloud Messaging本体を無料で利用できる点です。そのため、アプリやWebサービスで通知機能を始める際の最初の選択肢になりやすいサービスです。
ただし、「FCMが無料」という表現は、FirebaseやGoogle Cloudの関連サービスまですべて無料という意味ではありません。Cloud Functions、BigQuery、Cloud Storageなどを組み合わせる場合は、それぞれの料金体系を確認する必要があります。
一方で、通知配信の対象が増えたり、分析、承認フロー、複数チャネル配信などが必要になったりすると、FCM単体では運用設計を追加で考える場面もあります。
FCMの仕組み
FCMがプッシュ通知サービスとして機能する仕組みは、以下の通りです。
- 1. 端末が登録トークンを取得する:アプリやブラウザは、通知を受け取るための登録トークンを取得します。このトークンにより、どの端末へ通知を送るかを識別できます。
- 2. サーバー側で送信先を管理する:取得した登録トークンを自社サーバーやバックエンドで管理し、ユーザーや端末と紐づけます。
- 3. FCMへメッセージ送信をリクエストする:Firebaseコンソール、Firebase Admin SDK、FCM HTTP v1 APIなどから、通知内容と送信先を指定してリクエストします。
- 4. OSやブラウザを経由して通知が届く:FCMはAndroid、iOS、Webなどの環境に応じて配信を行い、端末側で通知が表示されます。iOSではAPNsとの連携も関係します。
FCMの通知メッセージとデータメッセージ
FCMでは、主に通知メッセージとデータメッセージを扱います。違いは、通知の表示を標準的な仕組みに任せるか、アプリ側で受信後の処理を細かく制御するかにあります。
| 種類 | 表示・処理の考え方 | 向いている用途 |
|---|---|---|
| 通知メッセージ | 通知として表示する前提のメッセージです。多くの場合、FCM SDKやOS側の標準的な仕組みによって通知表示を扱います。 | お知らせ、キャンペーン通知、新着情報、一般的なプッシュ通知など。 |
| データメッセージ | アプリ側でキーと値(key-value)のデータを受け取り、表示や画面遷移、同期処理などを独自に制御します。 | チャット更新、画面遷移制御、バックグラウンド同期、アプリ内処理のトリガーなど。 |
FCMの基本的な配信フロー
FCMの料金|無料で使える範囲と周辺コスト
FCMの料金は、「Cloud Messaging本体」と「周辺サービス」を分けて見ると整理しやすくなります。FCM本体のメッセージ送信は無料ですが、Cloud Functions、Cloud Run、BigQuery、Cloud Storage、自社サーバーなどを組み合わせる場合は、別途料金や運用コストを確認する必要があります。
Firebase Cloud Messaging(FCM)本体は、Firebase料金表でNo-costとされています。そのため、通知メッセージやデータメッセージを送信するCloud Messaging機能そのものは無料で利用できます。
これは、Firebaseの無料プランであるSparkプランだけでなく、従量課金のBlazeプランを利用している場合でも同じです。課金の確認が必要になるのは、FCMそのものではなく、同じプロジェクトで併用するFirebaseやGoogle Cloudの関連サービスです。
ただし、法人利用や大規模運用では、FCMだけで運用が完結しない場合があります。たとえば、配信ロジックをCloud FunctionsやCloud Runで実行する、配信結果をBigQueryにエクスポートして分析する、独自の管理画面やレポートを開発する場合は、それぞれのサービス利用料や開発・運用コストを確認する必要があります。
| 項目 | 無料で使える範囲 | 確認したい周辺コスト |
|---|---|---|
| FCM本体 | Cloud MessagingはNo-costとされており、通知配信機能そのものは無料で利用できます。 | FCM単体の利用料ではなく、周辺サービスや運用体制を分けて確認します。 |
| 送信方法 | Firebaseコンソール、Firebase Admin SDK、FCM HTTP v1 APIなどから送信できます。 | Admin SDKやHTTP v1 APIで自動配信を行う場合、通知を送るためのバックエンド環境、自社サーバー、Cloud Functionsなどの構築・運用コストを確認します。 |
| 配信ロジック | 基本的な通知送信はFCMで実行できます。 | 定時配信、トリガー配信、ユーザーのセグメント分けなどをCloud Functions、Cloud Run、自社サーバーで実装する場合は、利用量や保守工数を確認します。 |
| 分析・レポート | Firebaseコンソールや関連機能で基本的な確認ができます。 | BigQueryへのエクスポート、長期保存、詳細分析、独自レポートを行う場合は、保存量、クエリ、分析設計のコストを確認します。 |
| 運用管理 | 小規模な通知配信であれば、Firebaseコンソールから始めやすいです。 | 権限管理、承認フロー、配信頻度制御、障害対応などを独自に整備する場合は、開発・運用保守コストが発生します。 |
つまり、FCM本体には配信件数に応じた利用料はありませんが、大規模運用ではサーバー、分析、開発、運用保守などの周辺コストを確認する必要があります。また、利用料がかからないことと、送信量に関する技術的な制限がないことは別です。送信割り当てやスロットリングは、料金とは分けて確認しましょう。
FCMの制限|送信上限・スロットリング・割り当て
FCMは無料で利用でき、大量配信にも対応できるメッセージング基盤ですが、「無料で使える」ことと「どのような送り方でも無制限に一斉送信できる」ことは同じではありません。FCMのスロットリングと割り当てでは、プロジェクト単位、端末単位、トピック配信、メッセージサイズ、折りたたみできるメッセージなどに関する制限が示されています。
そのため、法人利用や大規模配信では、FCMの割り当て(送信上限)とスロットリング(送信制御)を前提に設計する必要があります。具体的には、送信量の平準化、段階的な送信量の引き上げ、429 エラー時のRetry-Afterヘッダーへの対応、再試行処理などを考慮します。
| 確認項目 | 主な内容 |
|---|---|
| 送信割り当て | HTTP v1 APIの下り配信には、プロジェクト単位・分単位の割り当てがあります。デフォルトの割り当ては、1分あたり60万件のメッセージです。ただし、急激なバースト送信ではエラーや遅延が起きることがあるため、送信量を平準化して設計します。 |
| 割り当て超過時の対応 |
割り当てを超過した場合、 |
| 単一端末への送信上限 | Androidでは、1 台の端末に対して 1 分あたり最大 240件、1 時間あたり最大 5,000 件の上限があります。iOS向け配信では、APNs側の仕様やエラーも確認する必要があります。 |
| メッセージサイズ | 通常メッセージは最大 4096 bytes、トピック宛メッセージは最大 2048 bytesです。画像、長文、追加データを含める場合は注意が必要です。 |
| 運用時の監視 | 大規模配信を行う場合は、配信ログ、割り当て超過エラー、失敗率、遅延、端末トークンの無効化状況を継続的に確認します。 |
つまり、「FCMは大量配信に向いていない」と考えるよりも、「FCMは大量配信に対応できるが、送信量の平準化、割り当て超過時の再試行、端末単位の上限を前提に設計する必要がある」と整理すると実務上わかりやすくなります。
FCM代替サービスを検討すべきケース
FCMの代替サービスを検討する場合は、単純に「FCMと同じ役割のサービス」を探すのではなく、目的別に分類して比較することが重要です。通知配信や運用管理を補いたいのか、Firebase全体の代替を探しているのか、マーケティング配信や分析まで強化したいのかによって、候補は変わります。
特に注意したいのは、商用プッシュ通知サービスの多くはFCMやAPNsを完全に置き換えるというより、配信管理、セグメント、分析、複数チャネル対応などを補う形で利用される点です。一方、SupabaseやAppwriteなどはFirebase全体の代替候補として比較されることが多く、FCM単体の代替とは目的が異なります。
| 分類 | 代表サービス | 向いているケース |
|---|---|---|
| 商用プッシュ通知サービス | OneSignal、EngageLab、Airship、CleverTap、Brazeなど | FCMやAPNsを利用しながら、管理画面、セグメント配信、A/Bテスト、分析、複数チャネル管理を強化したい場合。 |
| AWS/Cloud系 | Amazon SNS、AWS End User Messaging Pushなど | AWS環境を中心に、APNs、FCM、Web Pushなどと連携した通知基盤を構築したい場合。 |
| BaaS/Firebase代替 | Supabase、Appwrite、Back4Appなど | 認証、データベース、リアルタイム更新など、Firebase全体の代替候補を探している場合。FCM単体の置き換えではなく、バックエンド基盤全体の見直しとして検討します。 |
| OSS/DeGoogle系 | UnifiedPush、ntfyなど | Google依存を減らしたい場合や、セルフホスト、オープンな通知プロトコルを検討したい場合。 |
| リアルタイム通信・自社構築 | WebSocket、SSE、自社通知基盤 | アプリ起動中のリアルタイム更新や独自要件に対応したい場合。ただし、ロック画面や通知センターへの配信ではAPNs/FCMとの関係を確認します。 |
FCM、EngageLab、OneSignalなど主要なプッシュ通知サービスを機能や料金の観点で比較したい場合は、プッシュ通知サービス比較も参考になります。
ここでは、候補をすべて詳しく比較するよりも、FCM単体で運用を続けるのか、管理画面・分析・複数チャネル配信まで含めて商用サービスを比較するのかを判断できれば十分です。
FCMレガシーAPI利用時の確認ポイント
FCMのレガシーHTTP APIとXMPP APIは、2023年6月20日に非推奨となり、2024年7月22日にサービスが停止されました。旧形式の送信APIを使っていた場合は、開発チーム側でHTTP v1 APIへの移行状況を確認する必要があります。
ここで重要なのは、FCMそのものが終了するわけではない点です。影響を受けるのは、古いAPIで通知を送信しているサーバー側の処理です。運用担当者は、利用中の配信システムが旧APIに依存していないかを確認するとよいでしょう。
EngageLabでプッシュ通知運用を強化する
FCMを利用しながら、配信担当者向けの管理画面、セグメント配信、配信結果の分析、複数チャネル運用を補いたい場合は、商用プッシュ通知サービスが候補になります。
EngageLabは、アプリプッシュ通知(AppPush)やWebプッシュ通知(WebPush)、複数チャネルの配信、配信結果の分析、運用管理を同じ基盤で行いたい企業向けの候補です。FCM単体での運用に課題を感じている場合は、自社で開発・保守する範囲と、サービスで補いたい範囲を整理したうえで比較すると判断しやすくなります。
開発担当者がSDK連携と配信対象を識別するための設定を完了した後は、配信担当者が管理画面から通知を作成し、対象ユーザーや配信時間を指定して、配信数やクリック数などの結果を確認できます。
まとめ
Firebase Cloud Messaging(FCM)は、iOS、Android、Web向けに通知やデータメッセージを送信できる、無料で始めやすいメッセージング基盤です。ただし、法人利用や大規模運用では、周辺サービスの料金、送信上限、スロットリング、分析、管理画面、運用保守まで含めて確認する必要があります。
FCM単体での運用に課題を感じる場合は、管理画面、セグメント配信、配信分析、複数チャネル対応、サポート体制など、自社で補いたい範囲を整理したうえで、商用プッシュ通知サービスも比較すると判断しやすくなります。







