Библиотека пользовательского интерфейса — варианты использования

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

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

Ознакомьтесь с более концептуальной документацией, краткими руководствами и примерами в сборнике историй библиотеки пользовательского интерфейса.

Варианты использования вызовов

Площадь Случаи использования
Типы вызовов Присоединение к собранию Microsoft Teams
Присоединение к вызову Службы коммуникации Azure с помощью идентификатора группы
Присоединение к комнате Службы коммуникации Azure
Запуск исходящего вызова другому пользователю Службы коммуникации Azure
Запуск исходящего звонка на номер телефона
Взаимодействие Teams Присоединение к лобби звонков
Отображение баннера оповещений о транскрибировании и записи
Элементы управления вызовами Отключение и отмена вызова
Включение и отключение видео во время звонка
Включение общего доступа к экрану
Завершение вызова
Коллекция участников Отображение удаленных участников в сетке
Предварительная версия видео доступна во время вызова локального пользователя
Сделать аватары по умолчанию доступными при отключении видео
Отображение общего содержимого экрана в коллекции участников
Настройка вызова Управление устройством микрофона
Управление устройством камеры
Управление устройством говорящего
Сделать локальную предварительную версию доступной для пользователя проверка видео
Участники Показать список участников

Варианты использования для чата

Площадь Azure Communication Services Chat Чат взаимодействия Teams
Типы чатов Присоединение к потоку чата Служб коммуникации Azure Присоединение к чату собраний Microsoft Teams
Действия чата Отправка и получение текстовых сообщений Отправка и получение текстовых сообщений
Получение текстовых сообщений с форматированными текстами Получение текстовых сообщений с форматированными текстами
- Получение встроенных изображений*
Отправка и получение вложений файлов Получение вложений файлов*
События чата Отправка и получение индикаторов ввода Отправка и получение индикаторов ввода**
Отправка и получение квитанций о чтении Отправка и получение квитанций о чтении
Отображение при добавлении или удалении участника Отображение при добавлении или удалении участника
Участники Показать список участников Показать список участников

*Поддержка встроенного образа и вложения файлов в настоящее время доступна в общедоступной предварительной версии. Предварительные версии API и пакеты SDK предоставляются без соглашения об уровне обслуживания. Рекомендуется не использовать их для рабочих нагрузок. Некоторые функции могут не поддерживаться или могут иметь ограниченные возможности. Дополнительные сведения см . в дополнительных условиях использования для предварительных версий Microsoft Azure.

**Отображаемое имя события ввода от пользователя Teams может не отображаться должным образом.

Поддерживаемые удостоверения

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

Взаимодействие с Teams

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

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

Схема, показывающая шаблон взаимодействия Teams для вызова и чата.

Если вы используете компоненты пользовательского интерфейса для обеспечения взаимодействия Teams, начните с использования примеров библиотеки пользовательского интерфейса для создания ключевых элементов интерфейса:

  • Пример лобби. Пример лобби, в котором участник может ждать, чтобы принять участие в вызове.
  • Баннер соответствия требованиям. Пример баннера, показывающего пользователя, если выполняется запись вызова.
  • Тема Teams. Пример темы, которая делает элементы библиотеки пользовательского интерфейса похожими на Microsoft Teams.
  • Общий доступ к изображениям*. Пример конечного пользователя Службы коммуникации Azure может получать изображения, отправленные пользователем Teams.
  • Общий доступ к файлам*. Пример конечного пользователя Службы коммуникации Azure может получать вложения файлов, отправленные пользователем Teams.

Пользовательская настройка

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

В следующей таблице сравниваются составные компоненты и компоненты пользовательского интерфейса для вариантов настройки:

Вариант использования Композиты Компоненты пользовательского интерфейса
Использование тем на основе Fluent X X
Создание макета интерфейса X
Изменение свойств стиля с помощью стилей CSS X
Замена значков X
Изменение макета коллекции участников X
Изменение макета элемента управления вызовами X X
Внедрение моделей данных для изменения метаданных пользователя X X

Наблюдаемость

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

В следующей таблице сравниваются составные компоненты и компоненты пользовательского интерфейса для вариантов использования наблюдаемости:

