Поделиться через


Общие сведения о push-уведомлениях

SDK для чата и звонков в службах связи Azure создают канал для обмена сообщениями в реальном времени, который позволяет передавать управляющие сигнальные сообщения в подключенные клиенты эффективно и надежно. Эта возможность позволяет создавать широкие возможности обмена данными в реальном времени в приложениях без необходимости реализовать сложную логику опроса HTTP. Однако в мобильных приложениях этот сигнальный канал остается подключенным только тогда, когда приложение активно на переднем плане. Если вы хотите, чтобы пользователи получали входящие вызовы или сообщения чата, пока приложение находится в фоновом режиме, следует использовать push-уведомления.

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

Активация push-уведомлений с помощью службы "Сетка событий Azure"

Службы связи Azure интегрируются с Azure Event Grid для доставки уведомлений о событиях в режиме реального времени надежным, масштабируемым и безопасным способом. Эту интеграцию можно использовать для создания службы уведомлений, которая предоставляет пользователям мобильные push-уведомления, создав подписку Event Grid, которая активирует функцию Azure или веб-перехватчик.

Диаграмма, на которой показано, как Службы коммуникации интегрируются со службой

Дополнительные сведения об обработке событий в Службах коммуникации Azure см. здесь.

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

Внимание

Центры уведомлений Azure объявили, что устаревший API Firebase Cloud Messaging (FCM) устарел в июле 2024 года. Это влияет на все приложения служб коммуникации Azure и чата, отправляющие push-уведомления Android. Затронутые клиенты должны перенести свои регистрации из устаревшего FCM на FCM версии 1 и могут начать это уже в марте 2024. Дополнительные сведения, включая шаги миграции, см. в документации по Центру уведомлений.

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

Схема интеграции Службы коммуникации с Центрами уведомлений Azure

Службы коммуникации используют Центр уведомлений Azure в качестве сквозной службы для взаимодействия с различными службами push-уведомлений, соответствующих для конкретных платформ, с помощью API-интерфейса Direct Send. Эта функция позволяет повторно использовать существующие ресурсы и конфигурации Центра уведомлений Azure для обеспечения низкой задержки, надежных уведомлений в приложениях.

Примечание.

В настоящее время для android и iOS поддерживаются push-уведомления для звонков и чатов.

Подготовка Центра уведомлений

Чтобы доставить push-уведомления на клиентские устройства с помощью Центров уведомлений, создайте Центр уведомлений в той же подписке, что и ресурс Служб коммуникации. Необходимо настроить Azure Notification Hub для системы отправки уведомлений платформы, которую вы хотите использовать. Чтобы узнать, как получать push-уведомления в вашем клиентском приложении из Центров уведомлений, ознакомьтесь со статьей Начало работы с Центрами уведомлений, и выберите целевую клиентскую платформу из списка, расположенного в верхней части страницы.

Примечание.

Сейчас поддерживаются платформы APNs и FCM.

Платформу APNs нужно настроить в режиме аутентификации по токену. Режим аутентификации по сертификату сейчас не поддерживается.

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

Чтобы войти в Azure Resource Manager, выполните следующую процедуру и войдите с использованием своих учетных данных.

armclient login

После успешного входа выполните следующую команду для подготовки Центра уведомлений:

armclient POST /subscriptions/<sub_id>/resourceGroups/<resource_group>/providers/Microsoft.Communication/CommunicationServices/<resource_id>/linkNotificationHub?api-version=2020-08-20-preview "{'connectionString': '<connection_string>','resourceId': '<resource_id>'}"
  1. На портале перейдите к ресурсу Служб коммуникации Azure.

  2. В ресурсе служб коммуникации выберите Push-уведомления в меню слева на странице служб коммуникации и подключите Центр уведомлений, созданный ранее.

  3. Выберите Подключить центр уведомлений. Вы увидите список центров уведомлений, доступных для подключения.

  4. Выберите центр уведомлений, который вы хотите использовать для этого ресурса.

    • Если необходимо создать новый центр, выберите Создать новый центр уведомлений, чтобы получить новый центр, подготовленный для этого ресурса.

    Настройки push-уведомлений на портале Azure

Теперь вы видите концентратор уведомлений, который вы связали с состоянием подключения.

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

Примечание.

Любое изменение, касающееся подключения концентратора, отразится в плоскости данных (т. е. при отправке уведомления) в течение максимум 10 минут. Такое же поведение применяется при первом связывании концентратора, если уведомления были отправлены до изменения.

Регистрация устройства

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

Руководство по устранению неполадок с push-уведомлениями

Если на устройстве не отображаются push-уведомления, есть три места, где могут быть удалены уведомления:

  • Службы уведомлений Azure не приняли уведомление от служб связи Azure.
  • система отправки уведомлений платформы (например, APNs или FCM) не принимает их из Центров уведомлений Azure;
  • система отправки уведомлений платформы не доставляет уведомления на устройство.

Первое место, где можно удалить уведомление (Центры уведомлений Azure не приняли уведомления из Служб коммуникации Azure) рассматриваются в следующем описании. Дополнительные сведения см. в статье "Диагностика удаленных уведомлений" в Центрах уведомлений Azure.

Один из способов проверить, отправляет ли ресурс Служб коммуникации уведомления в Центры уведомлений, — проверить метрику incoming messages в метриках связанного центра уведомлений.

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

Центр уведомлений Azure не связан со Службами коммуникации

Возможно, вы не связали свой центр уведомлений Azure с ресурсом Служб коммуникации. Сведения о том, как это сделать, см. в разделе Подготовка центра уведомлений.

Связанный центр уведомлений Azure не настроен

Вам необходимо настроить связанный центр уведомлений, используя учетные данные системы отправки уведомлений платформы для платформы, которую вы хотите использовать (например, iOS или Android). Сведения о том, как это сделать, см. в кратком руководстве по настройке push-уведомлений в центре уведомлений.

Отсутствует связанный центр уведомлений Azure

Центр уведомлений Azure, связанный с вашим ресурсом Служб коммуникации, больше не существует. Проверьте наличие связанного центра уведомлений.

Платформа APNs в Azure Notification Hub настроена в режиме аутентификации по сертификату.

Если вы хотите использовать платформу APNs с режимом проверки подлинности сертификата, она в настоящее время не поддерживается. Платформу APNs нужно настроить в режиме аутентификации по токену, как описано в кратком руководстве по настройке push-уведомлений в центре уведомлений.

Строка подключения не имеет разрешения Send

Для строки подключения, используемой для связывания центра уведомлений с ресурсом Служб коммуникации, необходимо разрешение Send. Дополнительные сведения о том, как создать новую строку подключения или просмотреть текущую строку подключения из Центра уведомлений Azure, см. в разделе "Политики безопасности и доступа центров уведомлений"

Недействительная связанная строка подключения или идентификатор ресурса центра уведомлений Azure

Убедитесь, что вы правильно настроили строку подключения ресурса Службы связи и идентификатор ресурса Azure Notification Hub.

Связанная строка подключения была возобновлена

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

Следующие шаги