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