Seleccione sus preferencias de cookies

Usamos cookies esenciales y herramientas similares que son necesarias para proporcionar nuestro sitio y nuestros servicios. Usamos cookies de rendimiento para recopilar estadísticas anónimas para que podamos entender cómo los clientes usan nuestro sitio y hacer mejoras. Las cookies esenciales no se pueden desactivar, pero puede hacer clic en “Personalizar” o “Rechazar” para rechazar las cookies de rendimiento.

Si está de acuerdo, AWS y los terceros aprobados también utilizarán cookies para proporcionar características útiles del sitio, recordar sus preferencias y mostrar contenido relevante, incluida publicidad relevante. Para aceptar o rechazar todas las cookies no esenciales, haga clic en “Aceptar” o “Rechazar”. Para elegir opciones más detalladas, haga clic en “Personalizar”.

Integración de las videollamadas y la pantalla compartida en el escritorio personalizado del agente mediante Amazon Connect Streams JS - Amazon Connect

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Integración de las videollamadas y la pantalla compartida en el escritorio personalizado del agente mediante Amazon Connect Streams JS

Este tema va dirigido a los desarrolladores. Para los escritorios personalizados de los agentes, debe realizar cambios para admitir las videollamadas y la pantalla compartida. Los siguientes son pasos de alto nivel.

nota

Si incrusta el CCP directamente en su aplicación de agente personalizado, asegúrese de que allowFramedVideoCall esté establecido en true cuando inicie el CCP con Amazon Connect Streams JS.

  1. Utilice Amazon Connect Streams JS para comprobar si el contacto entrante es un contacto de WebRTC. Utilice el subtipo de contacto de "connect:WebRTC" tal y como se muestra en el ejemplo siguiente:

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

  2. Puede recuperar el nombre mostrado del cliente utilizando el campo de nombre de contact contact.getName().

Agregación de soporte para video

Complete los siguientes pasos para añadir compatibilidad con la gestión de video cuando sus clientes la tengan activada.

  1. Para comprobar si un contacto tiene capacidad 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 comprobar si el agente tiene permiso de vídeo para gestionar una videollamada:

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

  3. Para aceptar una videollamada, el contacto debe poder recibir vídeo y el agente debe tener permiso para ver vídeo.

    function shouldRenderVideoUI() { return contact.getContactSubtype() === "connect:WebRTC" && contact.hasVideoRTCCapabilities() && agent.getPermissions().includes('videoContact'); }
  4. Para unirse a una sesión de vídeo, llame a getVideoConnectionInfo:

    if (shouldRenderVideoUI()) { const response = await contact.getAgentConnection().getVideoConnectionInfo(); }
  5. Para crear una interfaz de usuario de vídeo y unirse a una sesión de videoconferencia, consulte:

  6. Para simplificar, en los siguientes fragmentos de código se utilizan ejemplos de la biblioteca de componentes de React del Amazon Chime SDK.

    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 la cuadrícula de vídeo, usa la biblioteca de componentes VideoTileGridde React del Amazon Chime SDK o personaliza el comportamiento de la interfaz de usuario mediante. RemoteVideoTileProvider

  8. Para renderizar una vista previa de vídeo, puedes usar CameraSelectionlos componentes VideoPreviewy. Para elegir o cambiar el vídeo de una cámara, puede utilizar meetingManager.selectVideoInputDevice o meetingManager.startVideoInput si la reunión está en curso.

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

  10. Para ver un ejemplo de código sobre cómo crear una experiencia de vídeo personalizada, consulte este ejemplo del SDK de Amazon Chime : demostración de Amazon Chime React Meeting.

Agregación de compatibilidad con la pantalla compartida

nota

Si usa el out-of-box CCP directamente en su aplicación de agente personalizado, asegúrese de que allowFramedScreenSharingPopUp estén allowFramedScreenSharing configurados en true cuando inicie el CCP con Amazon Connect Streams JS.

Si allowFramedScreenSharing se establece en true, se habilita el botón para compartir pantalla solo en un CCP de una ventana o pestaña. Si allowFramedScreenSharingPopUp se establece en true, se inicia la aplicación para compartir pantalla en una ventana independiente cuando el agente selecciona el botón para compartir pantalla. Para obtener más información, consulte la documentación de Amazon Connect Streams JS.

Complete los siguientes pasos para habilitar la pantalla compartida en los escritorios personalizados de los agentes.

  1. Compruebe si un contacto puede compartir la pantalla.

    // 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. Compruebe si el agente tiene permiso de video.

    agent.getPermissions().includes('videoContact');
  3. Compruebe si el agente puede iniciar una sesión de pantalla compartida para el contacto que cumpla los requisitos.

    fun canStartScreenSharingSession() { return contactgetContactSubtype() === "connect:WebRTC" && contact.hasScreenShareCapability() && agent.getPermissions().includes('videoContact'); }
  4. Llame a startScreenSharing para iniciar la sesión de pantalla compartida. Esto añade ScreenSharingActivated al contacto, lo que le permite buscarlo en el registro de contactos.

    contact.startScreenSharing();
  5. Llame a getVideoConnectionInfo para unirse a la sesión. Puede omitir este paso si el agente se ha unido a la sesión de video para gestionar el video.

    if (canStartScreenSharingSession) { contact.startScreenSharing(); const response = await contact.getAgentConnection().getVideoConnectionInfo(); }
  6. Únase a la sesión mediante React Components Library de Amazon Chime SDK. Para ver un fragmento de código, consulte el paso 6 de Agregación de soporte para video.

  7. Use lo mismo VideoTileGridde los componentes de React del SDK de Amazon Chime para renderizar el mosaico de vídeo para compartir pantalla. Para obtener más información, consulte useContentShareEstado y controles useContentShare

  8. Llame a stopScreenSharing cuando finalice la sesión.

    contact.stopScreenSharing();
  9. Puede recibir eventos para la actividad de pantalla compartida suscribiéndose a las siguientes devoluciones de llamadas:

    initScreenSharingListeners() { this.contact.onScreenSharingStarted(() => { // Screen sharing session started }); this.contact.onScreenSharingStopped(() => { // Screen sharing session ended }); this.contact.onScreenSharingError((error) => { // Screen sharing session error occurred }); } }
PrivacidadTérminos del sitioPreferencias de cookies
© 2025, Amazon Web Services, Inc o sus afiliados. Todos los derechos reservados.