Часто задаваемые вопросы об отправке push-уведомлений с помощью Центров уведомлений Azure

Общие

Какую структуру ресурсов используют Центры уведомлений?

Центры уведомлений Azure имеют два уровня ресурсов — это узлы и пространства имен. Узел — это отдельный ресурс для отправки, который содержит сведения об операциях отправки между платформами для одного приложения. Пространство имен содержит несколько узлов одного региона. Мы советуем сопоставлять одно пространство имен с одним приложением. В пространство имен можно включить рабочий центр, который работает с основным приложением, тестовый центр для работы с тестовым приложением и т. д.

Как определяется цена на концентраторы уведомлений?

Последние сведения о тарифах можно найти на странице цен на Центры уведомлений. Счета за Центры уведомлений выставляются на уровне пространства имен (определение пространства имен дано в разделе "Какую структуру ресурсов используют Центры уведомлений?"). Центры уведомлений поддерживают три ценовые категории:

  • Уровень Бесплатный. Это хороший выбор для изучения возможностей отправки, но мы не советуем использовать его для рабочих приложений. Вы получаете 500 устройств и 1 млн push-уведомлений, включенных в подписку в месяц, без гарантии соглашения об уровне обслуживания (SLA).
  • Базовый. Для небольших рабочих приложений можно выбрать этот уровень или уровень "Стандартный". Вы получаете 200 000 устройств и 10 миллионов push-уведомлений, включенных в подписку в месяц в качестве базового плана.
  • Уровень Стандартный. Рекомендуемый вариант для средних и крупных рабочих приложений. Вы получаете 10 миллионов устройств и 10 миллионов push-уведомлений, включенных в подписку в месяц в качестве базового плана. Включает в себя расширенную телеметрию (предоставлены дополнительные данные о состоянии отправки).

Возможности уровня "Стандартный":

  • Расширенная телеметрия. Центры уведомлений предоставляют телеметрию по каждому сообщению, которая позволяет отслеживать push-запросы и информацию о системе отправки уведомлений платформы для отладки.
  • Мультитенантность. Вы можете управлять учетными данными для системы отправки уведомлений платформы на уровне пространства имен. Эта возможность позволяет легко распределять между клиентами узлы в одном пространстве имен.
  • Запланированная отправка. Вы можете запланировать отправку уведомлений в любое время.
  • Массовые операции. Обеспечение функций экспорта и импорта регистраций, как описано в документе Экспорт и импорт регистраций.

Что такое соглашение об уровне обслуживания для концентраторов уведомлений?

Для уровней Центров уведомлений "Базовый" и "Стандартный" мы гарантируем, что как минимум 99,9 % времени правильно настроенные приложения смогут отправлять push-уведомления или выполнять операции управления регистрацией. Дополнительные сведения о соглашении об уровне обслуживания Центров уведомлений см. на этой странице.

Примечание.

Так как push-уведомления зависят от систем отправки уведомлений платформы сторонних поставщиков (например, Apple Push Notification Service (APNS) и Google Firebase Cloud Messaging (FCM)), в соглашениях об уровне обслуживания не предусмотрено никаких гарантий по доставке этих сообщений. После того как Центр уведомлений передаст пакеты системам отправки уведомлений платформы (с поддержкой соглашений об уровне обслуживания), непосредственная доставка push-уведомлений возлагается на эти системы (без поддержки соглашений об уровне обслуживания).

Как мне повысить или понизить уровень для узла или пространства имен?

Перейдите на портал Azure>Notification Hubs Namespaces (Пространства имен Центров уведомлений) или Центры уведомлений. Выберите ресурс, который требуется обновить, и перейдите на страницу цен. Обратите внимание на следующие требования:

  • Новая ценовая категория будет применяться ко всем узлам в пространстве имен, с которыми вы работаете.
  • Если при снижении уровня будет превышен лимит на число устройств, установленный для нового уровня, такое изменение вступит в силу только тогда, когда вы удалите все лишние устройства.

Проектирование и разработка

Какие платформы на стороне сервера вы поддерживаете?

Серверные пакеты SDK доступны для .NET, Java, Node.js, PHP и Python. API Центров уведомлений основан на интерфейсах REST, поэтому вы можете работать непосредственно с REST API. Это удобно, если вы используете сразу несколько платформ или хотите избежать дополнительных зависимостей. Дополнительные сведения см. на странице Отправка push-уведомлений с помощью центров уведомлений Azure в iOS.

Какие клиентские платформы вы поддерживаете?

Push-уведомления поддерживаются на платформах iOS, Android, Windows Universal, Windows Phone, Android China (через Baidu), Xamarin (iOS и Android) и Safari. Дополнительные сведения см. на странице Руководства по началу работы с Центрами уведомлений.

Поддерживаются ли уведомления по SMS и электронной почте, а также веб-уведомления?

Центры уведомлений отправляют уведомления на устройства, на которых работают мобильные приложения, и не поддерживают отправку электронных писем или текстовых сообщений. Кроме того, Центры уведомлений также не предоставляют возможность отправки push-уведомлений в браузере по умолчанию. Клиенты могут внедрить эту функцию с помощью SignalR на базе поддерживаемых серверных платформ.

