Обзор модели универсального действия
Важно!
Подключение новых поставщиков сообщений с действиями с глобальной область временно приостановлено до 30 июня 2024 г. из-за обновления служб. Существующие глобальные поставщики и подключение поставщиков область для организации и тестирования не затрагиваются. Дополнительные сведения см. в разделе Часто задаваемые вопросы о сообщениях с действиями.
Адаптивные карточки — это независимые от платформы фрагменты пользовательского интерфейса, созданные с использованием упрощенного формата JSON, которыми могут совместно делиться приложения и службы. Адаптивные карточки не только адаптируются к внешнего вида хозяина, но и предоставляют широкие возможности взаимодействия.
По мере роста популярности адаптивных карточек различные узлы начали поддерживать различные модели действий, что привело к фрагментации. Чтобы решить эту проблему, команды Teams, Outlook и Адаптивные карточки работали над созданием новой универсальной модели действий бота, совместимой между узлами. Эти усилия привели к следующему:
- Обобщение ботов и Bot Framework как способ реализации сценариев на основе адаптивных карточек для Outlook (сообщения с действиями) и Teams (боты)
Action.Execute
в качестве замены как для (в настоящее время используется в сообщениях с действиями), такAction.Http
иAction.Submit
(в настоящее время используется ботами).
Схема
Важно!
Универсальная модель действий представлена в адаптивной схеме карта версии 1.4 и более поздних версий. Чтобы использовать эти новые возможности, version
свойство адаптивной карточки должно иметь значение 1.4 или выше, как показано в следующих примерах.
Action.Execute
При создании адаптивных карточек для Outlook используйте Action.Execute
вместо Action.Http
. Ниже приведен пример адаптивного карта использования Action.Execute
в полезных данных JSON.
{
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"type": "AdaptiveCard",
"originator":"c9b4352b-a76b-43b9-88ff-80edddaa243b",
"version": "1.4",
"body": [
{
"type": "TextBlock",
"text": "Present a form and submit it back to the originator"
},
{
"type": "Input.Text",
"id": "firstName",
"placeholder": "What is your first name?"
},
{
"type": "Input.Text",
"id": "lastName",
"placeholder": "What is your last name?"
},
{
"type": "ActionSet",
"actions": [
{
"type": "Action.Execute",
"title": "Submit",
"verb": "personalDetailsFormSubmit"
}
]
}
]
}
Свойства
Свойство | Тип | Обязательный | Описание |
---|---|---|---|
type | string |
Да | Должно быть задано значение Action.Execute . |
Глагол | string |
Нет | Удобная строка, которую разработчик может использовать для идентификации действия. |
data | string , object |
Нет | Исходные данные, с которыми будут объединены входные поля. Это, по сути, скрытые свойства. |
заголовок | string |
Нет | Метка для кнопки или ссылки, представляющей это действие. |
iconUrl | uri |
Нет | Необязательный значок, отображаемый в действии в сочетании с заголовком. Поддерживает URI данных в адаптивных карточках версии 1.2+ |
style | ActionStyle |
Нет | Управляет стилем действия, который влияет на то, как действие отображается, произносится и т. д. |
Резервный | <action object> , "drop" |
Нет | Описывает действия, если action.Execute не поддерживается клиентом, отображающим карта. |
Требует | Dictionary<string> |
Нет | Ряд пар "ключ-значение", указывающий на компоненты, необходимые элементу с соответствующей минимальной версией. Если компонент отсутствует или его версия недостаточна, активируется резервный вариант. |
Механизм обновления
Наряду с Action.Execute
этим теперь поддерживается новый механизм обновления, позволяющий создавать адаптивные карточки, которые автоматически обновляются при отображении. Это гарантирует, что пользователи всегда будут видеть актуальные данные. Чтобы разрешить автоматическое обновление адаптивной карточки в Outlook, определите ее refresh
свойство, которое внедряет action
тип Action.Execute
.
Свойство | Тип | Обязательный | Описание |
---|---|---|---|
action | "Action.Execute" |
Да | Должен быть экземпляром действия типа "Action.Execute" . |
userIds | Array<string> |
Да | Массив идентификатора ресурса сообщений (MRI ) пользователей, для которых должно быть включено автоматическое обновление в Teams. Дополнительные сведения о Teams см . в разделе Идентификаторы пользователей в обновлении . Обратите внимание, что userIds свойство игнорируется в Outlook, и refresh свойство всегда автоматически учитывается. |
Пример JSON
{
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"type": "AdaptiveCard",
"originator":"c9b4352b-a76b-43b9-88ff-80edddaa243b",
"version": "1.4",
"refresh": {
"action": {
"type": "Action.Execute",
"title": "Submit",
"verb": "personalDetailsCardRefresh"
},
"userIds": []
},
"body": [
{
"type": "TextBlock",
"text": "Present a form and submit it back to the originator"
},
{
"type": "Input.Text",
"id": "firstName",
"placeholder": "What is your first name?"
},
{
"type": "Input.Text",
"id": "lastName",
"placeholder": "What is your last name?"
},
{
"type": "ActionSet",
"actions": [
{
"type": "Action.Execute",
"title": "Submit",
"verb": "personalDetailsFormSubmit",
"fallback": "Action.Submit"
}
]
}
]
}
Обратная совместимость
Новая Action.Execute
универсальная модель действий является отходом от Action.Http
модели действий, используемой в адаптивной карта версии ниже 1.4, где действия кодируются в адаптивной карточке как явные HTTP-вызовы. Модель Action.Execute позволяет разработчикам реализовывать сценарии, которые работают как в Outlook, так и в Teams. Сценарии сообщений с действиями могут использовать Action.Http
модель или новую Action.Execute
модель, но не оба варианта. Сценарии, использующие универсальную Action.Execute
модель, должны быть реализованы в виде ботов и подписываться на канал Сообщений с действиями Outlook .
Примеры кода
После того как вы изучите документацию, вы можете приступить к работе с некоторыми примерами.