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 in-app, web e video e la condivisione dello schermo in modo nativo in un’applicazione
Come integrare le chiamate in-app, web e video e la condivisione dello schermo di Amazon Connect in un’applicazione
-
Usa l'StartWebRTCContactAPI Amazon Connect per creare il contatto.
-
Utilizza quindi i dettagli restituiti dalla chiamata API per partecipare alla chiamata utilizzando la libreria Amazon Chime client per iOS
, Android o JavaScript .
Per ulteriori informazioni sulla creazione di partecipanti aggiuntivi, consulta Abilitare le chiamate multiutente in-app, web e video.
Indice
In che modo un dispositivo client avvia una chiamata in-app o web
Il diagramma seguente mostra la sequenza di eventi necessari per avviare una chiamata in-app o web da un dispositivo client (applicazione per dispositivi mobili o browser).
-
Il cliente utilizza l'applicazione client (sito web o applicazione) per avviare una chiamata in-app o web.
-
L'applicazione client (sito Web o applicazione mobile) o il server Web utilizza l' Amazon Connect StartWebRTCContactAPI per avviare il contatto a cui passa qualsiasi attributo o contesto. Amazon Connect
-
L'applicazione client si unisce alla chiamata utilizzando i dettagli restituiti dal StartWebRTCContactpassaggio 2.
-
(Facoltativo) Il client utilizza l'CreateParticipantConnectionAPI per ricevere un
ConnectionTokenmessaggio utilizzato per inviare DTMF tramite l'API. SendMessage -
Il contatto raggiunge il flusso, viene instradato in base al flusso e messo in coda.
-
L'agente accetta il contatto.
-
(Facoltativo) Se il video è abilitato per il cliente e l'agente, questi possono avviare il video.
-
(Facoltativo, non mostrato nel diagramma) È possibile aggiungere altri partecipanti utilizzando e. CreateParticipantCreateParticipantConnection APIs
Nozioni di base
Di seguito sono riportati i passaggi di alto livello per iniziare:
-
Utilizza l'StartWebRTCContactAPI per creare il contatto. L’API restituisce i dettagli necessari per il client dell’SDK di Amazon Chime per partecipare alla chiamata.
-
Crea un'istanza dell'oggetto
MeetingSessionConfigurationclient Amazon Chime SDK utilizzando le configurazioni restituite da. StartWebRTCContact -
Crea un’istanza di
DefaultMeetingSessiondel client dell’SDK di Amazon Chime conMeetingSessionConfiguration, che è stata creata nel passaggio 2 per creare una sessione di riunione con il cliente.-
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 );
-
-
Usa il metodo
meetingSession.audioVideo.start()per partecipare alla chiamata con il contatto WebRTC con l'audio.-
iOS/Android
meetingSession.audioVideo.start() -
JavaScript
await meetingSession.audioVideo.start();
-
-
Usa il metodo
meetingSession.audioVideo.stop()per riagganciare la chiamata con il contatto WebRTC.-
iOS/Android
meetingSession.audioVideo.stop() -
JavaScript
meetingSession.audioVideo.stop();
-
Passaggi facoltativi
Per ulteriori operazioni e una documentazione completa sulle API, consulta le guide generali sulle API specifiche della piattaforma:
-
iOS: panoramica delle API
-
Android: panoramica delle API
-
JavaScript: Panoramica delle API
Inviare toni DTMF
Per inviare DTMF alla chiamata, APIs sono necessari due Amazon Connect Participant Service: e rispettivamente. CreateParticipantConnectionSendMessage
Nota
contentTypeperché l'API deve essere. SendMessage audio/dtmf
-
CreateParticipantConnectionInvoca per recuperare
ConnectionToken. (ParticipantTokenè necessario per chiamare questa API. Puoi trovarlo nella StartWebRTCContactrisposta.) -
Con
ConnectionToken, chiama SendMessageper l'invio di cifre DTMF.
Selezionare i dispositivi audio
Per selezionare il input/output dispositivo audio, puoi utilizzare i metodi del client Amazon Chime SDK per Android e iOS o le funzionalità iOS native per 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);
Disattivare e riattivare l’audio
Per disattivare e riattivare l'audio, usa meetingSession.audioVideo.realtimeLocalMute() e meetingSession.audioVideo.realtimeLocalUnmute().
iOS/Android
meetingSession.audioVideo.realtimeLocalMute() meetingSession.audioVideo.realtimeLocalUnmute()
JavaScript
meetingSession.audioVideo.realtimeMuteLocalAudio(); meetingSession.audioVideo.realtimeUnmuteLocalAudio();
Avviare il video dell’utente
Per avviare un video di te stesso o te stessa, utilizza meetingSession.audioVideo.startLocalVideo(). Consulta le guide alle API della libreria client per ulteriori informazioni su come enumerare e scegliere dispositivi specifici.
iOS/Android
meetingSession.audioVideo.startLocalVideo()
JavaScript
meetingSession.audioVideo.startLocalVideoTile();
Interrompere il video dell’utente
Per interrompere la riproduzione del video di te stesso o te stessa, utilizza meetingSession.audioVideo.stopLocalVideo().
iOS/Android
meetingSession.audioVideo.stopLocalVideo()
JavaScript
meetingSession.audioVideo.stopLocalVideoTile();
Abilitare il video dell’agente
Per consentire la ricezione e il caricamento di video dell’agente all’interno dell’applicazione, utilizza meetingSession.audioVideo.startRemoteVideo(). Dovrai inoltre implementare gli osservatori di riquadri video e associare i riquadri video alle visualizzazioni.
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);
Consulta le guide agli SDK specifiche della piattaforma per i dettagli completi sull’implementazione dei riquadri video.
Disabilitare il video dell’agente
Per interrompere la ricezione e il caricamento di video dell’agente all’interno dell’applicazione, utilizza meetingSession.audioVideo.stopRemoteVideo().
iOS/Android
meetingSession.audioVideo.stopRemoteVideo() meetingSession.audioVideo.unbindVideoView(tileId)
JavaScript
meetingSession.audioVideo.unbindVideoElement(tileId);
Utilizzare i messaggi di dati
Puoi utilizzare messaggi di dati
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);
Ascoltare gli eventi di arresto
Puoi ascoltare gli eventi quando la partecipazione di un contatto termina tramite l’osservatore audioVideoDidStop. I codici di stato specifici possono variare in base alla piattaforma.
Limite di capacità raggiunto per una chiamata
Quando più di sei persone tentano di partecipare alla chiamata, i partecipanti aggiuntivi riceveranno il seguente messaggio di errore e non potranno partecipare finché qualche persona non avrà abbandonato la chiamata.
-
iOS:
MeetingSessionStatusCode.audioCallAtCapacityoMeetingSessionStatusCode.audioAuthenticationRejected -
Android:
MeetingSessionStatusCode.AudioCallAtCapacityoMeetingSessionStatusCode.AudioAuthenticationRejected -
JavaScript:
MeetingSessionStatusCode.AudioCallAtCapacityoMeetingSessionStatusCode.AudioAuthenticationRejected
Partecipante rimosso da una chiamata
Quando un partecipante viene rimosso dalla chiamata dall’agente ma il contatto continua per gli altri partecipanti, il partecipante rimosso riceverà il seguente codice di stato. Tieni presente che se la rimozione del partecipante comporta la fine del contatto, il partecipante riceverà questo stato o lo stato di fine contatto.
-
iOS:
MeetingSessionStatusCode.audioServerHungupoMeetingSessionStatusCode.audioAuthenticationRejected -
Android:
MeetingSessionStatusCode.AudioServerHungupoMeetingSessionStatusCode.AudioAuthenticationRejected -
JavaScript:
MeetingSessionStatusCode.AudioAttendeeRemovedoMeetingSessionStatusCode.AudioAuthenticationRejected
Termine di un contatto
Quando il contatto effettivo termina completamente per tutti i partecipanti, questi riceveranno il seguente codice di stato.
-
iOS:
MeetingSessionStatusCode.audioCallEnded -
Android:
MeetingSessionStatusCode.AudioCallEnded -
JavaScript:
MeetingSessionStatusCode.AudioCallEnded