As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Integrar chamadas na aplicação, pela web, por vídeo e compartilhamento de tela de maneira nativa à sua aplicação
Para integrar chamadas na aplicação, pela web, por vídeo e compartilhamento de tela do Amazon Connect à sua aplicação:
-
Use a StartWebRTCContactAPI Amazon Connect para criar o contato.
-
Em seguida, use os detalhes retornados pela chamada de API para participar da chamada usando a biblioteca Amazon Chime cliente para iOS
, Android ou JavaScript .
Para acessar informações sobre a criação de participantes adicionais, consulte Habilitar chamadas na aplicação, pela web e por vídeo com vários usuários.
Conteúdo
Como um dispositivo cliente inicia uma chamada na aplicação ou na web
O diagrama a seguir mostra a sequência de eventos de um dispositivo cliente (aplicativo móvel ou navegador) para iniciar uma chamada na aplicação ou pela web.
-
O cliente usa a aplicação cliente (site ou aplicação) para iniciar uma chamada na aplicação ou na web.
-
O aplicativo cliente (site ou aplicativo móvel) ou servidor da web usa a Amazon Connect StartWebRTCContactAPI para iniciar o contato, passando quaisquer atributos ou contexto para Amazon Connect o.
-
O aplicativo cliente ingressa na chamada usando os detalhes retornados StartWebRTCContactna etapa 2.
-
(Opcional) O cliente usa a CreateParticipantConnectionAPI para receber uma
ConnectionTokenque é usada para enviar DTMF por meio da API. SendMessage -
O contato atinge o fluxo é encaminhado com base no fluxo e colocado na fila.
-
O atendente aceita o contato.
-
(Opcional) Se o vídeo estiver habilitado para o cliente e o atendente, eles poderão iniciar o vídeo.
-
(Opcional - não mostrado no diagrama) Participantes adicionais podem ser adicionados usando o CreateParticipantCreateParticipantConnection APIse.
Conceitos básicos
Estas são as etapas de alto nível para começar:
-
Use a StartWebRTCContactAPI para criar o contato. A API exibe os detalhes necessários para que o SDK do Amazon Chime participe da chamada.
-
Instancie o objeto
MeetingSessionConfigurationcliente do Amazon Chime SDK usando as configurações retornadas por. StartWebRTCContact -
Instancie
DefaultMeetingSessioncliente do SDK do Amazon Chime comMeetingSessionConfiguration, que foi criado na etapa 2 para criar uma sessão de reunião com o 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 );
-
-
Use o método
meetingSession.audioVideo.start()para unir o contato WebRTC ao áudio.-
iOS/Android
meetingSession.audioVideo.start() -
JavaScript
await meetingSession.audioVideo.start();
-
-
Use o método
meetingSession.audioVideo.stop()para desligar o contato WebRTC.-
iOS/Android
meetingSession.audioVideo.stop() -
JavaScript
meetingSession.audioVideo.stop();
-
Etapas opcionais
Para operações adicionais e documentação abrangente da API, consulte os guias de visão geral de APIs específicas da plataforma:
-
iOS: visão geral da API
. -
Android: visão geral da API
-
JavaScript: Visão geral da API
Enviar tons DTMF
Para enviar o DTMF para a chamada, APIs são necessários dois Amazon Connect Participant Service: CreateParticipantConnectione respectivamente. SendMessage
nota
contentTypepara a SendMessage API deve seraudio/dtmf.
-
Invoque CreateParticipantConnectionpara recuperar
ConnectionToken. (ParticipantTokené necessário para chamar essa API. Você pode encontrá-la na StartWebRTCContactresposta.) -
Com o
ConnectionToken, ligue SendMessagepara enviar dígitos DTMF.
Selecionar dispositivos de áudio
Para selecionar o input/output dispositivo de áudio, você pode usar os métodos do cliente Amazon Chime SDK para Android e iOS ou os recursos nativos do iOS para 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);
Silenciar e ativar o áudio
Para ativar e desativar o som, use meetingSession.audioVideo.realtimeLocalMute() e meetingSession.audioVideo.realtimeLocalUnmute().
iOS/Android
meetingSession.audioVideo.realtimeLocalMute() meetingSession.audioVideo.realtimeLocalUnmute()
JavaScript
meetingSession.audioVideo.realtimeMuteLocalAudio(); meetingSession.audioVideo.realtimeUnmuteLocalAudio();
Iniciar vídeo próprio
Para iniciar o vídeo próprio, use o meetingSession.audioVideo.startLocalVideo(). Consulte os guias de APIs da biblioteca cliente para acessar mais informações sobre como enumerar e escolher dispositivos específicos.
iOS/Android
meetingSession.audioVideo.startLocalVideo()
JavaScript
meetingSession.audioVideo.startLocalVideoTile();
Parar vídeo próprio
Para interromper o vídeo próprio, use o meetingSession.audioVideo.stopLocalVideo().
iOS/Android
meetingSession.audioVideo.stopLocalVideo()
JavaScript
meetingSession.audioVideo.stopLocalVideoTile();
Habilitar vídeo do atendente
Para permitir o recebimento e o carregamento de vídeo do atendente dentro da aplicação móvel, use meetingSession.audioVideo.startRemoteVideo(). Você também precisará implementar observadores de blocos de vídeo e vincular blocos de vídeo para exibir visualizações.
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);
Consulte os guias de SDKs específicos da plataforma para ver detalhes completos da implementação do bloco de vídeos.
Desabilitar vídeo do atendente
Para não permitir o recebimento e o carregamento de vídeo do atendente dentro da aplicação móvel, use meetingSession.audioVideo.stopRemoteVideo().
iOS/Android
meetingSession.audioVideo.stopRemoteVideo() meetingSession.audioVideo.unbindVideoView(tileId)
JavaScript
meetingSession.audioVideo.unbindVideoElement(tileId);
Usar mensagens de dados
Você poderá usar mensagens de dados
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);
Ouvir eventos interrompidos
Você pode ouvir os eventos quando a participação de um contato termina por meio do observador audioVideoDidStop. Os códigos de status específicos podem variar de acordo com a plataforma.
A chamada atinge a capacidade
Quando mais de seis pessoas tentarem participar da chamada, outros participantes receberão o erro a seguir e não poderão participar até que outros saiam.
-
iOS:
MeetingSessionStatusCode.audioCallAtCapacityouMeetingSessionStatusCode.audioAuthenticationRejected -
Android:
MeetingSessionStatusCode.AudioCallAtCapacityouMeetingSessionStatusCode.AudioAuthenticationRejected. -
JavaScript:
MeetingSessionStatusCode.AudioCallAtCapacityouMeetingSessionStatusCode.AudioAuthenticationRejected
Participante removido da chamada
Quando um participante é removido da chamada pelo atendente, mas o contato continua para outros participantes, ele recebe o código de status a seguir. Observe que, se a remoção do participante causar o término do contato, ele receberá esse status ou o status de término do contato.
-
iOS:
MeetingSessionStatusCode.audioServerHungupouMeetingSessionStatusCode.audioAuthenticationRejected -
Android:
MeetingSessionStatusCode.AudioServerHungupouMeetingSessionStatusCode.AudioAuthenticationRejected. -
JavaScript:
MeetingSessionStatusCode.AudioAttendeeRemovedouMeetingSessionStatusCode.AudioAuthenticationRejected
Fim do contato
Quando o contato real terminar completamente para todos os participantes, eles receberão o código de status a seguir.
-
iOS:
MeetingSessionStatusCode.audioCallEnded -
Android:
MeetingSessionStatusCode.AudioCallEnded -
JavaScript:
MeetingSessionStatusCode.AudioCallEnded