Integre videochamadas e compartilhamento de tela em seu desktop de agente personalizado usando o Amazon Connect Streams JS - Amazon Connect

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Integre videochamadas e compartilhamento de tela em seu desktop de agente personalizado usando o Amazon Connect Streams JS

Este tópico é para desenvolvedores. Para desktops de agentes personalizados, você precisa fazer alterações para oferecer suporte à videochamada e ao compartilhamento de tela. Estas são as etapas de alto nível.

nota

Se você incorporar o CCP diretamente em seu aplicativo de agente personalizado, certifique-se de que allowFramedVideoCall esteja definido como verdadeiro ao iniciar o CCP uso do Amazon Connect Streams JS.

  1. Use o Amazon Connect Streams JS para verificar se o contato recebido é um contato da WebRTC. Use o subtipo de contato "connect:WebRTC" conforme mostrado no seguinte exemplo de código:

    contact.getContactSubtype() === "connect:WebRTC"

  2. Você pode recuperar o nome de exibição do cliente usando o campo de nome em contact contact.getName().

Adicionar suporte para vídeo

Conclua as etapas a seguir para adicionar suporte ao gerenciamento de vídeo quando seus clientes o tiverem ativado.

  1. Para verificar se um contato tem capacidade de vídeo:

    // Return true if any connection has video send capability contact.hasVideoRTCCapabilities() // Return true if the agent connection has video send capability contact.canAgentSendVideo() // Return true if other non-agent connection has video send capability contact.canAgentReceiveVideo()
  2. Para verificar se o atendente tem permissão de vídeo para realizar videochamadas:

    agent.getPermissions().includes('videoContact');

  3. Para aceitar uma videochamada, o contato deve ter capacidade de vídeo e o atendente deve ter permissão de vídeo.

    function shouldRenderVideoUI() { return contact.getContactSubtype() === "connect:WebRTC" && contact.hasVideoRTCCapabilities() && agent.getPermissions().includes('videoContact'); }
  4. Para participar de uma sessão de vídeo, chame getVideoConnectionInfo:

    if (shouldRenderVideoUI()) { const response = await contact.getAgentConnection().getVideoConnectionInfo(); }
  5. Para criar uma interface do usuário de vídeo e participar de uma sessão de videoconferência, consulte:

  6. Para simplificar, os trechos de código a seguir usam exemplos da Biblioteca de Componentes do Amazon Chime SDK React.

    import { MeetingSessionConfiguration } from "amazon-chime-sdk-js"; import { useMeetingStatus, useMeetingManager, MeetingStatus, DeviceLabels, useLocalAudioOutput } from 'amazon-chime-sdk-component-library-react'; const App = () => ( <MeetingProvider> <MyVideoManager /> </MeetingProvider> ); const MyVideoManager = () => { const meetingManager = useMeetingManager(); if (shouldRenderVideoUI()) { const response = await contact.getAgentConnection().getVideoConnectionInfo(); const configuration = new MeetingSessionConfiguration( response.meeting, response.attendee); await meetingManager.join(configuration, { deviceLabels: DeviceLabels.Video }); await meetingManager.start(); } function endContact() { meetingManager.leave(); } }
  7. Para renderizar a grade de vídeo, use o VideoTileGridda Biblioteca de Componentes do Amazon Chime SDK React ou personalize o comportamento da interface do usuário usando RemoteVideoTileProvider.

  8. Para renderizar uma pré-visualização de vídeo, você pode usar VideoPreviewos CameraSelectioncomponentes. Para escolher ou alterar um vídeo da câmera, você pode usar meetingManager.selectVideoInputDevice ou meetingManager.startVideoInput se a reunião estiver em andamento.

    const meetingManager = useMeetingManager(); const { isVideoEnabled } = useLocalVideo(); if (isVideoEnabled) { await meetingManager.startVideoInputDevice(current); } else { meetingManager.selectVideoInputDevice(current); }
  9. Para implementar o desfoque de fundo, consulte useBackgroundBlur.

  10. Para ver um exemplo de código sobre como criar uma experiência de vídeo personalizada, veja este Amazon Chime SDK exemplo: Demonstração do Amazon Chime React Meeting.

Adicionar suporte para compartilhamento de tela

nota

Se você usar o out-of-box CCP diretamente em seu aplicativo de agente personalizado, certifique-se allowFramedScreenSharing de configurá-lo como verdadeiro ao iniciar o CCP uso do Amazon Connect Streams JS. allowFramedScreenSharingPopUp

A configuração allowFramedScreenSharing como true ativa o botão de compartilhamento de tela CCP em apenas uma janela ou guia. allowFramedScreenSharingPopUpDefinir como verdadeiro inicia o aplicativo de compartilhamento de tela em uma janela separada quando o agente escolhe o botão de compartilhamento de tela. Para obter mais detalhes, consulte a documentação JS do Amazon Connect Streams.

Conclua as etapas a seguir para ativar o compartilhamento de tela em seus desktops de agentes personalizados.

  1. Verifique se um contato tem capacidade de compartilhamento de tela.

    // Return true if any connection has screen sharing send capability contact.hasScreenShareCapability() // Return true if the agent connection has screen sharing send capability contact.canAgentSendScreenShare() // Return true if customer connection has screen sharing send capability contact.canCustomerSendScreenShare()
  2. Verifique se o agente tem permissão de vídeo.

    agent.getPermissions().includes('videoContact');
  3. Verifique se o agente pode iniciar uma sessão de compartilhamento de tela para o contato qualificado.

    fun canStartScreenSharingSession() { return contactgetContactSubtype() === "connect:WebRTC" && contact.hasScreenShareCapability() && agent.getPermissions().includes('videoContact'); }
  4. Ligue startScreenSharing para iniciar a sessão de compartilhamento de tela. Isso aumenta ScreenSharingActivated o contato, permitindo que você o pesquise no registro do contato.

    contact.startScreenSharing();
  5. Ligue getVideoConnectionInfo para participar da sessão. Você pode pular a etapa se o agente tiver entrado na sessão de vídeo para lidar com o vídeo.

    if (canStartScreenSharingSession) { contact.startScreenSharing(); const response = await contact.getAgentConnection().getVideoConnectionInfo(); }
  6. Participe da sessão usando a biblioteca de componentes Amazon Chime SDK React. Para obter um trecho de código, consulte a etapa 6 em. Adicionar suporte para vídeo

  7. Use o mesmo VideoTileGriddos componentes SDK React do Amazon Chime para renderizar um bloco de vídeo de compartilhamento de tela. Para obter mais informações, consulte useContentShareEstado e useContentSharecontroles

  8. Ligue stopScreenSharing quando terminar a sessão.

    contact.stopScreenSharing();
  9. Você pode receber eventos para a atividade de compartilhamento de tela assinando os seguintes retornos de chamada:

    initScreenSharingListeners() { this.contact.onScreenSharingStarted(() => { // Screen sharing session started }); this.contact.onScreenSharingStopped(() => { // Screen sharing session ended }); this.contact.onScreenSharingError((error) => { // Screen sharing session error occurred }); } }