Criar abas para conversação
As subentidades de conversação fornecem uma forma de permitir que os utilizadores tenham conversações sobre subentidades no seu separador. Como uma tarefa específica, um paciente e uma oportunidade de vendas, em vez de discutir o separador completo, também conhecido como entidade. Um canal tradicional ou um separador configurável permite que o utilizador tenha uma conversa sobre um separador, mas o utilizador necessita de uma conversação mais focada. O requisito para uma conversação mais focada pode surgir, se houver demasiado conteúdo para ter um debate centralizado ou porque o conteúdo mudou ao longo do tempo, tornando a conversa irrelevante para o conteúdo mostrado. As subentidades de conversação proporcionam uma experiência de conversação muito mais focada para separadores dinâmicos.
As subentidades de conversação só são suportadas em canais. Podem ser utilizadas a partir de um separador pessoal ou estático para criar ou continuar conversações em separadores que já estão afixados a um canal. O separador estático é útil se quiser fornecer uma localização para um utilizador ver e aceder a conversações que ocorrem em vários canais.
Pré-requisitos
Para suportar subentidades de conversação, a sua aplicação Web de separador tem de ter a capacidade de armazenar um mapeamento entre conversações de subentidades ↔ numa base de dados de back-end. O conversationId
é fornecido, mas tem de armazená-lo conversationId
e devolvê-lo ao Teams para que os utilizadores continuem a conversação.
Iniciar uma nova conversação
Para iniciar uma nova conversação, utilize a openConversation()
função . Iniciar e continuar uma conversação são processados por este método. As entradas para a função mudam consoante a ação que pretende efetuar, do ponto de vista do utilizador, esta ação abre o painel de conversação à direita do ecrã, quer para iniciar uma conversação, quer para continuar uma conversação.
microsoftTeams.conversations.openConversation(openConversationRequest);
openConversation utiliza as seguintes entradas para iniciar uma conversa num canal:
- subEntityId: o ID da sua subentidade específica. Por exemplo, tarefa-123.
- entityId: o ID da instância de separador quando foi criada. O ID é importante para fazer referência à mesma instância de separador.
-
channelId: o canal no qual reside a instância de separador.
Observação
O channelId é opcional para separadores de canal. No entanto, recomenda-se que mantenha a sua implementação em todos os canais e separadores estáticos da mesma forma.
- título: o título que é apresentado ao utilizador no painel de chat.
A maioria destes valores também pode ser obtida a app.getContext()
partir da API (microsoftTeams.getContext()
no TeamsJS v1). Para obter mais informações, consulte a interface PageInfo.
microsoftTeams.conversations.openConversation({“subEntityId”:”task-1”, “entityId”: “tabInstanceId-1”, “channelId”: ”19:baa6e71f65b948d189bf5c892baa8e5a@thread.skype”, “title”: "Task Title”});
A imagem seguinte mostra o painel de conversação:
Se o utilizador iniciar uma conversação, é importante ouvir a chamada de retorno desse evento para obter e guardar o conversationId:
microsoftTeams.conversations.openConversation({
...,
onStartConversation: (conversationResponse) => {
// console.log(conversationResponse)
},
});
O conversationResponse
objeto contém informações relacionadas com a conversação iniciada. Recomenda-se que guarde todas as propriedades deste objeto de resposta para utilização posterior.
Continuar uma conversação
Após o início de uma conversação, as chamadas subsequentes a openConversation()
exigir também fornecem as mesmas entradas que no início de uma nova conversação, mas também incluem o conversationId. O painel de conversação é aberto para os utilizadores com a conversação adequada em vista. Os utilizadores podem ver mensagens novas ou recebidas em tempo real.
A imagem seguinte mostra o painel de conversação com a conversação adequada:
Melhorar uma conversação
É importante que o seu separador inclua ligações avançadas para a sua subentidade. Por exemplo, o utilizador que seleciona a ligação avançada do separador chiclet na conversação do canal. O comportamento esperado é receber a ligação avançada, abrir essa subentidade e, em seguida, abrir o painel de conversação dessa subentidade.
Para suportar subentidades de conversação a partir do seu separador pessoal ou estático, não tem de alterar nada na sua implementação. Só suportamos conversações de início ou continuação a partir de separadores de canal que já estejam afixados. Suportar separadores estáticos permite-lhe fornecer uma única localização para os seus utilizadores interagirem com todas as suas subentidades. É importante que guarde o , entityId
e channelId
quando o subEntityId
separador for originalmente criado num canal para ter as propriedades certas ao abrir a vista de conversação num separador estático.
Fechar uma conversação
Pode fechar manualmente a vista de conversação ao chamar a closeConversation()
função .
microsoftTeams.conversations.closeConversation();
Também pode escutar um evento quando os utilizadores selecionarem Fechar (X) na vista de conversação.
microsoftTeams.conversations.openConversation({
...,
onCloseConversation: (conversationResponse) => {
// console.log(conversationResponse)
},
});
Exemplo de código
Nome do exemplo | Descrição | .NET | Node.js | Manifesto |
---|---|---|---|---|
Criar separador Conversação | Aplicação de exemplo do separador Microsoft Teams para demonstrar o separador criar conversação. | View | View | Exibir |