Trabalhar com Ações Universais para Cartões Adaptáveis
As Ações Universais para Cartões Ajustáveis proporcionam uma forma de implementar cenários baseados em Cartões Ajustáveis para o Teams e o Outlook. Este documento abrange os seguintes tópicos:
- Esquema usado em Ações Universais para Cartões Adaptáveis
- Modelo de atualização
-
adaptiveCard/action
atividade de invocação - Compatibilidade com versões anteriores
Guia de início rápido para usar Ações Universais para Cartões Adaptáveis no Teams
Substitua todas as instâncias de
Action.Submit
porAction.Execute
para atualizar um cenário existente no Teams.Adicione uma cláusula
refresh
ao seu Cartão Adaptável, se você desejar usar o modelo de atualização automática ou se seu cenário exigir Exibições Específicas do Usuário.Observação
Especifique a
userIds
propriedade para identificar os utilizadores que recebem atualizações automáticas.Manipule solicitações de invocação
adaptiveCard/action
em seu bot.Use o contexto da solicitação de invocação para responder com cartões criados para um usuário.
Observação
Sempre que um bot retorna um novo cartão como resultado do processamento de um
Action.Execute
, a resposta deve estar de acordo com o formato de resposta.
Esquema de Ações Universais para Cartões Adaptáveis
As Ações Universais para Cartões Ajustáveis são introduzidas na versão 1.5 do esquema cartões ajustáveis. Para utilizar o Cartão Adaptável de forma eficaz, a version
propriedade do seu Cartão Ajustável tem de ser definida como 1,5.
Observação
Definir a propriedade como 1,5 torna o version
seu Cartão Ajustável incompatível com clientes mais antigos das plataformas ou aplicações, como o Outlook e o Teams, uma vez que não suportam as Ações Universais para Cartões Ajustáveis.
Se definir a versão card para menos de 1,5 e utilizar ambos ou ambos, refresh
a propriedade e Action.Execute
, acontece o seguinte:
Cliente | Comportamento |
---|---|
Teams | Seu cartão para de funcionar. O cartão não é atualizado e Action.Execute não é composto consoante a versão do cliente do Teams. Para garantir a compatibilidade máxima no Teams, defina Action.Execute com um Action.Submit na propriedade de fallback. |
Para obter mais informações sobre como dar suporte a clientes mais antigos, consulte compatibilidade com versões anteriores.
Action.Execute
Ao criar Cartões Adaptáveis, substitua Action.Submit
e Action.Http
por Action.Execute
. O esquema para Action.Execute
é semelhante ao de Action.Submit
.
Para obter mais informações, consulte o esquema e as propriedades Action.Execute.
Agora, você pode usar o modelo de atualização para permitir que Cartões Adaptáveis sejam atualizados automaticamente.
Modelo de atualização
Para atualizar automaticamente seu Cartão Adaptável, defina sua propriedade refresh
, que insere uma ação do tipo Action.Execute
e uma matriz userIds
.
Para obter mais informações, consulte atualizar esquema e propriedades.
IDs de usuário na atualização
Estes são os recursos de UserIds na atualização:
UserIds é uma matriz de MRIs de usuários, que faz parte da propriedade
refresh
em Cartões Adaptáveis.Se a
userIds
propriedade da lista for especificada comouserIds: []
na secção de atualização do card, o card não é atualizado automaticamente. Em vez disso, é apresentada uma opção Atualizar Cartão ao utilizador no menu de pontos triplos no cliente Web ou no ambiente de trabalho do Teams e no menu de contexto de imprensa longa no Teams mobile, ou seja, Android ou iOS para atualizar manualmente a card. Em alternativa, pode optar por ignoraruserIds
completamente a propriedade de atualização caso o cenário envolva <=60 membros em chats ou canais de grupo do Teams. O cliente do Teams invoca automaticamente chamadas de atualização para todos os utilizadores se o grupo ou canal tiver <=60 utilizadores.A propriedade userIds é adicionada porque os canais no Teams podem incluir um número grande de membros. Se todos os membros estão exibindo o canal ao mesmo tempo, uma atualização automática incondicional resultará em muitas chamadas simultâneas para o bot. A propriedade
userIds
deve sempre ser incluída para identificar quais usuários devem obter uma atualização automática com um máximo de 60 (sessenta) MRIs de usuário.Pode obter as MRIs de utilizador do membro da conversação do Teams. Para obter mais informações sobre como adicionar na lista userIds na secção de atualização do Cartão Ajustável, veja Obter lista ou perfil de utilizador.
Pode obter a ressonância magnética do utilizador para conversas pessoais, conversas de grupo ou canais com o seguinte exemplo:
Usando TurnContext
userMRI= turnContext.Activity.From.Id
Usando o método GetMemberAsync
var member = await TeamsInfo.GetMemberAsync(turnContext, turnContext.Activity.From.Id, cancellationToken);var userMRI = member.Id;
- Exemplo de MRI de usuário do Teams é
29:1bSnHZ7Js2STWrgk6ScEErLk1Lp2zQuD5H2qQ960rtvstKp8tKLl-3r8b6DoW0QxZimuTxk_kupZ1DBMpvIQQUAZL-PNj0EORDvRZXy8kvWk
Observação
A propriedade userIds
é ignorada no Outlook e a propriedade refresh
é sempre ativada automaticamente. Não há nenhum problema de escala no Outlook porque os usuários exibem o cartão em momentos diferentes.
A próxima etapa é usar a atividade de inovação adaptiveCard/action
para entender qual solicitação deve ser feita depois que Action.Execute
é executado.
adaptiveCard/action
atividade de invocação
Quando Action.Execute
é executado no cliente, um novo tipo de Atividade de invocação adaptiveCard/action
é realizada no bot.
Para obter mais informações, consulte formato da solicitação e propriedades de uma atividade de invocaçãoadaptiveCard/action
típica .
Para obter mais informações, consulte formato de resposta e propriedade de uma atividade de invocação típica adaptiveCard/action
com tipos de resposta com suporte.
Em seguida, você pode aplicar a compatibilidade com versões anteriores a clientes mais antigos em diferentes plataformas e tornar seu Cartão Adaptável compatível.
Compatibilidade com versões anteriores
As Ações Universais para Cartões Adaptáveis permitem definir propriedades que habilitam a compatibilidade com versões anteriores do Outlook e do Teams.
Teams
Para garantir a compatibilidade com versões anteriores do Teams nos Cartões Adaptáveis, você deve incluir a propriedade fallback
e definir seu valor como Action.Submit
. Além disso, o código do bot deve processar Action.Execute
e Action.Submit
.
Para obter mais informações, consulte compatibilidade com versões anteriores no Teams.
Exemplos de código
Nome do exemplo | Descrição | .NET | Node.js | Manifesto |
---|---|---|---|---|
Bot de refeições do Teams | Este exemplo mostra um bot que aceita a encomenda de alimentos com Cartões Ajustáveis. | Exibir | NA | NA |
Cartões Adaptáveis de Fluxos de Trabalho Sequenciais | Este exemplo demonstra a implementação de Fluxos de Trabalho Sequenciais, Vistas Específicas do Utilizador e Cartões Ajustáveis atuais em bots. | View | View | Exibir |