Сколько устройств может поддерживаться при отправке push-уведомлений через концентраторы уведомлений?

Сведения о поддерживаемых устройствах см. на странице с ценами на Центры уведомлений.

Если требуется поддержка более 10 млн зарегистрированных устройств, необходимо распределить устройства между несколькими пространствами имен.

Сколько push-уведомлений я могу отправить?

В зависимости от выбранной категории Центры уведомлений Azure автоматически выполняют масштабирование на основе количества уведомлений, проходящих через систему.

Примечание.

Общая стоимость использования зависит от количества отправленных push-уведомлений. Ознакомьтесь с ограничениями для категорий на странице с ценами на Центры уведомлений.

Наши клиенты отправляют миллионы push-уведомлений в день с помощью Центров уведомлений. Пока вы используете Центры уведомлений Azure, вам не нужно предпринимать специальные действия для масштабирования решения по отправке push-уведомлений.

Как скоро push-уведомления доставляются на мое устройство?

При обычном использовании с более или менее согласованной входящей нагрузкой даже Центры уведомлений Azure могут обрабатывать по крайней мере 1 миллион отправленных push-уведомлений в минуту. Такая скорость может меняться в зависимости от количества тегов, характера входящих данных и других внешних факторов.

В течение предполагаемого времени доставки служба подсчитывает целевые объекты для соответствующей платформы и направляет сообщения службам push-уведомлений (PNS) на основе зарегистрированных тегов или выражений тегов. Службы PNS отвечают за отправку уведомлений на устройство.

Они не предоставляют никаких гарантий по доставке уведомлений, предусмотренных соглашением об уровне обслуживания. Однако подавляющая часть рush-уведомлений доставляется на устройства в течение нескольких минут (как правило, в диапазоне 10 минут) с момента их отправки в Центры уведомлений. Для отправки нескольких уведомлений может потребоваться больше времени.

Примечание.

Кроме того, в Центрах уведомлений Azure предусмотрена политика для удаления любых рush-уведомлений, которые не были доставлены в PNS в течение 30 минут. Эта задержка может произойти по ряду причин, чаще всего потому, что служба PNS регулирует работу приложения.

Предоставляются ли какие-либо гарантии по задержкам?

Из-за характера доставки push-уведомлений (они доставляются внешней службой PNS для определенной платформы) гарантии по задержкам не предоставляются. Как правило, большая часть рush-уведомлений доставляется в течение нескольких минут.

Где Центры уведомлений Azure хранят данные?

Центры уведомлений Azure хранят данные регистрации клиентов в выбранном им регионе. Они обеспечивают аварийное восстановление метаданных (имени Центров уведомлений, строки подключения и других важных сведений). Для всех регионов, кроме Южной Бразилии и Юго-Восточной Азии, резервная копия метаданных размещается в другом регионе (обычно в парном регионе Azure). Резервные копии для Южной Бразилии и Юго-Восточной Азии хранятся в том же регионе в соответствии с выдвигаемыми для них требованиями к размещению данных.

Что следует учитывать при разработке решения в пространствах имен и Центрах уведомлений?

Мобильное приложение и среда

  • Используйте один Центр уведомлений для мобильного приложения в среде.
  • В мультитенантном сценарии для каждого клиента должен быть отдельный концентратор.
  • Никогда не используйте один и тот же Центр уведомлений в тестовой и рабочей средах, так как это может вызвать проблемы при отправке уведомлений. (Apple предлагает конечные точки Sandbox и Production Push с отдельными учетными данными для каждой из них.)
  • По умолчанию тестовые уведомления можно отправлять на зарегистрированные устройства с портала Azure или с помощью интегрированного компонента Azure в Visual Studio. Существует пороговое значение в 10 устройств, которые случайным образом выбираются из пула регистрации.

Примечание.

Если для Центра был изначально настроен сертификат "песочницы" Apple, а затем — сертификат рабочей среды Apple, исходные маркеры устройств станут недействительными, что может привести к сбою отправки push-уведомлений. Используйте рабочую и тестовую среду по отдельности и разные Центры для разных сред.

Учетные данные PNS

При регистрации мобильного приложения на портале разработчиков платформы (например, Apple или Google) вы получаете идентификатор приложения и маркеры безопасности. Серверная часть приложения предоставляет эти маркеры службам PNS, чтобы они могли отправлять push-уведомления на устройства. Маркеры безопасности могут быть представлены в виде сертификатов (например, Apple iOS или Windows Phone) или ключей безопасности (например, Google Android или Windows). Их требуется настроить в Центрах уведомлений. Как правило, настройка осуществляется на уровне концентратора уведомлений, а также на уровне пространства имен в мультитенантном сценарии.

Пространства имен

Пространства имен могут также использоваться для группирования развертываний. Кроме того, с их помощью можно представить все концентраторы уведомлений для всех клиентов одного приложения в мультитенантном сценарии.

