Облачный обмен сообщениями Firebase
Разработчик(и) | Огневая база |
---|---|
Язык(и) программирования | - |
Приложение(я) | Служба уведомлений |
Статус | Оффлайн [ нужна ссылка ] |
Лицензия | Доступ |
Веб-сайт | огневая база |
Firebase Cloud Messaging ( FCM ), ранее известный как Google Cloud Messaging (GCM), — это кроссплатформенный облачный сервис для сообщений и уведомлений для Android , iOS и веб-приложений , который с мая 2023 года можно использовать бесплатно. [1] Firebase Cloud Messaging позволяет сторонним разработчикам приложений отправлять уведомления или сообщения с серверов, размещенных на FCM, пользователям платформы или конечным пользователям .
Услуга предоставляется 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 года сервер GCM и клиентский API были признаны устаревшими. [4] FCM стал заменой GCM. Однако FCM совместим с существующими комплектами разработки программного обеспечения (SDK) Google. [5]
Firebase Cloud Messaging — это кроссплатформенная служба обмена сообщениями, с помощью которой пользователь может доставлять сообщения бесплатно. FCM совместим с различными платформами, включая Android и iOS. [6] 17 октября 2016 года Google запустил поддержку веб-приложений, включая мобильные веб-приложения. [7] В FCM сторонние разработчики приложений могут отправлять конечным пользователям push-уведомления и сообщения через интерфейс программирования приложений (API). [8] После того как пользователи разрешают получать push-уведомления, они могут получать информацию или данные для синхронизации в реальном времени.
Развитие [ править ]
FCM наследует базовую инфраструктуру GCM, однако упрощает разработку клиентской части. GCM и FCM предлагают шифрование, push-уведомления и обмен сообщениями, а также встроенную поддержку SDK для Android и iOS. Оба требуют наличия стороннего объекта между клиентским приложением и доверенной средой, что может создавать задержки на пути связи между мобильным терминалом и сервером приложений. [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 обрабатывал отображение уведомлений для клиентских приложений. Сообщения с данными будут использоваться, когда разработчик требует, чтобы сообщения обрабатывались в клиентском приложении.
FCM может доставлять целевые сообщения приложениям тремя способами: на одно устройство, в группу устройств или на устройства, подписанные на темы. Разработчики создают и отправляют целевые сообщения избранной группе пользователей с помощью «Композитора уведомлений». [10] Сообщения, отправленные с помощью FCM, интегрируются с Google Analytics для отслеживания конверсий и взаимодействия пользователей. [13]
Реализация [ править ]
Процесс реализации состоит из двух ключевых компонентов. Во-первых, FCM или другим серверам приложений необходима безопасная среда для отправки и получения сообщений, чтобы облегчить транзакцию сообщений. Во-вторых, необходимо клиентское приложение различных типов: iOS, Android или веб-интерфейс (javaScript), которое также совместимо с выбранным сервисом платформы.
Путь внедрения FCM начинается с установки FCM SDK в соответствии с инструкциями, предписанными для выбранной платформы. После установки необходимо разработать клиентское приложение. В клиентском приложении добавьте обработку сообщений, логику подписки на темы и другие необходимые функции. На этом этапе тестовые сообщения также можно отправлять из композитора уведомлений. Затем разрабатывается сервер приложений для построения логики отправки. Базовая серверная среда создается без кода. [4]
Архитектурный поток [ править ]
Предварительно необходима регистрация устройства и настройка его для включения приема сообщений от FCM. Экземпляр клиентского приложения будет зарегистрирован и ему будет присвоен регистрационный токен или токен FCM, который выдается серверами соединений FCM, которые предоставят экземпляру приложения (экземпляру приложения) уникальный идентификатор. После этого экземпляр приложения сможет отправлять и получать последующие сообщения. Нисходящий обмен сообщениями означает отправку push-уведомления с сервера приложений клиентскому приложению. Этот процесс включает в себя четыре этапа. Во-первых, после создания сообщения в композиторе уведомлений или в другой безопасной среде запрос на сообщение будет отправлен на серверную часть FCM. Во-вторых, серверная часть FCM получит и примет запрос сообщения и подготовит сообщения для каждой указанной темы, создаст метаданные сообщения, такие как идентификатор сообщения, и отправит их на транспортный уровень, специфичный для платформы. В-третьих, сообщение будет отправлено через транспортный уровень, зависящий от платформы, на онлайн-устройство. Транспортный уровень уровня платформы отвечает за маршрутизацию сообщения на определенное устройство, обработку доставки сообщения и применение определенных конфигураций к платформе. В-четвертых, клиентское приложение получит уведомление или сообщение через свое устройство. [14]
Дополнительные возможности и инструменты [ править ]
Аналитика [ править ]
Firebase предлагает бесплатные и неограниченные аналитические инструменты, которые помогут пользователю получить представление о «кликах по рекламе» и «использовании приложений» конечными клиентами. В сочетании с другими функциями Firebase Firebase Analytics позволяет пользователю исследовать и использовать ряд функций, таких как рейтинг кликов и сбои приложений. [15]
Удаленная конфигурация Firebase [ править ]
Это простое хранилище ключей-значений, которое находится в облаке и позволяет пользователю вносить изменения, которые могут быть прочитаны приложением. Firebase Remote Config также включает в себя конструктор аудитории, помимо базовой функции, который помогает пользователю создавать собственные аудитории и проводить A/B-тестирование. [15]
Кроссплатформенная поддержка
API-интерфейсы, упакованные в отдельные SDK для iOS, Android, JavaScript и C++, в сочетании с кроссплатформенной поддержкой, предоставляемой FCM, позволяют разработчику расширяться на разные платформы без модификации инфраструктуры. [15]
Web Поддержка Push
Разработчики могут реализовать стандартные API-интерфейсы IETF Web Push и ориентироваться на веб-браузеры. В Chrome разработчики могут отправлять сообщения в Chrome на Android или на страницы Chrome в Mac, Windows и Linux. Добавленные функции поддержки веб-пуш включают обмен сообщениями по темам и возможность отправлять сообщения в комбинации тем. [15]
Обмен сообщениями по темам [ править ]
Разработчики могут отправлять одно сообщение на несколько устройств. Это метод уведомления пользователей с общими интересами, такими как спортивные события, артисты, музыкальные жанры. Разработчикам необходимо опубликовать сообщение в FCM, которое автоматически доставляется на устройства, подписанные на выбранную тему. Количество подписчиков по одной или нескольким темам в приложении не ограничено. [15]
Сообщения по комбинациям тем [ править ]
Если пользователи подписаны на разные темы, чтобы предотвратить публикацию одного и того же сообщения в разных темах и избежать получения пользователями дублирующихся сообщений, разработчики могут использовать обновленный API. Разработчики могут установить для FCM особые условия для доставки сообщения только тем пользователям, которые соответствуют критериям условия. [15]
сообщений Отчеты о доставке
Отчеты о доставке сообщений (MDR) генерируются инструментом отчетности FCM, который позволяет разработчикам получать аналитическую информацию о доставке сообщений. В MDR разработчики могут оценить охват отправленных сообщений конкретным пользователям, просматривая данные для сообщений в разные SDK FCM (Android, iOS). [16]
Анализ воронки уведомлений [ править ]
Анализ последовательности уведомлений (NFA) встроен в платформу FCM. Используя этот инструмент, разработчики могут просматривать поведение и тенденции пользователей на основе данных об ответах на определенные уведомления. Типы данных уведомлений, которые можно анализировать: «Отправленные уведомления», «Открытые уведомления» и количество уникальных пользователей. Отчет об анализе можно получить из NFA. Разработчики также могут настраивать и создавать воронки уведомлений. [16]
проблемы Ключевые
безопасности Проблемы
FCM сокращает процесс проектирования и реализации мобильных приложений. За счет доступного функционала отправки тестовых сообщений через Notifications Composer в консоли Firebase процесс тестирования также сокращается. Облачные решения для обмена сообщениями также сопряжены с рисками безопасности и конфиденциальности, которые необходимо минимизировать и учитывать перед внедрением в проект. Развитие облачных вычислений предполагает открытую сетевую структуру и эластичное объединение общих ресурсов, что увеличивает необходимость принятия мер облачной безопасности. [17]
FCM Проблемой безопасности является потенциальная эксплуатация ключей сервера, которые хранятся в файлах пакета приложений Android (APK) . В случае использования это позволяет рассылать push-уведомления всем без исключения пользователям на платформе Firebase. GCM ранее сообщал об уязвимостях безопасности, связанных с фишингом и вредоносной рекламой.
Защита от угроз безопасности включает в себя несколько этапов и может привести к дополнительным последствиям. Деактивация службы облачных сообщений предотвратит немедленные транзакции. Однако это потенциально может остановить установку других приложений на заблокированном устройстве, которые используют службу FCM. [17] Возможное решение — заблокировать конкретный канал уведомлений или отказаться от подписки на тему. Другие решения включают настройку систем уведомления о трафике сообщений для обнаружения вредоносной информации, передаваемой через сервисную платформу FCM. [18] Для реализации этого решения необходимы дополнительные шаги. Пользователю необходимо вначале определить канал подключения или тему, потенциально используемую вредоносным приложением.
Проблемы конфиденциальности [ править ]
Обмен сообщениями в облаке также создает риски и проблемы конфиденциальности. Хакеры «черной шляпы» могут нарушить безопасность платформы Firebase Cloud Messaging и получить регистрационный идентификатор приложения пользователя или другую конфиденциальную информацию. Примеры компрометации безопасности включают в себя передачу личных сообщений из учетной записи пользователя в социальной сети на устройство хакера. Чтобы обеспечить конфиденциальность платформы, пользователь может создавать схемы сквозной защиты вокруг открытых каналов связи, предоставляемых облачными службами обмена сообщениями. которые небезопасны. FCM предоставляет пользователям шифрование полезной нагрузки. [17]
Ссылки [ править ]
- ^ «Облачный обмен сообщениями Firebase» . Разработчики Google . Проверено 4 апреля 2021 г.
- ^ Тамплин, Джеймс. «Firebase присоединяется к Google!» . Firebase, Inc. Проверено 21 октября 2014 г.
- ^ «Google Cloud Messaging — официальный сайт» . Проверено 20 июля 2016 г.
- ^ Jump up to: Перейти обратно: а б с Кантамани, С. (2020). Облачный обмен сообщениями Firebase. Получено 7 сентября 2020 г. с https://medium.com/developermind/using-firebase-cloud-messaging-for-remote-notifications-in-ios-d35de1dc67b2 .
- ^ Тондоло, Муса (27 июля 2018 г.). «Понимание Firebase: Часть 1 (Облачные сообщения Firebase)» . Середина . Проверено 17 ноября 2020 г.
- ^ Jump up to: Перейти обратно: а б Морони, Л. (2017). Облачный обмен сообщениями Firebase. В «Полном руководстве по Firebase» (стр. 163–188). Апресс, Беркли, Калифорния.
- ^ Новет, Дж. (2016). Google запускает Firebase Cloud Messaging для Интернета. Получено 7 октября 2020 г. с https://venturebeat.com/2016/10/17/google-launches-firebase-cloud-messaging-for-the-web/ .
- ^ Jump up to: Перейти обратно: а б Альбертенго Г., Дебеле Ф.Г., Хасан В. и Страмандино Д. (2020). О производительности веб-сервисов, облачных сообщений Google и облачных сообщений Firebase. Цифровые коммуникации и сети, 6(1), 31-37.
- ^ «Облачный обмен сообщениями Firebase» . Огневая база . Проверено 16 ноября 2020 г.
- ^ Jump up to: Перейти обратно: а б Йылмаз Ю.С., Айдын Б.И. и Демирбас М. (декабрь 2014 г.). Облачный обмен сообщениями Google (GCM): оценка. На конференции по глобальным коммуникациям IEEE 2014 г. (стр. 2807–2812). IEEE.
- ^ Мокар, Массачусетс, Фагери, С.О., и Фатто, Ю.В. (сентябрь 2019 г.). Использование облачных сообщений Firebase для управления мобильными приложениями. Международная конференция по компьютерной технике, управлению, электротехнике и электронике (ICCCEEE) 2019 г. (стр. 1-5). IEEE
- ^ «О сообщениях FCM» . Огневая база . Проверено 17 ноября 2020 г.
- ^ «Google Аналитика для Firebase» . Огневая база . Проверено 15 мая 2023 г.
- ^ «Обзор архитектуры FCM» . Огневая база . Проверено 17 ноября 2020 г.
- ^ Jump up to: Перейти обратно: а б с д и ж Шарма, Р. (2020). Что такое GCM и FCM? (Различия и ограничения). Получено 2 октября 2020 г. с https://www.izooto.com/blog/everything-that-you-need-to-know-about-firebase-cloud-messaging-platform .
- ^ Jump up to: Перейти обратно: а б «Понимание доставки сообщений» . Огневая база . Проверено 17 ноября 2020 г.
- ^ Jump up to: Перейти обратно: а б с Эспозито, Кристиан; Пальмьери, Франческо; Чу, Ким-Кван Рэймонд (март 2018 г.). «Облачная очередь сообщений и уведомления: проблемы и возможности» . Облачные вычисления IEEE . 5 (2): 11–16. дои : 10.1109/mcc.2018.022171662 . ISSN 2325-6095 . S2CID 19248242 .
- ^ Ли, На; Ду, Яньхуэй; Чен, Гуансюань (декабрь 2013 г.). «Обзор службы push-уведомлений облачных сообщений» . Международная конференция по информатике и облачным вычислениям 2013 г. IEEE. стр. 273–279. дои : 10.1109/iscc-c.2013.132 . ISBN 978-1-4799-5245-8 . S2CID 15771293 .