Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Firebase Cloud Messaging ( FCM ), ранее известная как Google Cloud Messaging (GCM), представляет собой кроссплатформенное облачное решение для сообщений и уведомлений для Android , iOS и веб-приложений , которое в настоящее время можно использовать бесплатно. [1] Firebase Cloud Messaging позволяет сторонним разработчикам приложений отправлять уведомления или сообщения с серверов, размещенных в GCM, пользователям платформы или конечным пользователям .

Сервис предоставляется Firebase , дочерней компанией Google . 21 октября 2014 года Firebase объявила, что была приобретена Google за неизвестную сумму. [2] Официальный веб-сайт Google Cloud Messaging указывает на Firebase Cloud Messaging (FCM) как на новую версию GCM. [3] Firebase - это мобильная платформа, которая помогает пользователям разрабатывать мобильные и веб-приложения. Firebase Cloud Messaging - один из многих продуктов, которые являются частью платформы Firebase. На платформе пользователи могут интегрировать и комбинировать различные функции Firebase как в веб-приложениях, так и в мобильных.

История [ править ]

Firebase Cloud Messaging (FCM) является частью платформы Firebase, которая представляет собой модель облачного сервиса, которая автоматизирует внутреннюю разработку или Backend-as-a-service (BaaS). После того, как компания Firebase была приобретена Google в 2014 году, некоторые продукты или технологии платформы Firebase были интегрированы с существующими службами Google. Служба мобильных уведомлений Google Google Cloud Messaging (GCM) была заменена на FCM в 2016 году. 10 апреля 2018 года GCM был удален Google, а 29 мая 2019 года сервер и клиентский API GCM устарели. [4] FCM стал заменой GCM. Однако FCM совместим с существующими наборами средств разработки программного обеспечения Google (SDK). [5]

Firebase Cloud Messaging - это кроссплатформенное решение для обмена сообщениями, с помощью которого пользователь может доставлять сообщения бесплатно. FCM совместим с различными платформами, включая Android и iOS. [6] 17 октября 2016 года Google запустил поддержку веб-приложений, в том числе мобильных веб-приложений. [7] В FCM сторонние разработчики приложений могут отправлять конечным пользователям push-уведомления и сообщения через интерфейс прикладного программирования (API). [8] После того, как пользователи разрешили получать push-уведомления, пользователи могут получать информацию или данные для синхронизации в реальном времени.

Развитие [ править ]

FCM наследует основную инфраструктуру GCM, однако упрощает разработку на стороне клиента. GCM и FCM предлагают шифрование, push-уведомления и обмен сообщениями, встроенную поддержку Android и iOS SDK. Оба требуют наличия стороннего объекта между клиентским приложением и доверенной средой, который может создавать задержки в пути связи между мобильным терминалом и сервером приложений. [8] FCM поддерживает серверные протоколы HTTP и XMPP, которые идентичны протоколам GCM.

Разработчикам не требуется писать отдельные регистрации или подписывать повторные попытки входа в клиентское приложение. [4] FCM и GCM обрабатывают сообщения с помощью одних и тех же инструкций, однако вместо серверов соединений GCM сообщения проходят через серверы FCM. Комплект разработчика программного обеспечения FCM (SDK) исключает написание логики индивидуальной регистрации или повторной подписки для сокращенного процесса разработки клиента. FCM SDK предоставляет новое решение для уведомлений, позволяющее разработчикам использовать бессерверные уведомления Firebase в веб-консоли на основе данных Firebase Analytics. FCM позволяет отправлять неограниченное количество сообщений в восходящем и нисходящем направлениях. [6]

Основные возможности [ править ]

Firebase Cloud Messaging имеет три основные возможности. Первая возможность заключается в том, что FCM позволяет пользователю получать уведомления или сообщения данных, которые могут быть расшифрованы с помощью кода приложения. Вторая возможность - это нацеливание на сообщения. Сообщения можно отправлять в клиентское приложение разными способами; с платформы FCM на отдельные устройства, определенные группы устройств или устройства, которые подписаны на определенные тематические домены. Третья ключевая возможность - это канал соединения клиентских приложений с сервером. FCM позволяет отправлять сообщения различных типов с выбранных устройств или клиентских приложений через канал FCM. [9]

Технические подробности [ править ]