Вариант использования Композиты Компоненты пользовательского интерфейса
Доступ к состоянию клиента звонка и чата X X
Доступ и обработка событий клиента X X
Доступ и обработка событий пользовательского интерфейса X X

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

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

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

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

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

Поддержка платформы

SDK Windows macOS Ubuntu Linux Android iOS
Пакет SDK пользовательского интерфейса Chrome*, Microsoft Edge Chrome*, Safari** Chrome* Chrome* Chrome* Safari**

* Поддерживается текущая версия Chrome и два предыдущих выпуска.

** Поддерживаются версии Safari версии 13.1 и более поздних версий. Исходящее видео для Safari macOS пока не поддерживается, но поддерживается для iOS. Общий доступ к исходящему экрану поддерживается только в классических iOS.

Специальные возможности

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

Локализация

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

Известные проблемы

  • Библиотека пользовательского интерфейса не поддерживает обновление типа сообщений при редактировании существующих сообщений в настоящее время. Добавление форматирования форматированного текста в существующее сообщение добавит стили html в текстовое содержимое. Так как это не изменяет тип сообщения, он может привести к отображению html-содержимого в виде обычного текста в потоке сообщений.

CallComposite Используйте библиотеку ChatComposite пользовательского интерфейса Службы коммуникации Azure для создания возможностей вызова в приложениях iOS и Android. Используя несколько строк кода, вы можете легко интегрировать весь интерфейс звонка и чата в приложении. Составные элементы в службах коммуникации управляют всем жизненным циклом звонка и чата до завершения звонка и чата.

Варианты использования для вызовов

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

Площадь Случаи использования
Типы вызовов Присоединение к собранию Microsoft Teams
Присоединение к вызову с помощью идентификатора группы
Взаимодействие Teams Присоединение к лобби звонков
Отображение баннера оповещений о транскрибировании и записи
Коллекция участников Отображение удаленных участников в сетке
Предварительная версия видео доступна во время вызова локального пользователя
Сделать аватары по умолчанию доступными при отключении видео
Отображение общего содержимого экрана в коллекции участников
Включение настройки аватара участника
Показать список участников
Настройка вызова Управление устройством микрофона
Управление устройством камеры
Управление устройством динамиков (проводной или Bluetooth)
Создание локальной предварительной версии для пользователя проверка видео
Элементы управления вызовами Отключение и отмена вызова
Включение или отключение видео во время звонка
Завершение вызова
Удержание и возобновление звонка после прерывания звука

Взаимодействие с Teams

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

Схема, показывающая шаблон взаимодействия Teams для вызова и чата.

На следующем рисунке показан пример взаимодействия с пользователем перед добавлением вызывающего объекта на собрание Teams:

Снимок экрана: взаимодействие с пользователем перед добавлением вызывающего объекта в собрание Teams.

Просмотр общего содержимого

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

Темы

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

Android iOS
Снимок экрана, на котором показана тема android для взаимодействия с вызывающим пользователем. Снимок экрана с темами iOS для интерфейса вызывающего абонента.

Размер экрана

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

Режим разделения Режим планшета
Снимок экрана, демонстрирующий представление разделенного экрана. Снимок экрана: режим планшета.

Локализация

Локализация является ключом к созданию продуктов для пользователей по всему миру и которые говорят на разных языках. Библиотека пользовательского интерфейса поддерживает 12 языков: английский, испанский, французский, немецкий, итальянский, японский, корейский, голландский, португальский, русский, турецкий и китайский. Он также поддерживает языки справа налево. Дополнительные сведения см. в разделе "Добавление локализации" в приложение.

Специальные возможности

Специальные возможности — это ключевое внимание библиотек вызовов. Вы можете использовать средство чтения с экрана, чтобы сделать важные объявления о состоянии звонка и обеспечить эффективное участие пользователей с нарушениями зрения при использовании приложения.

Просмотр внедрения данных

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

Анимация GIF, демонстрирующая предварительный интерфейс собрания и присоединение к iOS.

Пропустить экран установки

