For the complete documentation index, see llms.txt. This page is also available as Markdown.

Videochamada - VideoCall

Introdução

A Captura Facial é realizada com o Componente VideoCall.

Este componente é responsável por gerenciar a comunicação entre um usuário e um agente (videoassistência). Seus principais processos são:

  • Gestão interna de câmeras, microfone e permissões.

  • Conexão com os serviços.

Na seção de Lançamento simplificado são detalhados os passos necessários para a integração básica do SDK. Nesta seção é adicionada a informação para o lançamento deste componente.

Dependência

A dependência específica do componente é:

implementation "com.facephi.androidsdk:videocall_component:$version"

Controladores disponíveis

Controlador

Descrição

VideoCallController

Controlador principal de Videochamada

StopVideoCallController

Parar o compartilhamento de tela e a chamada em andamento

Lançamento simplificado

Uma vez iniciado o SDK e criada uma nova operação, será possível lançar o componente. Será possível fazer uso de qualquer um de seus controladores para executar sua funcionalidade.

Lançamento:

Configuração básica

Para iniciar o componente atual, deverá ser criado um objeto VideoCallConfigurationData que será a configuração do controlador do componente.

A configuração básica necessária não precisará de nenhum parâmetro:

Recebimento do resultado

O lançamento retornará as informações no formato SdkResult. Podendo diferenciar-se entre um lançamento correto e um incorreto:

Recebimento de erros

Os erros serão retornados como um objeto 'VideoCallError'.

Lista de erros:

  • VCL_ACTIVITY_RESULT_MSG_ERROR: O resultado da atividade está incorreto

  • VCL_APPLICATION_CONTEXT_ERROR: O contexto de aplicação necessário é nulo

  • VCL_CANCEL_BY_USER: O usuário cancelou o processo

  • VCL_CANCEL_LAUNCH: Foi feito um cancelamento geral do SDK

  • VCL_COMPONENT_LICENSE_ERROR: A Licença do componente não está correta

  • VCL_EMPTY_LICENSE: A String de Licença está vazia

  • VCL_FACE_DETECTION_TIMEOUT: Nenhum rosto foi detectado

  • VCL_FETCH_DATA_ERROR: Erro na coleta do resultado

  • VCL_FLOW_ERROR: Erro no processo de flow

  • VCL_INITIALIZATION_ERROR: Erro de Inicialização

  • VCL_MANAGER_NOT_INITIALIZED: Os managers são nulos

  • VCL_NETWORK_CONNECTION: Erro na conexão com a internet

  • VCL_NO_DATA_ERROR: Os dados de entrada são nulos

  • VCL_OPERATION_NOT_CREATED: Não há nenhuma operação em andamento

  • VCL_PERMISSION_ERROR: O usuário rejeitou as permissões

  • VCL_SCREEN_SHARING_PERMISSION_ERROR: O usuário rejeitou a permissão para compartilhar tela

  • VCL_SOCKET_ERROR: Erro na conexão dos serviços

  • VCL_TIMEOUT: Timeout no processo

  • VCL_VIDEO_ERROR: Erro no processamento do vídeo

  • VCL_UNKNOWN_ERROR: Erro desconhecido

  • VCL_VIDEO_CALL_ACTIVE: Não é possível iniciar porque já há uma videochamada ativa

  • VCL_VIDEO_RECORDING_ACTIVE: Não é possível iniciar porque o processo de gravação de vídeo está ativo

Recebimento do resultado correto - data

Na parte de SdkResult.Success - data, teremos a classe VideoCallResult que terá uma única propriedade.

  • sharingScreen: Indica se a chamada continua ativa com compartilhamento de tela iniciado.

Quando o resultado for Success e o flag estiver ativo sharingScreen será possível ativar o compartilhamento de tela.


Informações avançadas

Esta seção amplia as informações do componente.

Configuração avançada do componente

Para iniciar o componente atual, deverá ser criado um objeto VideoCallConfigurationData que será a configuração do controlador do componente.

A seguir, estão detalhados todos os campos que fazem parte desta classe.

Os campos incluídos na configuração, normalmente não precisam ser informados pois são preenchidos internamente por meio da licença usada.

Esses campos geralmente são informados somente quando o servidor es OnPremise.

  • url: Caminho para o socket de vídeo.

  • apiKey: ApiKey necessária para a conexão com o socket de vídeo.

  • tenantId: Identificador do tenant que faz referência ao cliente atual, necessário para a conexão com o serviço de vídeo.

  • activateScreenSharing: Ativar a opção de compartilhar tela na chamada.

  • Timeout: Tempo de espera para que um agente atenda a chamada (ms).

Compartilhar tela

Quando o usuário ativar a funcionalidade de compartilhamento de tela, o resultado será recebido no controlador com "sharingScreen = true". Isso indica que a chamada continua em andamento.

Para encerrar a chamada, será usado o controlador StopVideoCallController.

Os possíveis estados são:

O estado que indica a finalização completa da chamada é FINISH.


Personalização do componente

Além das alterações que podem ser feitas no nível do SDK (as quais são explicadas no documento de Personalização do SDK), este componente específico permite a modificação de sua interface.

Textos

Os textos podem ser personalizados adicionando um arquivo XML de recursos no aplicativo cliente e substituindo os valores padrão.

Cores

Animações

Se desejar modificar as animações (lottie) do SDK, é preciso incluir as animações com o mesmo nome na pasta res/raw/ da aplicação.

Views externas

É possível modificar completamente as telas do componente mantendo sua funcionalidade e navegação. Para isso, devem ser implementadas as interfaces a seguir:

Tela de diagnóstico de erro:

Uma vez criadas as classes que implementam as interfaces, no lançamento do componente será possível adicionar o parâmetro "customViews" para que sejam usadas no SDK.

Atualizado