Firebase Cloud Messaging отправляет уведомления и сообщения на устройства, на которых установлены определенные приложения с поддержкой Firebase. Для добавления поддержки FCM в приложение необходимо выполнить несколько шагов: добавить поддержку в проект Android Studio, получить токены регистрации и реализовать обработчики для идентификации уведомлений о сообщениях. [10] Уведомления о сообщениях могут быть отправлены через консоль Firebase с выбранной опцией сегментации пользователей.

Архитектура FCM [ править ]

Архитектура FCM включает три компонента: сервер соединений FCM, надежную среду с сервером приложений на основе HTTP или XMPP и облачной функциональностью, а также клиентское приложение. Для отправки и получения сообщений требуется защищенная среда или сервер для создания, направления и отправки сообщений, а также приложение iOS, Android или веб-клиент для приема сообщений. [11] Есть два типа сообщений, которые разработчики могут отправлять с помощью FCM; уведомления и сообщения с данными. Уведомляющие сообщения - это сообщения, отображаемые на устройстве с помощью FCM и автоматически управляемые FCM SDK. Сообщения с данными обрабатываются клиентским приложением. [12]Поэтому сообщения уведомления используются, когда разработчик требует, чтобы FCM обрабатывал отображение уведомлений для клиентских приложений. Сообщения с данными будут использоваться, когда разработчик требует, чтобы сообщения обрабатывались в клиентском приложении.

Архитектура облачного обмена сообщениями Firebase

FCM может доставлять целевые сообщения в приложения тремя способами: на одно устройство, в группу устройств или на устройства, которые подписаны на темы. Разработчики создают и отправляют целевые сообщения избранной группе пользователей в «Компоновщике уведомлений». [10] Сообщения, отправляемые с помощью FCM, интегрированы с функциональностью Firebase Analytics для отслеживания конверсии и взаимодействия пользователей.

Реализация [ править ]

Процесс внедрения состоит из двух ключевых компонентов. Во-первых, для FCM или других серверов приложений требуется безопасная среда для отправки и получения сообщений, чтобы облегчить транзакцию сообщений. Во-вторых, необходимо клиентское приложение возможных типов, iOS, Android или веб (javaScript), которое также совместимо с выбранной службой платформы.

Путь реализации FCM начинается с установки FCM SDK в соответствии с инструкциями, предписанными для выбранной платформы. После настройки необходимо разработать клиентское приложение. В клиентском приложении добавьте обработку сообщений, логику подписки на темы и другие необходимые функции. На этом этапе тестовые сообщения также могут быть отправлены из композитора уведомлений. Затем разрабатывается сервер приложений для построения логики отправки. Базовая серверная среда создается без кода. [4]

Архитектура [ править ]

Сначала требуется регистрация устройства и настройка для включения приема сообщений от FCM. Экземпляр клиентского приложения будет зарегистрирован и ему будет назначен токен регистрации или токен FCM, который выдается серверами соединений FCM, которые предоставят экземпляру приложения (экземпляру приложения) уникальный идентификатор. Затем экземпляр приложения может отправлять и получать сообщения нисходящего потока. Нисходящий обмен сообщениями означает отправку push-уведомления от сервера приложений клиентскому приложению. Этот процесс состоит из четырех этапов. Во-первых, после того, как сообщение создано в компоновщике уведомлений или в другой безопасной среде, запрос сообщения будет отправлен в бэкэнд FCM. Во-вторых, бэкэнд FCM получит и примет запрос сообщения и подготовит сообщения для каждой указанной темы,создавать метаданные сообщения, такие как идентификатор сообщения, и отправлять их на транспортный уровень, специфичный для платформы. В-третьих, сообщение будет отправлено через транспортный уровень платформы на онлайн-устройство. Транспортный уровень уровня платформы отвечает за маршрутизацию сообщения к определенному устройству, обработку доставки сообщения и применение определенных конфигураций к платформе. В-четвертых, клиентское приложение получит уведомление или сообщение через свое устройство.клиентское приложение получит уведомление или сообщение через свое устройство.клиентское приложение получит уведомление или сообщение через свое устройство.[13]

Дополнительные функции и инструменты [ править ]

Аналитика [ править ]

Firebase предлагает бесплатные и неограниченные инструменты аналитики, чтобы помочь пользователю получить представление о «кликах по рекламе» и «использовании приложений» конечными клиентами. В сочетании с другими функциями Firebase, Firebase Analytics позволяет пользователю исследовать и использовать ряд функций, таких как рейтинг кликов до сбоев приложения. [14]

Удаленная конфигурация Firebase [ править ]

