Что такое Центры уведомлений Azure?
Центры уведомлений Azure обеспечивают простой в использовании и масштабируемый механизм отправки push-уведомлений, который позволяет отправлять уведомления на любую платформу (iOS, Android, Windows и т. д.) c любой серверной части (облачной или локальной). Центры уведомлений отлично походят как для отдельных потребителей, так и для крупных предприятий. Ниже приведено несколько примеров сценариев:
- отправка (с низкой задержкой) уведомлений об экстренных новостях миллионам пользователей;
- отправка купонов целевым сегментам пользователей с учетом их местоположения;
- отправка уведомлений о событиях пользователям или группам пользователей в информационных, спортивных, финансовых и игровых приложениях;
- передача в приложения рекламного содержимого, которое помогает привлекать клиентов и продавать товары;
- уведомление пользователей о корпоративных событиях, новостях и рабочих задачах;
- отправка кодов для многофакторной идентификации.
Примечание
Сведения о прекращении поддержки Firebase Cloud Messaging и шагах миграции см. в разделе Миграция Google Firebase Cloud Messaging.
Что такое push-уведомления?
Push-уведомления — это механизм взаимодействия приложения с пользователями, который позволяет передать пользователю мобильного приложения важную информацию, обычно во всплывающем или диалоговом окне на мобильном устройстве. Как правило, пользователь имеет выбор — просмотреть сообщение или отказаться от просмотра. Если он выберет просмотр, откроется мобильное приложение, от которого поступило уведомление. Некоторые уведомления беззвучные. Они доставляются в фоновом режиме, чтобы приложение обработало их и выбрало нужное действие.
Push-уведомления жизненно важны для потребительских приложений, так как позволяют повысить качество и частоту взаимодействия с приложением. Для корпоративных приложений это важный метод передачи актуальной бизнес-информации. Это самый лучший способ взаимодействия с клиентами: он позволяет экономить заряд мобильного устройства, обеспечивает гибкость для отправителей сообщений и работает даже без запуска соответствующего приложения.
Примечание
Центры уведомлений Azure официально не поддерживают push-уведомления по протоколу VOIP. Но в этой статье объясняется, как можно использовать уведомления APNS VOIP через Центры уведомлений Azure.
Дополнительные сведения о push-уведомлениях для нескольких популярных платформ см. в следующих разделах:
Как работают push-уведомления?
Push-уведомления доставляются через инфраструктуры, предназначенные для конкретных платформ, которые известны как системы отправки уведомлений платформы (PNS). Они предлагают базовые функциональные возможности для доставки сообщений на конкретное устройство по предоставленному дескриптору и не имеют единого интерфейса. Чтобы отправить уведомления всем клиентам, использующим разные версии приложения (для iOS, Android и Windows), разработчик должен работать с помощью службы push-уведомлений Apple (APNS), Firebase Cloud Messaging (FCM) и службы уведомлений Windows (WNS) отдельно.
В целом алгоритм отправки выглядит так:
- Приложение хочет получать уведомления. Для этого оно обращается к PNS для целевой платформы, где выполняется приложение, и запрашивает уникальный временный дескриптор для push-уведомлений. Тип дескриптора зависит от системы (например, WNS использует URI, а APNS — токены).
- Клиентское приложение сохраняет этот дескриптор в серверной части или у поставщика службы.
- Для отправки push-уведомления серверная часть приложения обращается к PNS, используя дескриптор для обращения к приложению конкретного клиента.
- PNS перенаправляет уведомление на устройство, указанное дескриптором.
Трудности в работе с push-уведомлениями
Системы PNS — очень мощное средство. Несмотря на это, разработчикам приложений требуется прилагать много усилий для реализации даже распространенных сценариев использования push-уведомлений, например для отправки push-уведомлений определенным сегментам пользователей.
Отправка push-уведомлений требует сложной инфраструктуры, не связанной с основной бизнес-логикой приложения. Вот лишь некоторые из трудностей, которые возникают на уровне инфраструктуры:
-
Зависимость от платформы
- Серверная служба вынуждена использовать сложную и неудобную в обслуживании логику работы с разными платформами, чтобы отправлять уведомления на все возможные устройства, так как системы PNS не стандартизированы.
-
Масштабирование
- По правилам PNS маркеры устройств необходимо обновлять при каждом запуске приложения. На серверную часть направляется большой объем трафика, и нужно много обращений к базе данных только для того, чтобы поддерживать актуальность маркеров. Если количество устройств достигает сотен миллионов или даже миллиардов, требуются огромные затраты на создание и поддержание такой инфраструктуры.
- Большинство систем PNS не поддерживают рассылку на несколько устройств. Чтобы разослать самое простое сообщение на миллион устройств, потребуется миллион обращений к разным PNS. Передача таких объемов трафика с минимальными задержками — непростая задача.
-
Маршрутизация
- Системы PNS предоставляют средства для отправки сообщений на устройства, но для большинства приложений нужна еще и возможность сегментирования по пользователям или тематическим группам. Серверная часть должна поддерживать реестр устройств с привязкой к тематическим группам, пользователям, свойствам и т. д. Эти сложности увеличивают время выхода приложения на рынок и повышают затраты на его обслуживание.
Какие преимущества использования Центров уведомлений Azure?
Центры уведомлений устраняют все сложности, связанные с самостоятельной отправкой push-уведомлений из серверной части приложения. Многоплатформенная масштабируемая инфраструктура для отправки push-уведомлений позволяет сократить объем кода, нацеленного на использование push-уведомлений, и существенно упростить серверную часть приложения. Если вы используете Центры уведомлений, вам остается лишь зарегистрировать с устройства дескрипторы PNS, а затем отправлять сообщения от серверной части нужным пользователям или группам пользователей. Эта схема работы представлена на следующем рисунке.
Центры уведомлений — это готовые к использованию механизмы отправки push-уведомлений, которые обеспечивают следующие преимущества:
-
Кроссплатформенная поддержка
- Поддержка всех основных платформ push-уведомлений.
- Единый интерфейс для отправки уведомлений на все платформы. Вы можете использовать отдельные форматы для разных платформ или единый формат, и при этом не требуются дополнительные действия с учетом особенностей платформ.
- Управление маркерами устройств выполняется централизованно.
-
Поддержка различных серверных систем
- Облачные или локальные системы.
- .NET, Node.js, Java, Python и т. д.
-
Широкий набор схем доставки
- Рассылка на одну или несколько платформ. Выполнив один вызов API, вы можете мгновенно отправить сообщение на несколько миллионов устройств, в том числе на разных платформах.
- Push-уведомление на устройство. Вы можете направлять уведомления на конкретные устройства.
- Отправка push-уведомления пользователю. Поддержка тегов и шаблонов позволяет передать сообщение конкретному пользователю, использующему несколько устройств на разных платформах.
- Push-уведомления для сегмента пользователей с использованием динамических тегов. Поддержка тегов позволяет разделять устройства на сегменты и отправлять уведомления для любого из этих сегментов или любой комбинации сегментов, используя логические выражения (например, для всех пользователей, которые активны И живут в Сиэтле, И НЕ являются новыми пользователями). Вы больше не ограничены шаблоном "издатель — подписчик" и можете обновлять теги для устройств когда угодно и где угодно.
- Локализованные push-уведомления. Поддержка шаблонов позволяет локализовать систему, не внося изменения в код серверной части.
- Автоматические push-уведомления. Вы можете использовать механизм push-to-pull, рассылая на устройства автоматические уведомления, которые инициируют обмен информацией или выполнение действий на этих устройствах.
- Запланированная отправка. Вы можете запланировать отправку уведомлений в любое время.
- Технология Direct Push. При использовании службы "Центры уведомлений" вы можете даже не регистрировать устройства, а просто отправлять уведомления по списку дескрипторов устройств.
- Персонализированные push-уведомления. Переменные в push-уведомлениях с информацией об устройстве позволяют отправлять персонализированные push-уведомления с использованием настроенных пар "ключ — значение".
-
Масштабируемость
- Быстрая отправка сообщений на миллионы устройств, для которой не потребуется изменять архитектуру системы или сегментировать устройства.
-
Безопасность
- Поддерживаются Shared Access Secret (SAS) и федеративная проверка подлинности.
Следующие шаги
Начните работу по созданию и использованию Центра уведомлений, следуя указаниям в руководстве по push-уведомлениям для мобильных приложений.