Уведомления в Службах коммуникации

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

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

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

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

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

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

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

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

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

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

Примечание

В настоящее время вызовы push-уведомлений поддерживаются как для Android, так и для iOS. Push-уведомления в чате поддерживаются только для пакетов SDK для Android в версии 1.1.0-beta.4.

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

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

Примечание

Сейчас поддерживаются платформы 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-уведомления не приходят на устройство, причину этого нужно искать в одной из трех областей:

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

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

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

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

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

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

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

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

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

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

Служба push-уведомлений Apple настроена для работы с центром уведомлений Azure в режиме аутентификации по сертификату

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

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

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

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

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

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

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

Дальнейшие действия