Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Integrieren von Videoanrufen und Bildschirmfreigabe-Funktionen mithilfe von Amazon Connect Streams JS in Ihren benutzerdefinierten Desktop für Kundendienstmitarbeiter
Dieses Thema richtet sich an Entwickler. Bei benutzerdefinierten Desktops für Kundendienstmitarbeiter müssen Sie Änderungen vornehmen, um Videoanrufe und die Bildschirmfreigabe zu unterstützen. Im Folgenden sind allgemeine Schritte hierfür aufgeführt.
Anmerkung
Wenn Sie das CCP direkt in Ihre benutzerdefinierte Kundendienstmitarbeiteranwendung einbetten, stellen Sie sicher, dass allowFramedVideoCall auf „true“ gesetzt ist, wenn Sie das CCP mit Amazon Connect Streams JS
-
Verwenden Sie Amazon Connect Streams JS
, um zu überprüfen, ob es sich bei dem eingehenden Kontakt um einen WebRTC-Kontakt handelt. Verwenden Sie den Kontaktuntertyp "connect:WebRTC", wie im folgenden Codebeispiel zu sehen:contact.getContactSubtype() === "connect:WebRTC" -
Sie können den Anzeigenamen des Kunden über das Namensfeld in
contact contact.getName()abrufen.
Hinzufügen der Unterstützung für Videos
Führen Sie die folgenden Schritte aus, um Unterstützung für die Videoverarbeitung hinzuzufügen, sofern Ihre Kunden diese Option aktiviert haben.
-
So überprüfen Sie, ob ein Kontakt über Videofunktionen verfügt:
// 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() -
So überprüfen Sie, ob der Kundendienstmitarbeiter über Videoberechtigung zur Bearbeitung von Videoanrufen verfügt:
agent.getPermissions().includes('videoContact'); -
Um einen Videoanruf anzunehmen, muss der Kontakt über Videofunktionen und der Kundendienstmitarbeiter über eine Videoberechtigung verfügen.
function shouldRenderVideoUI() { return contact.getContactSubtype() === "connect:WebRTC" && contact.hasVideoRTCCapabilities() && agent.getPermissions().includes('videoContact'); } -
Um an einer Videositzung teilzunehmen, rufen Sie
getVideoConnectionInfoauf.if (shouldRenderVideoUI()) { const response = await contact.getAgentConnection().getVideoConnectionInfo(); } -
Informationen zum Erstellen einer Video-Benutzeroberfläche und zur Teilnahme an einer Videokonferenz finden Sie unter:
-
Amazon Chime SDK React Components Library
aktiviert GitHub
-
Der Einfachheit halber verwenden die folgenden Codefragmente Beispiele aus der Amazon Chime SDK React Components Library.
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(); } } -
Verwenden Sie zum Rendern des Videorasters die React Components Library VideoTileGrid
aus der Amazon Chime SDK oder passen Sie das Verhalten der Benutzeroberfläche mithilfe von an. RemoteVideoTileProvider -
Um eine Videovorschau zu rendern, können Sie die CameraSelection
Komponenten VideoPreview und verwenden. Um ein Kameravideo auszuwählen oder zu ändern, können Sie meetingManager.selectVideoInputDeviceodermeetingManager.startVideoInputverwenden, wenn die Konferenz gerade läuft.const meetingManager = useMeetingManager(); const { isVideoEnabled } = useLocalVideo(); if (isVideoEnabled) { await meetingManager.startVideoInputDevice(current); } else { meetingManager.selectVideoInputDevice(current); } -
Informationen zur Implementierung von Hintergrundunschärfe finden Sie unter useBackgroundBlur
. -
Einen Beispielcode zum Erstellen eines benutzerdefinierten Videoerlebnisses finden Sie in diesem Amazon Chime -SDK-Beispiel: Amazon Chime React Meeting – Demo
.
Hinzufügen der Unterstützung für die Bildschirmfreigabe
Anmerkung
Wenn Sie das out-of-box CCP direkt in Ihrer benutzerdefinierten Agentenanwendung verwenden, stellen Sie sicherallowFramedScreenSharing, dass allowFramedScreenSharingPopUp es auf true gesetzt ist, wenn Sie das CCP mit Amazon Connect Streams
Durch Festlegen des Werts allowFramedScreenSharing auf „true“ wird die Schaltfläche für die Bildschirmfreigabe nur auf einem CCP in einem Fenster oder einer Registerkarte aktiviert. Wenn der Wert allowFramedScreenSharingPopUp auf „true“ festgelegt ist, wird die Bildschirmfreigabe-App in einem separaten Fenster gestartet, wenn der Kundendienstmitarbeiter die Bildschirmfreigabe-Schaltfläche auswählt. Weitere Informationen finden Sie in der Dokumentation zu Amazon Connect Streams JS
Führen Sie die folgenden Schritte aus, um die Bildschirmfreigabe auf Ihren benutzerdefinierten Kundendienstmitarbeiter-Desktops zu aktivieren.
-
Überprüfen Sie, ob ein Kontakt über die Bildschirmfreigabe-Funktionen verfügt.
// 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() -
Überprüfen Sie, ob der Kundendienstmitarbeiter über die Videoberechtigung verfügt.
agent.getPermissions().includes('videoContact'); -
Überprüfen Sie, ob der Kundendienstmitarbeiter eine Bildschirmfreigabe-Sitzung für den berechtigten Kontakt einleiten kann.
fun canStartScreenSharingSession() { return contactgetContactSubtype() === "connect:WebRTC" && contact.hasScreenShareCapability() && agent.getPermissions().includes('videoContact'); } -
Rufen Sie
startScreenSharingauf, um die Bildschirmfreigabe-Sitzung zu initiieren. Dadurch wirdScreenSharingActivatedzum Kontakt hinzugefügt, sodass Sie im Kontaktdatensatz danach suchen können.contact.startScreenSharing(); -
Rufen Sie
getVideoConnectionInfoauf, um an der Sitzung teilzunehmen. Sie können diesen Schritt überspringen, wenn der Kundendienstmitarbeiter an der Videositzung zum Verarbeiten des Videos teilgenommen hat.if (canStartScreenSharingSession) { contact.startScreenSharing(); const response = await contact.getAgentConnection().getVideoConnectionInfo(); } -
Nehmen Sie an der Sitzung teil, indem Sie die Komponentenbibliothek von Amazon Chime SDK React verwenden. Einen Codeausschnitt finden Sie in Schritt 6 unter Hinzufügen der Unterstützung für Videos.
-
Verwenden Sie dasselbe VideoTileGrid
aus dem Amazon Chime SDK React Components, um eine Video-Kachel zur Bildschirmübertragung zu rendern. Weitere Informationen finden Sie unter useContentShareStatus und Steuerung useContentShare -
Rufen Sie
stopScreenSharingauf, wenn die Sitzung beendet ist.contact.stopScreenSharing(); -
Sie können Ereignisse für Bildschirmfreigabe-Aktivitäten erhalten, indem Sie die folgenden Rückrufe abonnieren:
initScreenSharingListeners() { this.contact.onScreenSharingStarted(() => { // Screen sharing session started }); this.contact.onScreenSharingStopped(() => { // Screen sharing session ended }); this.contact.onScreenSharingError((error) => { // Screen sharing session error occurred }); } }