
Apresentando o recurso Call Diagnostics dos Serviços de Comunicação do Azure para aplicativos da web
Hoje temos o prazer de anunciar que o recurso Call Diagnostics está disponível no ACS Web Calling SDK para ajudá-lo a criar aplicativos com gerenciamento aprimorado da qualidade da experiência durante a chamada. Muitos fatores podem influenciar a qualidade da chamada: rede ruim, problemas de hardware, volume baixo, erros de sistema operacional e permissão, travamentos, etc. Você, como desenvolvedor, pode não saber sobre um problema específico que afeta a qualidade ou confiabilidade de uma chamada específica. A Microsoft monitora e analisa constantemente os parâmetros técnicos das chamadas e expõe dicas na API. Você pode usar as dicas para fornecer uma experiência melhor aos seus usuários. Por exemplo, você pode sugerir na IU (ou forçar) desligar a câmera se a largura de banda não for suficiente para áudio e vídeo simultaneamente. Ou avise ao usuário que ele fala enquanto está sem som. O SDK não tem acesso, coleta ou analisa quaisquer dados pessoais.
Aqui estão os diagnósticos que o SDK JS do Azure Communications Services expõe:
- Someone is on the video call and can’t see or hear the other party.
- Someone is speaking while being muted.
- Someone is experiencing bad video quality.
- If your device is not connected to a network.
- If during a call the WiFi signal goes on and off.
- Low bandwidth, no internet connection.
- All speakers are unplugged.
- All microphones are unplugged.
- Camera, microphone, speaker failures.
- Permission’s errors.
Vamos aprofundar as APIs de diagnóstico de chamadas, que oferecem suporte a dois tipos de modalidades:
- Media (audio, video, screen-sharing). Examples: noSpeakerDevicesEnumerated, speakingWhileMicrophoneIsMuted, noMicrophoneDevicesEnumerated, cameraFreeze, cameraStartFailed, cameraStartTimedOut, microphoneNotFunctioning, microphoneMuteUnexpectedly, screenshareRecordingDisabled, microphonePermissionDenied, cameraPermissionDenied.
- Network (everything related to user’s network). Examples: noNetwork, networkRelaysNotReachable, networkReconnect, networkReceiveQuality.
A lista exaustiva de diagnósticos de chamadas disponíveis para cada grupo pode ser encontrada em nossa documentação – Diagnósticos de chamadas.
O diagnóstico de chamadas é um recurso estendido do Call API principal. É muito simples adicionar o recurso de diagnóstico de chamadas ao seu aplicativo:
const callQualityApi = call.api(Features.Diagnostics);
Agora, tudo o que você precisa fazer é se inscrever em um ouvinte de eventos e, assim que o diagnóstico for recebido, você receberá uma chamada de retorno.
callQualityApi.network.on('diagnosticChanged', diagnosticChangedListener);
callQualityApi.media.on('diagnosticChanged', diagnosticChangedListener);
Para obter mais detalhes sobre a implementação, vá para a documentação oficial – Diagnóstico de chamadas.
Se você não tiver um aplicativo da web ativo, pode baixar o exemplo da web com diagnósticos já integrados de nosso GitHub e executá-lo.
Plataformas suportadas
O recurso Call Diagnostics está disponível no JS Calling SDK a partir de 1.2.0-beta.1 e é compatível com os seguintes navegadores de desktop e dispositivos móveis:
- Safari
- Edge
- Chrome
Os diagnósticos voltados para o usuário para outras plataformas (iOS, Android, Windows) estão no roteiro.
Preço
Não há taxa adicional para diagnósticos de chamadas.