Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Integrare le chiamate video e la condivisione dello schermo nel desktop personalizzato per agenti utilizzando Amazon Connect Streams JS
Questo argomento è destinato agli sviluppatori. Per i desktop personalizzati per agenti, devi apportare delle modifiche per supportare le chiamate video e la condivisione dello schermo. Di seguito sono riportati i passaggi di alto livello.
Nota
Se incorpori il CCP direttamente nella tua applicazione agente personalizzata, assicurati che allowFramedVideoCall sia impostato su true quando avvii il CCP utilizzando Amazon Connect Streams JS
-
Usa Amazon Connect Streams JS
per verificare se il contatto in arrivo è un contatto WebRTC. Usa il sottotipo di contatto "connect:WebRTC"come visualizzato nel codice di esempio seguente:contact.getContactSubtype() === "connect:WebRTC" -
Puoi recuperare il nome visualizzato del cliente utilizzando il campo del nome in
contact contact.getName().
Aggiungere il supporto per il video
Completa i seguenti passaggi per aggiungere il supporto per la gestione del video quando i tuoi clienti lo hanno abilitato.
-
Per verificare se un contatto dispone di funzionalità video:
// 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() -
Per verificare se l'agente dispone dell'autorizzazione video per gestire le videochiamate:
agent.getPermissions().includes('videoContact'); -
Per accettare una videochiamata, il contatto deve disporre della funzionalità video e l'agente deve disporre dell'autorizzazione video.
function shouldRenderVideoUI() { return contact.getContactSubtype() === "connect:WebRTC" && contact.hasVideoRTCCapabilities() && agent.getPermissions().includes('videoContact'); } -
Per partecipare a una sessione video, chiama
getVideoConnectionInfo:if (shouldRenderVideoUI()) { const response = await contact.getAgentConnection().getVideoConnectionInfo(); } -
Per creare un'interfaccia utente video e partecipare a una sessione di videoconferenza, consulta:
-
Amazon Chime SDK per JavaScript
on GitHub -
Amazon Chime Libreria di componenti SDK React
su GitHub
-
-
Per semplicità, i seguenti frammenti di codice utilizzano esempi tratti dalla libreria Amazon Chime SDK React Components.
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(); } } -
Per eseguire il rendering della griglia video, utilizza la VideoTileGrid
libreria Amazon Chime SDK React Components o personalizza il comportamento dell'interfaccia utente utilizzando. RemoteVideoTileProvider -
Per eseguire il rendering di un'anteprima video, puoi utilizzare VideoPreview
i CameraSelection componenti. Per scegliere o modificare il video di una videocamera, puoi utilizzare meetingManager.selectVideoInputDeviceomeetingManager.startVideoInputse la riunione è in corso.const meetingManager = useMeetingManager(); const { isVideoEnabled } = useLocalVideo(); if (isVideoEnabled) { await meetingManager.startVideoInputDevice(current); } else { meetingManager.selectVideoInputDevice(current); } -
Per implementare la sfocatura dello sfondo, consulta useBackgroundBlur
. -
Per un esempio di codice su come creare un'esperienza video personalizzata, guarda questo esempio dell'SDK di Amazon Chime : demo della conferenza React di Amazon Chime
.
Aggiungere il supporto per la condivisione dello schermo
Nota
Se utilizzi il out-of-box CCP direttamente nella tua applicazione agente personalizzata, assicurati che allowFramedScreenSharing sia allowFramedScreenSharingPopUp impostato su true quando avvii il CCP utilizzando Amazon Connect
Impostando allowFramedScreenSharing su true il pulsante di condivisione dello schermo viene abilitato su un solo CCP in una finestra o in una scheda. Impostando allowFramedScreenSharingPopUp su true l’app per la condivisione dello schermo viene avviata in una finestra separata quando l’agente sceglie il pulsante di condivisione dello schermo. Per ulteriori dettagli, consulta la documentazione di Amazon Connect Streams JS
Completa i seguenti passaggi per abilitare la condivisione dello schermo sui desktop personalizzati per agenti.
-
Verifica se un contatto dispone di funzionalità di condivisione dello schermo.
// 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() -
Verifica se l’agente dispone dell’autorizzazione video.
agent.getPermissions().includes('videoContact'); -
Verifica se l’agente può avviare una sessione di condivisione dello schermo per il contatto idoneo.
fun canStartScreenSharingSession() { return contactgetContactSubtype() === "connect:WebRTC" && contact.hasScreenShareCapability() && agent.getPermissions().includes('videoContact'); } -
Chiama
startScreenSharingper avviare la sessione di condivisione dello schermo. In questo modoScreenSharingActivatedviene aggiunto al contatto e quindi puoi cercare tale valore nel record del contatto.contact.startScreenSharing(); -
Chiama
getVideoConnectionInfoper partecipare alla sessione. Puoi saltare il passaggio se l’agente ha effettuato l’accesso alla sessione video per gestire il video.if (canStartScreenSharingSession) { contact.startScreenSharing(); const response = await contact.getAgentConnection().getVideoConnectionInfo(); } -
Effettua l’accesso alla sessione utilizzando la libreria React Components dell’SDK di Amazon Chime. Per un frammento di codice, consulta il passaggio 6 in Aggiungere il supporto per il video.
-
Usa lo stesso VideoTileGrid
di Amazon Chime SDK React Components per eseguire il rendering del riquadro video di condivisione dello schermo. Per ulteriori informazioni, consulta useContentShareState and Controls useContentShare -
Chiama
stopScreenSharingquando termina la sessione.contact.stopScreenSharing(); -
Puoi ricevere eventi per l’attività di condivisione dello schermo effettuando la sottoscrizione ai seguenti callback:
initScreenSharingListeners() { this.contact.onScreenSharingStarted(() => { // Screen sharing session started }); this.contact.onScreenSharingStopped(() => { // Screen sharing session ended }); this.contact.onScreenSharingError((error) => { // Screen sharing session error occurred }); } }