Integrasikan in-app, web, panggilan video, dan berbagi layar secara native ke dalam aplikasi Anda - Amazon Connect

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Integrasikan in-app, web, panggilan video, dan berbagi layar secara native ke dalam aplikasi Anda

Untuk mengintegrasikan Amazon Connect dalam aplikasi, web, panggilan video, dan berbagi layar dengan aplikasi Anda:

  1. Gunakan Amazon Connect StartWebRTCContactAPI untuk membuat kontak.

  2. Kemudian gunakan detail yang ditampilkan oleh panggilan API untuk bergabung dengan panggilan menggunakan pustaka Amazon Chime klien untuk iOS, Android, atau JavaScript.

Untuk informasi tentang membuat peserta tambahan, lihatAktifkan panggilan dalam aplikasi, web, dan video multi-pengguna.

Lihat repositori Github berikut untuk contoh aplikasi: -calling-examples. amazon-connect-in-app

Bagaimana perangkat klien memulai panggilan dalam aplikasi atau web

Diagram berikut menunjukkan urutan peristiwa untuk perangkat klien (aplikasi seluler atau browser) untuk memulai panggilan dalam aplikasi atau web.

Diagram konseptual yang menunjukkan bagaimana perangkat klien memulai panggilan.
  1. Pelanggan Anda menggunakan aplikasi klien (situs web atau aplikasi) untuk memulai panggilan dalam aplikasi atau web.

  2. Aplikasi klien (situs web atau aplikasi seluler) atau server web menggunakan Amazon Connect StartWebRTCContactAPI untuk memulai kontak yang meneruskan atribut atau konteks apa pun ke Amazon Connect.

  3. Aplikasi klien bergabung dengan panggilan menggunakan detail yang dikembalikan dari StartWebRTCContactdalam langkah 2.

  4. (Opsional) Klien menggunakan CreateParticipantConnectionAPI untuk menerima ConnectionToken yang digunakan untuk mengirim DTMF melalui API. SendMessage

  5. Kontak mencapai aliran dan dirutekan berdasarkan aliran dan ditempatkan dalam antrian.

  6. Agen menerima kontak.

  7. (Opsional) Jika video diaktifkan untuk pelanggan dan agen, mereka dapat memulai video mereka.

  8. (Opsional - tidak ditampilkan dalam diagram) Peserta tambahan dapat ditambahkan menggunakan CreateParticipantdan CreateParticipantConnection APIs.

Memulai

Berikut ini adalah langkah-langkah tingkat tinggi untuk memulai:

  1. Gunakan StartWebRTCContactAPI untuk membuat kontak. API mengembalikan detail yang diperlukan untuk klien Amazon Chime SDK untuk bergabung dengan panggilan.

  2. Buat instance objek MeetingSessionConfiguration klien Amazon Chime SDK menggunakan konfigurasi yang dikembalikan oleh. StartWebRTCContact

  3. Instantiate DefaultMeetingSession klien Amazon Chime SDK MeetingSessionConfiguration dengan, yang dibuat pada langkah 2 untuk membuat sesi rapat klien.

    • iOS

      let logger = ConsoleLogger(name: "logger") let meetingSession = DefaultMeetingSession( configuration: meetingSessionConfig, logger: logger )
    • Android

      val logger = ConsoleLogger() val meetingSession = DefaultMeetingSession( configuration = meetingSessionConfig, logger = logger, context = applicationContext )
    • JavaScript

      const logger = new ConsoleLogger('MeetingLogs', LogLevel.INFO); const deviceController = new DefaultDeviceController(logger); const configuration = new MeetingSessionConfiguration( meetingResponse, attendeeResponse ); const meetingSession = new DefaultMeetingSession( configuration, logger, deviceController );
  4. Gunakan meetingSession.audioVideo.start() metode ini untuk bergabung dengan kontak WebRTC dengan audio.

    • iOS/Android

      meetingSession.audioVideo.start()
    • JavaScript

      await meetingSession.audioVideo.start();
  5. Gunakan meetingSession.audioVideo.stop() metode untuk menggantung kontak WebRTC.

    • iOS/Android

      meetingSession.audioVideo.stop()
    • JavaScript

      meetingSession.audioVideo.stop();

Langkah opsional

Untuk operasi tambahan dan dokumentasi API yang komprehensif, lihat panduan ikhtisar API khusus platform:

Kirim nada DTMF

Untuk mengirim DTMF ke panggilan, diperlukan dua Layanan Peserta Amazon Connect: APIs CreateParticipantConnectiondan masing-masing. SendMessage

catatan

contentTypeuntuk SendMessage API harusaudio/dtmf.

  1. Memohon CreateParticipantConnectionuntuk mengambilConnectionToken. (ParticipantTokendiperlukan untuk memanggil API ini. Anda dapat menemukannya di StartWebRTCContactjawabannya.)

  2. DenganConnectionToken, panggil SendMessageuntuk mengirim digit DTMF.

Pilih perangkat audio

Untuk memilih input/output perangkat audio, Anda dapat menggunakan metode dari klien Amazon Chime SDK untuk Android dan iOS atau kemampuan iOS asli untuk iOS.

iOS/Android

meetingSession.audioVideo.listAudioDevices() meetingSession.audioVideo.chooseAudioDevice(mediaDevice)

JavaScript

await meetingSession.audioVideo.listAudioInputDevices(); await meetingSession.audioVideo.listAudioOutputDevices(); await meetingSession.audioVideo.startAudioInput(device); await meetingSession.audioVideo.chooseAudioOutput(deviceId);

