Integra nativamente nella tua applicazione le chiamate in-app, le videochiamate e la condivisione dello schermo sul Web - Amazon Connect

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à.

Integra nativamente nella tua applicazione le chiamate in-app, le videochiamate e la condivisione dello schermo sul Web

Per integrare Amazon Connect in-app, web, videochiamate e condivisione dello schermo con la tua applicazione:

  1. Usa l'StartWebRTCContactAPI Amazon Connect per creare il contatto.

  2. Utilizza quindi i dettagli restituiti dalla chiamata API per partecipare alla chiamata utilizzando la libreria Amazon Chime client per iOS, Android o JavaScript.

Per informazioni sulla creazione di partecipanti aggiuntivi, vedereAbilita chiamate multiutente in-app, web e videochiamate multiutente.

Vedi il seguente repository Github per applicazioni di esempio: -calling-examples. amazon-connect-in-app

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).

Un diagramma concettuale che mostra in che modo un dispositivo client avvia una chiamata.
  1. Il cliente utilizza l'applicazione client (sito web o applicazione) per avviare una chiamata in-app o web.

  2. 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

  3. L'applicazione client si unisce alla chiamata utilizzando i dettagli restituiti dal StartWebRTCContactpassaggio 2.

  4. (Facoltativo) Il client utilizza l'CreateParticipantConnectionAPI per ricevere un ConnectionToken messaggio utilizzato per inviare DTMF tramite l'API. SendMessage

  5. Il contatto raggiunge il flusso, viene instradato in base al flusso e messo in coda.

  6. L'agente accetta il contatto.

  7. (Facoltativo) Se il video è abilitato per il cliente e l'agente, questi possono avviare il video.

  8. (Facoltativo, non mostrato nel diagramma) È possibile aggiungere altri partecipanti utilizzando il comando and. CreateParticipantCreateParticipantConnection APIs

Inizia a usare

Di seguito sono riportati i passaggi di alto livello per iniziare:

  1. Utilizza l'StartWebRTCContactAPI per creare il contatto. L'API restituisce i dettagli necessari affinché il client Amazon Chime SDK possa partecipare alla chiamata.

  2. Crea un'istanza dell'oggetto MeetingSessionConfiguration client Amazon Chime SDK utilizzando le configurazioni restituite da. StartWebRTCContact

  3. Crea un'istanza del DefaultMeetingSession client Amazon Chime SDK MeetingSessionConfiguration con, creato 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 );
  4. 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();
  5. 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 panoramiche sulle API specifiche della piattaforma:

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

  1. CreateParticipantConnectionInvoca per recuperareConnectionToken. (ParticipantTokenè necessario per chiamare questa API. Puoi trovarlo nella StartWebRTCContactrisposta.)

  2. ConConnectionToken, chiama SendMessageper l'invio di cifre DTMF.

Seleziona 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);

Disattiva e riattiva 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();

Avvia video self-video

Per avviare un self-video, usa ilmeetingSession.audioVideo.startLocalVideo(). Consulta le guide API della libreria client per ulteriori informazioni su come enumerare e scegliere dispositivi specifici.

iOS/Android

meetingSession.audioVideo.startLocalVideo()

JavaScript

meetingSession.audioVideo.startLocalVideoTile();

Interrompi i video automatici

Per interrompere la riproduzione automatica dei video, usa ilmeetingSession.audioVideo.stopLocalVideo().

iOS/Android

meetingSession.audioVideo.stopLocalVideo()

JavaScript

meetingSession.audioVideo.stopLocalVideoTile();

Abilita il video dell'agente

Per consentire la ricezione e il caricamento di video dell'agente all'interno dell'applicazione, utilizzate ilmeetingSession.audioVideo.startRemoteVideo(). Dovrete inoltre implementare gli osservatori di riquadri video e associare i riquadri video per visualizzare le 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 SDK specifiche della piattaforma per i dettagli completi sull'implementazione dei riquadri video.

Disattiva il video dell'agente

Per impedire la ricezione e il caricamento di video dell'agente all'interno dell'applicazione, utilizzate ilmeetingSession.audioVideo.stopRemoteVideo().

iOS/Android

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

JavaScript

meetingSession.audioVideo.unbindVideoElement(tileId);

Usa messaggi di dati

Puoi utilizzare i messaggi di dati se devi inviare qualsiasi stato dal lato agente all'utente finale. Ad esempio, quando i clienti sono in attesa, puoi inviare un messaggio di dati all'applicazione del cliente per visualizzare un messaggio per informarli che sono in attesa e che la video/screen condivisione è ancora in corso di invio, oppure puoi disattivare la video/screen condivisione.

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);

Ascolta gli eventi principali

Puoi ascoltare gli eventi quando la partecipazione di un contatto termina tramite l'audioVideoDidStoposservatore. I codici di stato specifici possono variare in base alla piattaforma.

La chiamata raggiunge la capacità

Quando più di 6 persone tentano di partecipare alla chiamata, gli altri partecipanti riceveranno il seguente messaggio di errore e non potranno partecipare finché gli altri non se ne andranno.

  • iOS: MeetingSessionStatusCode.audioCallAtCapacity o MeetingSessionStatusCode.audioAuthenticationRejected

  • Android: MeetingSessionStatusCode.AudioCallAtCapacity o MeetingSessionStatusCode.AudioAuthenticationRejected

  • JavaScript: MeetingSessionStatusCode.AudioCallAtCapacity o MeetingSessionStatusCode.AudioAuthenticationRejected

Partecipante rimosso dalla chiamata

Quando un partecipante viene rimosso dalla chiamata dall'agente ma il contatto continua per gli altri partecipanti, riceverà il seguente codice di stato. Tieni presente che se la rimozione del partecipante comporta la cessazione del contatto, questi riceverà questo stato o lo stato di fine contatto.

  • iOS: MeetingSessionStatusCode.audioServerHungup o MeetingSessionStatusCode.audioAuthenticationRejected

  • Android: MeetingSessionStatusCode.AudioServerHungup o MeetingSessionStatusCode.AudioAuthenticationRejected

  • JavaScript: MeetingSessionStatusCode.AudioAttendeeRemoved o MeetingSessionStatusCode.AudioAuthenticationRejected

Fine del contatto

Quando il contatto effettivo termina completamente, tutti i partecipanti riceveranno il seguente codice di stato.

  • iOS: MeetingSessionStatusCode.audioCallEnded

  • Android: MeetingSessionStatusCode.AudioCallEnded

  • JavaScript: MeetingSessionStatusCode.AudioCallEnded