Firebase Summit で発表されたすべての情報をご覧ください。Firebase を使用してアプリ開発を加速し、自信を持ってアプリを実行する方法を紹介しています。詳細

FCMアーキテクチャの概要

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

FCM は、メッセージを構築、転送、および受信する次の一連のコンポーネントに依存しています。

  1. メッセージ要求を作成または構築するためのツール。 Notifications Composer は、通知要求を作成するための GUI ベースのオプションを提供します。すべてのメッセージ タイプを完全に自動化し、サポートするには、Firebase Admin SDK または FCM サーバー プロトコルをサポートする信頼できるサーバー環境でメッセージ リクエストを作成する必要があります。この環境は、Cloud Functions for Firebase、App Engine、または独自のアプリ サーバーである可能性があります。

    このページで説明する 3 つのアーキテクチャ レイヤーの図。

  2. FCM バックエンドは、(他の機能の中でも) メッセージ要求を受け入れ、トピックを介してメッセージのファンアウトを実行し、メッセージ ID などのメッセージ メタデータを生成します。

  3. メッセージをターゲット デバイスにルーティングし、メッセージ配信を処理し、必要に応じてプラットフォーム固有の構成を適用するプラットフォーム レベルのトランスポート層。このトランスポート層には以下が含まれます。

    • Google Play サービスを搭載した Android デバイス用の Android トランスポート層 (ATL)
    • Apple デバイス用の Apple プッシュ通知サービス (APN)
    • Web アプリの Web プッシュ プロトコル

  4. ユーザーのデバイス上の FCM SDK。通知が表示されるか、アプリのフォアグラウンド/バックグラウンド状態および関連するアプリケーション ロジックに従ってメッセージが処理されます。

ライフサイクルの流れ

  • FCM からメッセージを受信するようにデバイスを登録します。クライアント アプリのインスタンスは、メッセージを受信するために登録し、アプリ インスタンスを一意に識別する登録トークンを取得します。
  • ダウンストリーム メッセージを送受信します
    • メッセージを送ります。アプリ サーバーはクライアント アプリにメッセージを送信します。
      1. メッセージは Notifications Composer または信頼できる環境で作成され、メッセージ リクエストが FCM バックエンドに送信されます。
      2. FCM バックエンドはメッセージ リクエストを受信し、メッセージ ID とその他のメタデータを生成して、プラットフォーム固有のトランスポート層に送信します。
      3. デバイスがオンラインの場合、メッセージはプラットフォーム固有のトランスポート層を介してデバイスに送信されます。
      4. デバイスでは、クライアント アプリがメッセージまたは通知を受け取ります。