Это простое хранилище ключей и значений, которое находится в облаке и позволяет пользователю вносить изменения, которые могут быть прочитаны приложением. Firebase Remote Config также включает в себя построитель аудитории в дополнение к базовой функции, которая помогает пользователю создавать настраиваемые аудитории и выполнять A / B-тестирование. [14]

Кросс-платформенная поддержка [ править ]

API-интерфейсы, упакованные в отдельные SDK для iOS, Android, JavaScript и C ++, в сочетании с кроссплатформенной поддержкой, предоставляемой FCM, позволяют разработчику расширяться на разные платформы без модификации инфраструктуры. [14]

Поддержка Web Push [ править ]

Разработчики могут реализовать стандартные API-интерфейсы IETF Web Push для целевых веб-браузеров. В Chrome разработчики могут отправлять сообщения в Chrome на Android или на страницы Chrome в Mac, Windows и Linux. Добавленные функции для поддержки веб-push включают обмен темами и возможность отправлять сообщения в комбинации тем. [14]

Обмен сообщениями [ править ]

Разработчики могут отправлять одно сообщение на несколько устройств. Это метод уведомления пользователей с общими интересами, такими как спортивные события, артисты, музыкальные жанры. Разработчикам необходимо опубликовать сообщение в FCM, которое автоматически доставляется на устройства, подписанные на выбранную тему. Количество подписчиков на одну или несколько тем в приложении не ограничено. [14]

Комбинированные сообщения тем [ править ]

Если пользователи подписаны на разные темы, чтобы предотвратить публикацию одного и того же сообщения в разных темах и предотвратить получение пользователями повторяющихся сообщений, разработчики могут использовать обновленный API. Разработчики могут установить определенные условия для FCM для доставки сообщения только тем пользователям, которые соответствуют критериям условия. [14]

Отчеты о доставке сообщений [ править ]

Отчеты о доставке сообщений (MDR) создаются с помощью инструмента отчетности FCM, который позволяет разработчикам получать аналитические сведения о доставке сообщений. В MDR разработчики могут оценивать охват отправленных сообщений конкретным пользователям, просматривая данные для сообщений для различных SDK FCM (Android, iOS). [15]

Анализ последовательности уведомлений [ править ]

Анализ последовательности уведомлений (NFA) встроен в платформу FCM. Используя этот инструмент, разработчики могут просматривать поведение и тенденции пользователей на основе данных об ответах на определенные уведомления. Типы данных уведомлений, которые могут быть проанализированы: «Отправленные уведомления», «Открытые уведомления» и количество уникальных пользователей. Отчет об анализе можно получить из NFA. Разработчики также могут настраивать и создавать воронки уведомлений. [15]

Ключевые проблемы [ править ]

Проблемы безопасности [ править ]

FCM сокращает процесс разработки и внедрения мобильных приложений. Благодаря доступной функции отправки тестовых сообщений через Notifications Composer в консоли Firebase, процесс тестирования также сокращается. Облачные решения для обмена сообщениями также имеют риски безопасности и конфиденциальности, которые необходимо уменьшить и рассмотреть перед внедрением в проект. Развитие облачных вычислений включает открытую сетевую структуру и эластичное объединение общих ресурсов, что увеличивает потребность в принятии мер безопасности в облаке. [16]

Проблема безопасности - это потенциальное использование серверных ключей, которые хранятся в файлах пакета приложений Android FCM (APK). В случае использования это позволяет рассылать push-уведомления всем без исключения пользователям платформы Firebase. GCM ранее сообщала об уязвимостях системы безопасности, связанных с фишингом и вредоносной рекламой.

Защита от угроз безопасности включает несколько шагов и может привести к дополнительным последствиям. Отключение службы обмена сообщениями в облаке предотвратит немедленные транзакции. Однако это потенциально может остановить другие приложения, установленные на заблокированном устройстве, которые полагаются на службу FCM. [16] Возможное решение - заблокировать определенный канал уведомлений или отказаться от подписки на тему. Другие решения включают настройку систем уведомления о трафике сообщений для обнаружения вредоносной информации, передаваемой через сервисную платформу FCM. [17] Для реализации этого решения требуются дополнительные шаги. С самого начала пользователю необходимо определить канал подключения или тему, потенциально используемую вредоносным приложением.

Проблемы конфиденциальности [ править ]

