Основные понятия чата

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

API чата предоставляют службу автоматического масштабирования для постоянно хранимого текста и обмена данными. К другим ключевым функциям относятся:

  • Настраиваемое удостоверение и адресация — Службы коммуникации Azure предоставляет универсальные удостоверения для решения конечных точек связи. Клиенты используют эти удостоверения для проверки подлинности в службе Azure и взаимодействия друг с другом в chat threads элементе управления.
  • Шифрование — пакеты SDK чата шифруют трафик и предотвращают изменение сети.
  • Собрания Microsoft Teams . Пакеты SDK чата могут присоединяться к собраниям Teams и взаимодействовать с сообщениями чата Teams.
  • Уведомления в режиме реального времени . Пакеты SDK чата используют эффективное постоянное подключение (WebSockets) для получения уведомлений в режиме реального времени, таких как при вводе удаленного пользователя. Когда приложения работают в фоновом режиме, встроенные функциональные возможности доступны для запуска всплывающих уведомлений ("toasts") для информирования конечных пользователей о новых потоках и сообщениях.
  • Расширяемость бота— легко добавить ботов Azure в службу чата с интеграцией Azure Bot.

Общие сведения о чатах

Беседы в чате организованы в потоки чатов. Потоки чатов характеризуются следующим образом:

  • Удостоверение потока чата — это его ChatThreadIdудостоверение.
  • Потоки чата имеют от нуля до 250 пользователей в качестве участников, которые могут отправлять сообщения в него.
  • Пользователь может быть частью неограниченного количества потоков чата.
  • Только участники потока могут отправлять или получать сообщения, добавлять участников или удалять участников.
  • Пользователи добавляются в качестве участника в любые создаваемые потоки чата.

Доступ пользователей

Службы коммуникации Azure поддерживает три уровня управления доступом пользователей с помощью маркеров чата. Дополнительные сведения см. в разделе "Идентификация и маркеры ". У участников нет доступа на запись к сообщениям, отправленным другими участниками, что означает, что только отправитель сообщения может обновлять или удалять отправленные сообщения. Если другой участник пытается сделать это, они получают ошибку.

Данные чата

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

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

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

Лимиты служб

  • Максимальное число участников, разрешенное в потоке разговора, — 250.
  • Максимально допустимый размер сообщения составляет примерно 28 КБ.
  • Для потоков чата с более чем 20 участниками функции индикаторов чтения и ввода не поддерживаются.
  • Для сценариев взаимодействия Teams это число пользователей Службы коммуникации Azure, а не пользователей Teams, которое должно быть ниже 20 для поддержки функции индикатора ввода.
  • В сценариях взаимодействия Teams событие индикатора ввода может содержать пустое отображаемое имя при отправке от пользователя Teams.
  • Для сценариев взаимодействия Teams чеки чтения не поддерживаются для пользователей Teams.

Архитектура чата

Существует две основные части архитектуры чата: 1) доверенное приложение и 2) клиентское приложение.

Diagram showing Communication Services' chat architecture.

  • Доверенная служба. Для правильного управления сеансом чата требуется служба, которая помогает подключаться к Службам коммуникации с использованием строки подключения к ресурсу. Эта служба отвечает за создание потоков чатов, а также добавление и удаление участников и выдачу пользователям маркеров доступа. Дополнительные сведения о маркерах доступа можно найти в этом кратком руководстве.
  • Клиентское приложение подключается к доверенной службе и получает маркеры доступа, которые затем используются для подключения к Службам коммуникации. После создания потока чата и добавления пользователей в качестве участников они могут использовать клиентское приложение для подключения к потоку чата и отправки сообщений. Уведомления в режиме реального времени в клиентском приложении можно использовать для подписки на обновления сообщений и потоков от других участников.

Создание интеллектуальных возможностей чата с использованием искусственного интеллекта

