Как создать приложение для Microsoft Teams?

Завершено

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

Разработка приложения

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

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

  • Расширения для сообщений — команды поиска полезны тем, что позволяют пользователям выполнять поиск во внешней системе и затем делиться его результатами в Teams. С помощью карточек и действий карточек вы можете применять расширенное форматирование к результатам поиска и разрешить пользователям выполнять действия с этими результатами, не выходя из клиента Microsoft Teams.
  • Расширения для сообщений — команды действий отлично подходят для сбора информации, поступающей от ваших пользователей, в одном месте и затем отправки этой информации в ваши веб-службы. Они очень хорошо работают в тех сценариях, где необходимо создать запись того или иного типа или в рамках одной транзакции собрать несколько блоков информации.
  • Вкладки — в группах и каналах обеспечивают общий холст для совместной работы нескольких пользователей. Их следует добавить в ваше приложение, если у вас есть информация или службы, применимые к группе пользователей. Следует учитывать, что все работают на одном и том же холсте, и ваша страница не должна предусматривать отслеживание состояния, действуя как одностраничное приложение.
  • Вкладки — в персональных приложениях позволяют создавать персональные функции, аналогичные работе в Интернете. Как правило, они больше всего подходят для сценариев "центричной" концепции —"элементы, назначенные мне" или "созданные мной элементы". Кроме того, они могут быть полезны в статичном контексте, например для страниц со справочной или базовой информацией.
  • Боты для бесед — в группах и каналах помогают добавлять в беседу дополнительную информацию, полезную для всех (или большинства) участников. С их помощью можно быстро добавить информацию по теме беседы или ответить на запросы пользователей ("Привет, бот, создай нам опрос, куда пойти обедать"). Как правило, их не стоит использовать для многоходовых бесед — воспользуйтесь модулем задач для сбора информации или переместите беседу в чат один-на-один, затем вставьте результаты обратно в первоначальную беседу.
  • Боты для бесед — в персональных приложениях могут позволять создавать чрезвычайно разнообразные рабочие нагрузки. Боты вопросов и ответов, боты, запускающие рабочие процессы в других системах, боты, которые рассказывают анекдоты, боты, которые делают заметки, — вот лишь несколько примеров. Однако следует подумать о том, является ли интерфейс на основе беседы лучшим способом представить функциональность вашего приложения.
  • Веб-перехватчики и соединители позволяют пользователям подписываться на канал на уведомления из внешней системы.
  • Приложения для собраний поддерживают совместную работу, взаимодействие, информированное общение и общие отзывы. Приложение для собраний может предоставлять пользовательский интерфейс для каждого этапа жизненного цикла собрания. Жизненный цикл собрания включает в себя взаимодействие перед собранием, во время собрания и после собрания, в зависимости от статуса участника. В этом модуле вы узнаете, как создавать настраиваемые приложения, применяемые в собраниях Microsoft Teams.

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

Подготовка среды разработки

Вам потребуется как минимум доступ к организации Microsoft 365 с разрешенным добавлением пользовательских приложений. Если у вас нет такого доступа, вы можете получить организацию для целей разработки, зарегистрировавшись в программе для разработчиков Microsoft 365. Вам также нужно будет определиться с тем, как вы будете развертывать и размещать свои веб-службы. Для локальной разработки вы сможете использовать сервис туннелирования, например ngrok, но в рабочей среде будет необходимо развертывание ваших служб, вероятно, с помощью поставщика облачной службы, такого как Azure. Вы можете воспользоваться локальной инфраструктурой для размещения своих веб-служб, но они должны быть общедоступными (не за брандмауэром).

Выбор среды разработки

При построении приложений Microsoft Teams у разработчиков есть несколько вариантов.

Основанный на работе сообщества генератор Yeoman для Microsoft Teams (его также называют "yo teams") выполняет скаффолдинг проекта после того, как разработчик ответит на несколько вопросов о типе создаваемого им приложения Microsoft Teams. Узнать подробнее о генераторе Yeoman для Microsoft Teams можно здесь: Создание вашего первого приложения для Microsoft Teams.

