View a markdown version of this page

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

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

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

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

  1. Gunakan Connect Custom StartWebRTCContact er API untuk membuat kontak.

  2. Kemudian gunakan detail yang dikembalikan oleh panggilan API untuk bergabung dengan panggilan menggunakan pust Amazon Chime aka 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: amaz on-connect-in-app-calling-examples.

Cara 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 Connect Customer StartWebRTCContact API untuk memulai kontak yang meneruskan atribut atau konteks apa pun ke Connect Customer.

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

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

  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 CreateParticipantConnection API CreateParticipant dan.

Memulai

Berikut ini adalah langkah-langkah tingkat tinggi untuk memulai:

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

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

  3. Buat instance klien Amazon Chime SDK DefaultMeetingSession denganMeetingSessionConfiguration, 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 untuk bergabung dengan kontak WebRTC dengan audio.

    • iOS/Android

      meetingSession.audioVideo.start()
    • JavaScript

      await meetingSession.audioVideo.start();
  5. Gunakan meetingSession.audioVideo.stop() metode untuk menutup 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 API Connect Customer Participant Service: CreateParticipantConnection dan SendMessage masing-masing.

catatan

contentTypeuntuk SendMessage API harusaudio/dtmf.

  1. Panggil CreateParticipantConnection untuk mengambilConnectionToken. (ParticipantTokendiperlukan untuk memanggil API ini. Anda dapat menemukannya di tang StartWebRTCContact gapan.)

  2. DenganConnectionToken, panggil SendMessage untuk 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);

Membisukan dan menonaktifkan audio

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

iOS/Android

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

JavaScript

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

Mulai video sendiri

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

iOS/Android

meetingSession.audioVideo.startLocalVideo()

JavaScript

meetingSession.audioVideo.startLocalVideoTile();

Hentikan video sendiri

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

iOS/Android

meetingSession.audioVideo.stopLocalVideo()

JavaScript

meetingSession.audioVideo.stopLocalVideoTile();

Aktifkan video agen

Untuk memungkinkan penerimaan dan memuat video agen di dalam aplikasi, gunakanmeetingSession.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 lengkap.

Nonaktifkan video agen

Untuk melarang menerima dan memuat video agen di dalam aplikasi, gunakan. 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 ditunda, Anda dapat mengirim pesan data ke aplikasi pelanggan untuk menampilkan pesan yang memberi tahu mereka bahwa mereka ditunda dan video/screen berbagi mereka masih dikirim, atau Anda dapat menonaktifkan video/screen berbagi.

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 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 seorang 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 penghentian 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 sebenarnya berakhir sepenuhnya untuk semua peserta, mereka akan menerima kode status berikut.

  • iOS: MeetingSessionStatusCode.audioCallEnded

  • Android: MeetingSessionStatusCode.AudioCallEnded

  • JavaScript: MeetingSessionStatusCode.AudioCallEnded