Bisukan dan nyahbisukan audio

Untuk bisu dan unmute, gunakan dan. meetingSession.audioVideo.realtimeLocalMute() meetingSession.audioVideo.realtimeLocalUnmute()

iOS/Android

meetingSession.audioVideo.realtimeLocalMute() meetingSession.audioVideo.realtimeLocalUnmute()

JavaScript

meetingSession.audioVideo.realtimeMuteLocalAudio(); meetingSession.audioVideo.realtimeUnmuteLocalAudio();

Mulai video diri

Untuk memulai video sendiri, gunakanmeetingSession.audioVideo.startLocalVideo(). Lihat panduan API pustaka klien untuk informasi selengkapnya tentang cara menghitung dan memilih perangkat tertentu.

iOS/Android

meetingSession.audioVideo.startLocalVideo()

JavaScript

meetingSession.audioVideo.startLocalVideoTile();

Hentikan video diri

Untuk menghentikan video diri, gunakanmeetingSession.audioVideo.stopLocalVideo().

iOS/Android

meetingSession.audioVideo.stopLocalVideo()

JavaScript

meetingSession.audioVideo.stopLocalVideoTile();

Aktifkan video agen

Untuk memungkinkan menerima dan memuat video agen di dalam aplikasi, gunakan filemeetingSession.audioVideo.startRemoteVideo(). Anda juga perlu menerapkan pengamat ubin video dan mengikat ubin video untuk menampilkan tampilan.

iOS/Android

meetingSession.audioVideo.startRemoteVideo() // Implement VideoTileObserver to handle video tiles meetingSession.audioVideo.addVideoTileObserver(observer) // In videoTileDidAdd callback: meetingSession.audioVideo.bindVideoView(videoView, tileId: tileState.tileId)

JavaScript

// Remote video is received automatically when available // Implement AudioVideoObserver to handle video tiles meetingSession.audioVideo.addObserver(observer); // In videoTileDidUpdate callback: meetingSession.audioVideo.bindVideoElement(tileId, videoElement);

Referensikan panduan SDK khusus platform untuk detail implementasi ubin video yang lengkap.

Nonaktifkan video agen

Untuk melarang menerima dan memuat video agen di dalam aplikasi, gunakan file. meetingSession.audioVideo.stopRemoteVideo()

iOS/Android

meetingSession.audioVideo.stopRemoteVideo() meetingSession.audioVideo.unbindVideoView(tileId)

JavaScript

meetingSession.audioVideo.unbindVideoElement(tileId);

Gunakan pesan data

Anda dapat menggunakan pesan data jika Anda perlu mengirim status apa pun dari sisi agen ke pengguna akhir. Misalnya, ketika pelanggan ditahan, Anda dapat mengirim pesan data ke aplikasi pelanggan untuk menampilkan pesan yang memberi tahu mereka bahwa mereka ditahan dan video/screen pembagian mereka masih dikirim, atau Anda dapat mematikan video/screen pembagian.

iOS/Android

meetingSession.audioVideo.realtimeSendDataMessage(topic, data, lifetimeMs) meetingSession.audioVideo.addRealtimeDataMessageObserver(topic, observer)

JavaScript

meetingSession.audioVideo.realtimeSendDataMessage(topic, data, lifetimeMs); meetingSession.audioVideo.realtimeSubscribeToReceiveDataMessage(topic, callback);

Dengarkan acara berhenti

Anda dapat mendengarkan acara ketika partisipasi Kontak berakhir melalui audioVideoDidStop pengamat. Kode status tertentu dapat bervariasi menurut platform.

Panggilan mencapai kapasitas

Ketika lebih dari 6 orang mencoba untuk bergabung dengan panggilan, peserta tambahan akan menerima kesalahan berikut dan tidak dapat bergabung sampai orang lain pergi.

  • iOS: MeetingSessionStatusCode.audioCallAtCapacity atau MeetingSessionStatusCode.audioAuthenticationRejected

  • Android: MeetingSessionStatusCode.AudioCallAtCapacity atau MeetingSessionStatusCode.AudioAuthenticationRejected

  • JavaScript: MeetingSessionStatusCode.AudioCallAtCapacity atau MeetingSessionStatusCode.AudioAuthenticationRejected

Peserta dihapus dari panggilan

Ketika peserta dihapus dari panggilan oleh agen tetapi kontak berlanjut untuk peserta lain, mereka akan menerima kode status berikut. Perhatikan bahwa jika penghapusan peserta mengarah ke akhir kontak, mereka akan menerima salah satu dari status ini atau status akhir kontak.

  • iOS: MeetingSessionStatusCode.audioServerHungup atau MeetingSessionStatusCode.audioAuthenticationRejected

  • Android: MeetingSessionStatusCode.AudioServerHungup atau MeetingSessionStatusCode.AudioAuthenticationRejected

  • JavaScript: MeetingSessionStatusCode.AudioAttendeeRemoved atau MeetingSessionStatusCode.AudioAuthenticationRejected

Kontak berakhir

Ketika kontak yang sebenarnya berakhir sepenuhnya untuk semua peserta, mereka akan menerima kode status berikut.

  • iOS: MeetingSessionStatusCode.audioCallEnded

  • Android: MeetingSessionStatusCode.AudioCallEnded

  • JavaScript: MeetingSessionStatusCode.AudioCallEnded