Набор средств Microsoft Teams Toolkit позволяет создавать пользовательские приложения Teams непосредственно в среде Visual Studio Code. Этот набор средств предоставит вам пошаговые инструкции в процессе создания приложения, а также все необходимое для сборки, отладки и запуска вашего приложения Teams. Узнать подробнее о наборе средств Microsoft Teams Toolkit для Visual Studio Code можно здесь: Сборка приложений с помощью Microsoft Teams Toolkit и Visual Studio.

Сборка веб-служб

Если вы уже определились с тем, как пользователи будут взаимодействовать с вашим приложением, пора приступить к сборке веб-служб, на основе которых оно будет работать. Чтобы вам было проще начать работу, в зависимости от создаваемого приложения Teams предоставит вам различные SDK, шаблоны, образцы кода и генераторы, в том числе перечисленные ниже.

  • Пакеты SDK Bot Framework для создания расширений для сообщений и ботов для бесед
  • Клиентский SDK Teams JavaScript для вкладок и других страниц с содержимым
  • Генератор Yeoman для сборки приложений в Node.js
  • Набор элементов управления с открытым кодом для ваших страниц с веб-содержимым, Fluent UI
  • Готовые шаблоны приложений

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

Необходимо помнить о том, что вам потребуется обеспечить хостинг своих веб-служб таким образом, чтобы они были общедоступны в Интернете (как правило, это делается с помощью поставщика облачной службы, например Microsoft Azure), и передавать содержимое через HTTPS.

Создание пакета приложения

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

Создавая приложение, вы можете выбрать между ручным способом и использованием App Studio — приложения внутри Teams, помогающего создавать приложения Teams. В App Studio вы найдете пошаговые инструкции по созданию манифеста вашего приложения и помощь с регистрацией своего бота в Bot Framework. Кроме того, в нем есть конструктор карточек для визуального создания карточек и действий карточек и отправки примеров самому себе в Teams.

Распространение приложения

В зависимости от вашей целевой аудитории вы можете выбрать один из трех способов распространения приложения Microsoft Teams.

  • Непосредственная отправка вашего пакета приложения. Вы можете воспользоваться вариантом непосредственной отправки своего пакета приложения пользователям. Этот вариант подходит для тех случаев, когда приложение рассчитано на ограниченную пользовательскую аудиторию (несколько команд или пользователей), а также для разработки и тестирования приложения.
  • Публикация приложения в каталоге приложений организации. Если ваше приложение предназначено для конкретной организации (или если вы настроили его для выполнения конкретных задач в организации), администратор клиента может добавить его в каталог приложений организации. В результате оно станет доступно для установки всем пользователям в организации (однако не будет устанавливаться автоматически).
  • Публикация приложения в общедоступном магазине приложений. Если ваше приложение адресовано всем пользователям Teams повсеместно, вы можете отправить его для публикации в общедоступном магазине приложений. Вам необходимо будет пройти через строгий процесс контроля, поэтому убедитесь, что вы расставили все точки над "i".

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

Установка приложений

Установка приложений в Microsoft Teams является контекстно зависимой. Установка персональной части вашего приложения (элементов, адресованных отдельным пользователям) не влечет за собой установку вашего приложения в какой-либо конкретной команде и наоборот. Установка вашего приложения в конкретной команде не влечет за собой его установку в каких-либо других командах. Это означает, что вам никогда не следует предполагать, что ваше приложение установлено во всех возможных контекстах: скорее всего, это не так. Администраторы ИТ в организации полностью контролируют, кто может устанавливать приложения, какие именно приложения и в каком контексте, поэтому не стоит думать, что тот пользователь, с которым ваше приложение взаимодействует в данный момент, имеет разрешение на его установку в другом контексте.

Установка приложения непосредственно из пакета приложения, как правило, подвержена строгим ограничениям. Поэтому, если вы решите распространять свое приложение путем непосредственной отправки пакета приложения, вам нужно будет убедиться в том, что пользователи смогут его установить.