Библиотека пользовательского интерфейса предоставляет возможность присоединиться к вызову, пропуская экран настройки интерфейса соединения с вызовом. По умолчанию пользователь проходит через экран установки для присоединения к вызову. Здесь пользователь задает конфигурацию вызова, например включение или отключение камеры, включение или отключение микрофона, а также выбор звукового устройства перед присоединением к вызову. На этом экране требуется взаимодействие с пользователем для присоединения к вызову, что может быть ненужным для некоторых пользователей. Поэтому мы предоставляем возможность присоединиться к вызову, пропуская экран установки и предоставляя API конфигурации вызова. Дополнительные сведения см. в разделе "Использование функции пропустить настройку экрана"

Режим только для звука

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

Ориентация

Библиотека пользовательского интерфейса поддерживает настройку ориентации экрана для каждого экрана отдельно перед запуском интерфейса библиотеки. Это позволяет разработчикам приложений настроить фиксированную ориентацию для вызывающего интерфейса, который будет выравнивать ориентацию приложения. Дополнительные сведения о списке поддерживаемых ориентаций для платформы Android и iOS и использования API см. в статье "Использование функции ориентации"

Многозадачность и изображение в рисунке

Библиотека пользовательского интерфейса поддерживает изображение в режиме изображения для экрана вызова. Во время вызова пользователь может нажать кнопку "Назад" на экране вызова, чтобы включить многозадачность, которая вернется к предыдущему экрану. Если функция "Рисунок в рисунке" включена, для вызова будет отображаться система "Рисунок на рисунке". Дополнительные сведения о многозадачности и рисунках для платформы Android и iOS и использовании API см. в статье "Использование рисунка в рисунке"

Поддержка CallKit

Библиотека пользовательского интерфейса поддерживает интеграцию CallKit для обработки взаимодействия с CallKit для вызовов. Дополнительные сведения об интеграции для платформы iOS и использовании API см. в статье "Использование CallKit"

Поддержка одно- и push-уведомлений

Библиотека пользовательского интерфейса поддерживает один к одному вызову VoIP для абонентов по идентификатору связи. Для получения входящего пользовательского интерфейса вызова также поддерживается регистрация для push-уведомлений. Дополнительные сведения об интеграции для платформы Android и iOS и использовании API см. в статье "Как сделать один к одному" и получать push-уведомления

Варианты использования для чата

Внимание

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

Предварительные версии API и пакеты SDK предоставляются без соглашения об уровне обслуживания. Рекомендуется не использовать их для рабочих нагрузок. Некоторые функции могут не поддерживаться или могут иметь ограниченные возможности.

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

Площадь Случаи использования
Типы чатов Присоединение к потоку чата Служб коммуникации Azure
Действия чата Отправка сообщения чата
Получение сообщения чата
События чата Отображение индикаторов ввода
Отображение квитанции для чтения
Отображение при добавлении или удалении участника
Отображение изменений в заголовке чата

Гибкость

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

В представлении навигации В модальном представлении
Изображение, отображающее интерфейс чата в iOS в представлении навигации. Изображение, показывающее взаимодействие чата в iOS в модальном представлении.

Поддерживаемые удостоверения

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

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

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

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

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

Поддержка платформы

Платформа Версии
iOS iOS 14 и более поздних версий
Android API 21 и более поздних версий

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

При устранении неполадок для голосовых или видеозвонков вам может потребоваться предоставить callID. Этот идентификатор используется для идентификации вызовов служб коммуникации.

Этот callID можно получить с помощью панели действий в нижней части экрана вызова; вы видите кнопку с многоточием; После того как пользователь выполнит действие касания, параметр "Поделиться диагностика сведениями"; пользователь может предоставить общий доступ к диагностика сведениям, необходимым для отслеживания любых проблем в группе поддержки.

Программный доступ к CallID см. в разделе "Как получить сведения отладки программным способом".

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

Экран вызова Меню сведений о диагностике Общий доступ к CallID
Снимок экрана: экран вызова во время вызова. Снимок экрана: экран вызова с расположением параметров диагностики. Снимок экрана: общий идентификатор вызова с Contoso.