Географическое распределение

Географическое распределение не всегда является критически важным для push-уведомлений. Различные службы PNS (например, APNs или FCM), которые доставляют push-уведомления на устройства, распределены неравномерно.

Однако при наличии приложения, которое используется глобально, вы можете создать Центры в разных пространствах имен с помощью службы Центров уведомлений в разных регионах Azure по всему миру.

Примечание.

Мы не рекомендуем использовать этот подход, так как это приведет к увеличению затрат на управление, в частности на регистрацию. Используйте этот подход только в случае крайней необходимости.

Где следует выполнять регистрацию: в серверной части приложения или непосредственно на клиентских устройствах?

Выполняйте регистрацию в серверной части приложения в тех случаях, когда необходимо выполнить аутентификацию клиента перед созданием регистрации, или при наличии тегов, которые должны быть созданы и изменены серверной частью приложения на основе определенной логики приложения. Дополнительные сведения см. в статьях Регистрация из внутренней службы приложения и Управление регистрацией.

Какая модель безопасности доставки push-уведомлений используется?

Центры уведомлений Azure используют модель безопасности на основе подписанного URL-адреса. Маркеры подписанного URL-адреса можно использовать на уровне корневого пространства имен или на детализированном уровне Центров уведомлений. Для этих маркеров подписанного URL-адреса можно задать различные правила авторизации, например разрешения для отправки сообщений или прослушивания уведомлений. Дополнительные сведения см. в документе о модели безопасности Центров уведомлений.

Как обрабатываются конфиденциальные полезные данные в push-уведомлениях?

Все уведомления доставляются на целевые устройства службами PNS платформы. При отправке уведомления в Центр уведомлений Azure оно обрабатывается и передается в соответствующую службу PNS.

Передача уведомлений от отправителя в Центры уведомлений Azure и в службу PNS осуществляется по протоколу HTTPS.

Примечание.

Центры уведомлений Azure не регистрируют полезные данные сообщений.

Для отправки конфиденциальных полезных данных мы советуем использовать шаблон безопасных push-уведомлений. Отправитель посылает уведомление для проверки связи с идентификатором сообщения на устройство без конфиденциальных полезных данных. Когда приложение на устройстве получает эти полезные данные, оно может напрямую вызвать безопасный API, чтобы получить информацию о сообщении. Руководство по реализации этой схемы см. на странице Безопасные push-уведомления посредством центров уведомлений Azure.

Операции

Какая поддержка предоставляется для аварийного восстановления?

Все ли данные хранятся в зашифрованном виде?

Центры уведомлений Azure шифруют все неактивные данные клиента, за исключением тегов регистрации. По этой причине не следует хранить личные или конфиденциальные данные с использованием тегов.

Предусмотрена ли возможность ведения журнала аудита?

Да. Все операции по управлению Центрами уведомлений обновляются в журнале действий Azure, который представлен на портале Azure. Журнал действий Azure предлагает аналитические сведения об операциях, которые выполнялись с ресурсами в подписках. С помощью журнала действий можно ответить на вопросы что, кто и когда о любой операции записи (PUT, POST, DELETE) с ресурсами в вашей подписке. Вы также можете отслеживать состояние операции и другие ее свойства. Однако. журнал действий не содержит сведения об операции чтения (GET).

Обнаруживают ли центры уведомлений удаление?

Если вы сохранили устройство Registrationкак недействительное, при первом отправке в эту регистрацию, а PNS отвечает с кодом состояния ошибки, указывающим, что устройство недопустимо, устройство удаляется из центра уведомлений.

При хранении устройств с помощью Installation API они не удаляются в приведенном выше сценарии. Это решение было принято для сохранения тегов и других метаданных конкретного пользователя, который может быть актуальным, если пользователь переустановит.

Для регистрации и установки можно задать срок действия, чтобы устройство автоматически очищалось в определенное время. Распространенный шаблон заключается в том, чтобы клиентское приложение обновило дату окончания срока действия один раз в день, чтобы переместить его обратно, пока пользователь использует приложение.

Мониторинг и устранение неполадок

Какие возможности для устранения неполадок доступны?

Центры уведомлений Azure предоставляют несколько функциональных возможностей для устранения неполадок, особенно в наиболее распространенном случае удаления уведомлений. Дополнительные сведения см. в техническом документе Центры уведомлений Azure — рекомендации по диагностике.

Какие телеметрические функции доступны?

Центры уведомлений Microsoft Azure позволяют просматривать данные телеметрии на портале Azure. Дополнительные сведения о доступных метриках в Центрах уведомлений см. на этой странице.

Можно также программно получить доступ к метрикам. Дополнительные сведения см. в следующих статьях:

Примечание.

Успешная доставка уведомлений означает только то, что push-уведомления доставлены во внешнюю службу PNS (например, APNs для устройств iOS и macOS или FCM для устройств Android). Службы PNS отвечают за доставку уведомлений на целевые устройства. Как правило, служба PNS не предоставляет метрики доставки третьим лицам.