Службы ИИ Azure можно использовать с помощью службы чата для создания таких вариантов использования:

  • помочь службе поддержки приоритизировать обращения, определяя негативную тональность во входящем сообщении клиента;
  • Создайте сводку в конце беседы для отправки клиенту по электронной почте с помощью следующих шагов или дальнейших действий на более позднюю дату.
  • Добавьте power Virtual Agent (PVA) в канал чата Службы коммуникации Azure с помощью Azure Bot и бота ретрансляции.
  • Настройте бота для запуска на одном или нескольких социальных каналах вместе с каналом чата.

Diagram showing Azure Communication Services can be paired with Azure AI services.

Типы сообщений

В рамках журнала сообщений чат предоставляет общий доступ к созданным пользователем сообщениям и системным сообщениям.

Системные сообщения создаются при создании

  • Поток чата обновляется
  • Участник был добавлен или удален
  • Раздел потока чата обновлен.

При вызове List Messages или Get Messages в потоке чата результат содержит оба типа сообщений в хронологическом порядке. Для созданных пользователем сообщений тип сообщения можно задать SendMessageOptions при отправке сообщения в поток чата. Если значение не указано, служба коммуникации по умолчанию использует тип text . Это значение важно правильно указать, если отправляется код HTML. При html указании службы коммуникации очищают содержимое, чтобы обеспечить безопасное отображение содержимого на клиентских устройствах.

  • text — сообщение в формате обычного текста, составленное и отправленное пользователем в поток чата.
  • html — форматированное сообщение с синтаксисом HTML, составленное и отправленное пользователем в поток чата.

Типы системных сообщений

  • participantAdded: системное сообщение, указывающее, что один или несколько участников были добавлены в поток чата.
  • participantRemoved: системное сообщение, указывающее, что участник был удален из потока чата.
  • topicUpdated. Системное сообщение, указывающее на изменение темы беседы.

Уведомления в реальном времени

Пакет SDK для чата JavaScript поддерживает уведомления в режиме реального времени. Эта возможность позволяет клиентам в реальном времени получать от Служб коммуникации обновления потока чата и входящие сообщения, не опрашивая API.

Клиентское приложение может подписываться на следующие события:

  • chatMessageReceived — отправка сообщения участником в поток чата.
  • chatMessageEdited — изменение сообщения в потоке чата.
  • chatMessageDeleted — удаление сообщения в потоке чата.
  • typingIndicatorReceived — отправка состояния набора текста другим участником в поток чата.
  • readReceiptReceived — отправка подтверждения о прочтении сообщения другим участником.
  • chatThreadCreated — когда пользователь служб коммуникации создает поток чата.
  • chatThreadDeleted — при удалении потока чата пользователем служб коммуникации.
  • chatThreadPropertiesUpdated — обновление свойств потока чата (сейчас для потока поддерживается только обновление темы).
  • participantsAdded — добавление пользователя а качестве участника потока чата.
  • participantsRemoved — удаление существующего участника из потока чата.
  • realTimeNotificationConnected — при подключении уведомления в режиме реального времени.
  • realTimeNotificationDisconnected —при отключении уведомления в режиме реального времени.

Примечание.

Уведомления в режиме реального времени не используются с серверными приложениями.

События сервера

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

Push-уведомления

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

IoS и Android SDK поддерживают следующее событие:

  • chatMessageReceived — отправка сообщения участником в поток чата.

Пакет SDK для Android поддерживает дополнительные события:

  • chatMessageEdited — изменение сообщения в потоке чата.
  • chatMessageDeleted — удаление сообщения в потоке чата.
  • chatThreadCreated — когда пользователь служб коммуникации создает поток чата.
  • chatThreadDeleted — при удалении потока чата пользователем служб коммуникации.
  • chatThreadPropertiesUpdated — обновление свойств потока чата (сейчас для потока поддерживается только обновление темы).
  • participantsAdded — добавление пользователя а качестве участника потока чата.
  • participantsRemoved — удаление существующего участника из потока чата.

Дополнительные сведения см. в разделе "Push-уведомления".

Примечание.

В настоящее время отправка push-уведомлений чата с центром уведомлений общедоступна в Android версии 1.1.0 и в IOS версии 1.3.0.

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

Вас могут заинтересовать следующие документы: