Google 致力于为黑人社区推动种族平等。查看具体举措

Обзор архитектуры FCM

FCM использует следующий набор компонентов, которые создают, передают и получают сообщения:

  1. Инструменты для составления или построения запросов сообщений. Компоновщик уведомлений предоставляет возможность на основе графического интерфейса для создания запросов уведомлений. Для полной автоматизации и поддержки для всех типов сообщений , Вы должны строить запросы сообщений в доверенной среде сервера , который поддерживает Firebase Admin SDK или протоколы FCM сервера. Этой средой могут быть облачные функции для Firebase, App Engine или ваш собственный сервер приложений.

    Схема трех уровней архитектуры, описанных на этой странице.

  2. Бэкэнд FCM, который (помимо других функций) принимает запросы сообщений, выполняет разветвление сообщений по темам и генерирует метаданные сообщения, такие как идентификатор сообщения.

  3. Транспортный уровень на уровне платформы, который направляет сообщение на целевое устройство, обрабатывает доставку сообщений и, при необходимости, применяет конфигурацию, зависящую от платформы. Этот транспортный уровень включает:

    • Транспортный уровень Android (ATL) для устройств Android с сервисами Google Play
    • Служба Apple Push Notification (APN) для устройств iOS
    • Протокол веб-push для веб-приложений

  4. FCM SDK на устройстве пользователя, где отображается уведомление или сообщение обрабатывается в соответствии с состоянием переднего плана / фона приложения и любой соответствующей логикой приложения.

Поток жизненного цикла

  • Регистрация устройства для приема сообщений от ТСМА. Экземпляр клиентского приложения регистрируется для получения сообщений, получая токен регистрации, который однозначно идентифицирует экземпляр приложения.
  • Отправлять и получать вниз по течению сообщения.
    • Послать сообщение. Сервер приложений отправляет сообщения клиентскому приложению:
      1. Сообщение составляется либо в компоновщике уведомлений, либо в доверенной среде, и запрос сообщения отправляется в бэкэнд FCM.
      2. Бэкэнд FCM получает запрос сообщения, генерирует идентификатор сообщения и другие метаданные и отправляет их на транспортный уровень конкретной платформы.
      3. Когда устройство подключено к сети, сообщение отправляется на устройство через транспортный уровень, зависящий от платформы.
      4. На устройстве клиентское приложение получает сообщение или уведомление.