Обмен сообщениями в облаке также создает риски и проблемы для конфиденциальности. Хакеры в черной шляпе могут взломать безопасность платформы Firebase Cloud Messaging и получить регистрационный идентификатор приложения пользователя или другую конфиденциальную информацию. Примеры компрометации безопасности включают личные сообщения в учетной записи пользователя в социальной сети, отправленные на устройство хакера. Чтобы обеспечить конфиденциальность платформы, пользователь может создавать схемы сквозной защиты вокруг открытых каналов связи, предоставляемых облачными службами обмена сообщениями, которые небезопасны. FCM предоставляет пользователям шифрование полезной нагрузки. [16]

Ссылки [ править ]

  1. ^ "Обмен сообщениями Firebase Cloud" . Разработчики Google . Проверено 20 июля, 2016 .
  2. ^ Тамплин, Джеймс. "Firebase присоединяется к Google!" . Firebase, Inc . Проверено 21 октября 2014 года .
  3. ^ «Google Cloud Messaging - официальный сайт» . Проверено 20 июля, 2016 .
  4. ^ а б в Кантамани, С. (2020). Обмен сообщениями Firebase Cloud. Получено 7 сентября 2020 г. с https://medium.com/developermind/using-firebase-cloud-messaging-for-remote-notifications-in-ios-d35de1dc67b2.
  5. ^ Tondolo, Муса (27 июля 2018). «Понимание Firebase: Часть 1 (Обмен сообщениями Firebase Cloud)» . Средний . Проверено 17 ноября 2020 года .
  6. ^ a b Морони, Л. (2017). Обмен сообщениями Firebase Cloud. В Полном руководстве по Firebase (стр. 163–188). Апресс, Беркли, Калифорния.
  7. ^ NOVET, J. (2016). Google запускает Firebase Cloud Messaging для Интернета. Получено 7 октября 2020 г. с https://venturebeat.com/2016/10/17/google-launches-firebase-cloud-messaging-for-the-web/.
  8. ^ a b Альбертенго, Г., Дебеле, Ф. Г., Хассан, В., и Страмандино, Д. (2020). О производительности веб-сервисов, облачных сообщений Google и облачных сообщений Firebase. Цифровые коммуникации и сети, 6 (1), 31-37.
  9. ^ "Обмен сообщениями Firebase Cloud" . Firebase . Проверено 16 ноября 2020 года .
  10. ^ a b Йылмаз, Ю.С., Айдын, Б.И., и Демирбас, М. (2014, декабрь). Обмен сообщениями в облаке Google (GCM): оценка. В конференции IEEE Global Communications 2014 (стр. 2807-2812). IEEE.
  11. ^ Mokar, MA, Fageeri, SO, и Fattoh, SE (2019, сентябрь). Использование Firebase Cloud Messaging для управления мобильными приложениями. В 2019 г. на Международной конференции по вычислительной технике, контролю, электротехнике и электронике (ICCCEEE) (стр. 1-5). IEEE
  12. ^ "О сообщениях FCM" . Firebase . Проверено 17 ноября 2020 года .
  13. ^ "Обзор архитектуры FCM" . Firebase . Проверено 17 ноября 2020 года .
  14. ^ Б с д е е Sharma, R. (2020). Что такое GCM и FCM? (Различия и ограничения). Получено 2 октября 2020 г. с https://www.izooto.com/blog/everything-that-you-need-to-know-about-firebase-cloud-messaging-platform.
  15. ^ a b «Общие сведения о доставке сообщений» . Firebase . Проверено 17 ноября 2020 года .
  16. ^ a b c Эспозито, Кристиан; Пальмиери, Франческо; Чу, Ким-Кван Раймонд (март 2018 г.). «Облачная очередь сообщений и уведомление: проблемы и возможности» . Облачные вычисления IEEE . 5 (2): 11–16. DOI : 10.1109 / mcc.2018.022171662 . ISSN 2325-6095 . 
  17. ^ Ли, На; Ду, Яньхуэй; Чен, Гуансюань (декабрь 2013 г.). «Обзор службы push-уведомлений облачных сообщений» . 2013 Международная конференция по науке информации и Cloud Computing Companion . IEEE. DOI : 10.1109 / ККИС-c.2013.132 . ISBN 978-1-4799-5245-8.

Внешние ссылки [ править ]

  • Firebase Cloud Messaging - официальный сайт
  • Google Cloud Messaging - официальный сайт
  • Часто задаваемые вопросы по GCM и FCM
  • Как настроить ключ Firebase / Google Cloud Messaging и почему вам следует использовать ключ FCM