Partilhar via


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:

iniciar conversações

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:

continuar conversações

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 , entityIde channelId quando o subEntityIdseparador 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

Confira também