Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Integrasikan panggilan video dan berbagi layar ke desktop agen kustom Anda dengan menggunakan Connect Customer Streams JS
Topik ini untuk pengembang. Untuk desktop agen khusus, Anda perlu membuat perubahan untuk mendukung panggilan video dan berbagi layar. Berikut ini adalah langkah-langkah tingkat tinggi.
catatan
Jika Anda menyematkan CCP langsung ke aplikasi agen kustom Anda, pastikan allowFramedVideoCall disetel ke true saat Anda memulai CCP menggunakan Connect Customer Streams JS.
-
Gunakan Connect Customer Streams JS
untuk memeriksa apakah kontak yang masuk adalah kontak WebRTC. Gunakan subtipe kontak "connect:WebRTC", seperti yang ditunjukkan dalam contoh kode berikut:contact.getContactSubtype() === "connect:WebRTC" -
Anda dapat mengambil nama tampilan pelanggan dengan menggunakan bidang nama di
contact contact.getName().
Tambahkan dukungan untuk video
Selesaikan langkah-langkah berikut untuk menambahkan dukungan untuk penanganan video saat pelanggan Anda mengaktifkannya.
-
Untuk memeriksa apakah kontak memiliki kemampuan 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() -
Untuk memeriksa apakah agen memiliki izin video untuk menangani panggilan video:
agent.getPermissions().includes('videoContact'); -
Untuk menerima panggilan video, kontak harus memiliki kemampuan video dan agen harus memiliki izin video.
function shouldRenderVideoUI() { return contact.getContactSubtype() === "connect:WebRTC" && contact.hasVideoRTCCapabilities() && agent.getPermissions().includes('videoContact'); } -
Untuk bergabung dengan sesi video, hubungi
getVideoConnectionInfo:if (shouldRenderVideoUI()) { const response = await contact.getAgentConnection().getVideoConnectionInfo(); } -
Untuk membuat UI video dan bergabung dengan sesi rapat video, lihat:
-
Amazon Chime SDK untuk JavaScript
aktif GitHub -
Amazon Chime Pustaka Komponen React SDK
aktif GitHub
-
-
Untuk kesederhanaan, cuplikan kode berikut menggunakan contoh dari 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(); } } -
Untuk merender grid video, gunakan VideoTileGrid
dari Amazon Chime SDK React Components Library atau sesuaikan perilaku UI menggunakan RemoteVideoTileProvider . -
Untuk merender pratinjau video, Anda dapat menggunakan VideoPreview
dan CameraSelection komponen. Untuk memilih atau mengubah video kamera, Anda dapat menggunakan meetingManager.selectVideoInputDeviceataumeetingManager.startVideoInputjika rapat sedang berlangsung.const meetingManager = useMeetingManager(); const { isVideoEnabled } = useLocalVideo(); if (isVideoEnabled) { await meetingManager.startVideoInputDevice(current); } else { meetingManager.selectVideoInputDevice(current); } -
Untuk menerapkan keburaman latar belakang, lihat penggunaan BackgroundBlur
. -
Untuk contoh kode tentang cara membangun pengalaman video khusus, lihat contoh Amazon Chime SDK ini: Demo Amazon Chime React Meeting
.
Tambahkan dukungan untuk berbagi layar
catatan
Jika Anda menggunakan CCP out-box langsung di aplikasi agen kustom Anda, pastikan allowFramedScreenSharing dan disetel ke true saat Anda memulai CCP menggunakan Connect Custom allowFramedScreenSharingPopUp er Streams JS.
Pengaturan allowFramedScreenSharing ke true mengaktifkan tombol berbagi layar hanya pada satu CCP dalam satu jendela atau tab. Men allowFramedScreenSharingPopUp yetel ke true meluncurkan aplikasi berbagi layar di jendela terpisah saat agen memilih tombol berbagi layar. Untuk detail selengkapnya, lihat dokumentasi
Selesaikan langkah-langkah berikut untuk mengaktifkan berbagi layar di desktop agen kustom Anda.
-
Periksa apakah kontak memiliki kemampuan berbagi layar.
// 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() -
Periksa apakah agen memiliki izin video.
agent.getPermissions().includes('videoContact'); -
Periksa apakah agen dapat memulai sesi berbagi layar untuk kontak yang memenuhi syarat.
fun canStartScreenSharingSession() { return contactgetContactSubtype() === "connect:WebRTC" && contact.hasScreenShareCapability() && agent.getPermissions().includes('videoContact'); } -
Panggil
startScreenSharinguntuk memulai sesi berbagi layar. IniScreenSharingActivatedmenambah kontak, memungkinkan Anda untuk mencarinya di catatan kontak.contact.startScreenSharing(); -
Panggil
getVideoConnectionInfountuk bergabung dengan sesi. Anda dapat melewati langkah jika agen telah bergabung dengan sesi video untuk menangani video.if (canStartScreenSharingSession) { contact.startScreenSharing(); const response = await contact.getAgentConnection().getVideoConnectionInfo(); } -
Bergabunglah dengan sesi menggunakan Amazon Chime SDK React Components Library. Untuk cuplikan kode, lihat langkah 6 diTambahkan dukungan untuk video.
-
Gunakan yang sama VideoTileGrid
dari Amazon Chime SDK React Components untuk merender ubin video berbagi layar. Untuk informasi selengkapnya, lihat penggunaan ContentShareState dan penggunaan ContentShareControls -
Panggil
stopScreenSharingsaat sesi berakhir.contact.stopScreenSharing(); -
Anda dapat menerima acara untuk aktivitas berbagi layar dengan berlangganan panggilan balik berikut:
initScreenSharingListeners() { this.contact.onScreenSharingStarted(() => { // Screen sharing session started }); this.contact.onScreenSharingStopped(() => { // Screen sharing session ended }); this.contact.onScreenSharingError((error) => { // Screen sharing session error occurred }); } }