Библиотека пользовательского интерфейса — варианты использования
Используйте компоненты и составные элементы в библиотеке пользовательского интерфейса Службы коммуникации 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. Пример темы, которая делает элементы библиотеки пользовательского интерфейса похожими на 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. Удаленный участник может использовать жесты растяжения и сжатия для увеличения или увеличения общего содержимого в вызове.
Темы
Вы можете использовать составной вызов библиотеки пользовательского интерфейса для iOS и Android, чтобы создать настраиваемую тему интерфейса вызывающего объекта. Чтобы создать интерфейс платформы, передайте набор темовых цветов, как показано в следующей таблице. Дополнительные сведения см. в разделе "Создание темы".
Android | iOS |
---|---|
Размер экрана
Вы можете адаптировать составный вызов Службы коммуникации Azure, чтобы адаптироваться к размерам экрана от 5 дюймов до размера планшета. Используйте режим разделения и режим планшета в составном вызове, чтобы получить макет списка динамических участников, обеспечить ясность в представлении и сосредоточиться на беседе.
Режим разделения | Режим планшета |
---|---|
Локализация
Локализация является ключом к созданию продуктов для пользователей по всему миру и которые говорят на разных языках. Библиотека пользовательского интерфейса поддерживает 12 языков: английский, испанский, французский, немецкий, итальянский, японский, корейский, голландский, португальский, русский, турецкий и китайский. Он также поддерживает языки справа налево. Дополнительные сведения см. в разделе "Добавление локализации" в приложение.
Специальные возможности
Специальные возможности — это ключевое внимание библиотек вызовов. Вы можете использовать средство чтения с экрана, чтобы сделать важные объявления о состоянии звонка и обеспечить эффективное участие пользователей с нарушениями зрения при использовании приложения.
Просмотр внедрения данных
Используйте библиотеку пользовательского интерфейса для мобильных собственных платформ, чтобы предоставить локальным и удаленным участникам возможность настроить способ отображения в качестве пользователей в вызове. Локальный участник может выбрать локальный аватар, пользовательское отображаемое имя, название навигации и подзаголовок на экране установки при запуске вызова. Удаленный пользователь может создать настраиваемый аватар при присоединении к собранию. Дополнительные сведения см. в разделе "Настройка предварительного представления собрания".
Пропустить экран установки
Библиотека пользовательского интерфейса предоставляет возможность присоединиться к вызову, пропуская экран настройки интерфейса соединения с вызовом. По умолчанию пользователь проходит через экран установки для присоединения к вызову. Здесь пользователь задает конфигурацию вызова, например включение или отключение камеры, включение или отключение микрофона, а также выбор звукового устройства перед присоединением к вызову. На этом экране требуется взаимодействие с пользователем для присоединения к вызову, что может быть ненужным для некоторых пользователей. Поэтому мы предоставляем возможность присоединиться к вызову, пропуская экран установки и предоставляя 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
настраивает себя и гарантирует, что пользователь имеет простой интерфейс.
В представлении навигации | В модальном представлении |
---|---|
Поддерживаемые удостоверения
Для инициализации составного и проверки подлинности в службе пользователь должен иметь удостоверение Службы коммуникации Azure. Дополнительные сведения см. в статье "Проверка подлинности для Службы коммуникации Azure и краткого руководства. Создание маркеров доступа и управление ими".
Рекомендуемая архитектура
Инициализация составного с помощью маркера доступа Службы коммуникации Azure. Важно получить маркеры доступа из Службы коммуникации Azure с помощью доверенной службы, которой вы управляете. Дополнительные сведения см. в кратком руководстве по созданию маркеров доступа и управлению ими и руководстве по доверенным службам.
Клиентские библиотеки звонков и чатов должны иметь контекст для вызова, к который они присоединяются. Как и маркеры доступа пользователей, распространяйте контекст клиентам с помощью собственной доверенной службы. В следующей таблице перечислены функции инициализации и управления ресурсами, необходимые для добавления контекста в клиентную библиотеку:
Обязанности Компании Contoso | Обязанности библиотеки пользовательского интерфейса |
---|---|
Предоставление маркера доступа из Azure | Передайте предоставленный маркер доступа для инициализации компонентов |
Предоставление функции обновления | Обновление маркера доступа с помощью функции, предоставленной разработчиком |
Получение и передача сведений о присоединении для звонка или чата | Передача сведений о звонке и чате для инициализации компонентов. |
Получение и передача сведений о пользователях для любой пользовательской модели данных | Передача пользовательской модели данных компонентам для отрисовки |
Поддержка платформы
Платформа | Версии |
---|---|
iOS | iOS 14 и более поздних версий |
Android | API 21 и более поздних версий |
Руководство по устранению неполадок
При устранении неполадок для голосовых или видеозвонков вам может потребоваться предоставить callID. Этот идентификатор используется для идентификации вызовов служб коммуникации.
Этот callID можно получить с помощью панели действий в нижней части экрана вызова; вы видите кнопку с многоточием; После того как пользователь выполнит действие касания, параметр "Поделиться диагностика сведениями"; пользователь может предоставить общий доступ к диагностика сведениям, необходимым для отслеживания любых проблем в группе поддержки.
Программный доступ к CallID см. в разделе "Как получить сведения отладки программным способом".
Дополнительные сведения об устранении неполадок см. на странице "Устранение неполадок в Службы коммуникации Azure".
Экран вызова | Меню сведений о диагностике | Общий доступ к CallID |
---|---|---|