Android
BCC Face é uma biblioteca Android destinada a ser integrada em uma aplicação Android.
Ela usa a câmera do dispositivo para tirar uma foto de um rosto para fins biométricos. Fornece um teste simples de vivacidade ativa, exigindo que a pessoa sorria por cerca de um segundo e/ou olhe para a direita ou para a esquerda. O teste de vivacidade inclui uma opção para falar as instruções, facilitando o fluxo de trabalho para os usuários. Além disso, fornece um teste de vivacidade passiva que pode ser usado para verificar se a foto foi tirada de uma pessoa real, sem exigir interação do usuário.
Este manual está atualizado para a versão BCC Face Mobile Android 4.11.3.
O teste de vivacidade passiva está disponível apenas a partir da versão 4.4.0 em diante.
Requisitos
BCC Face é uma biblioteca Android e deve ser importada para o projeto de destino.
Versão mínima do Android: Android 6.0 (SDK 23), "Marshmallow".
O dispositivo móvel deve ter uma câmera.
A aplicação nativa deve ser construída usando tecnologia Android.
Ambiente de desenvolvimento: é necessário um IDE Android, como o Android Studio (recomendado).
Dependências externas adicionais:
Google ML Kit, versão de detecção facial 16.1.7;
Lottie, versão 3.0.0;
RootBeer, versão 0.1.1;
Gson, versão 2.8.5;
Google Tink, versão 1.11.0;
Material Components, versão 1.6.1.
Serviços externos:
Firebase, da Google. É necessária uma conta, mas não haverá cobranças, pois a biblioteca usa apenas APIs no dispositivo.
Instalação
Adicionando a Biblioteca ao Projeto do App
BCC Face é fornecido pela Griaule como um .aar arquivo.
Para adicionar as bibliotecas, vá até o diretório do seu projeto, abra a pasta app e crie os diretórios: libs/bccface. Em seguida, adicione a dependência bccfacelib-release.aar . A estrutura de pastas deve ser semelhante a esta:

O próximo passo é tornar estes arquivos visíveis para as dependências do Gradle. Para isso, adicione a seguinte linha no arquivo build.gradle (:app)na objeto dependencies:
Dentro do build.gradle (:app) arquivo, adicione também as opções de compilação e defina Source Compatibility e Target Compatibility para usar Java 17:
Configurando o Google ML Kit
É recomendável seguir as instruções fornecidas em "Opção 1: Use o fluxo de configuração do console do Firebase" da documentação do Firebase para Android: Adicione o Firebase ao seu projeto Android.
É necessária uma conta, mas não serão aplicadas cobranças, pois a biblioteca usa apenas APIs no dispositivo: Veja os detalhes de preços do Firebase.
Se Opção 1 for escolhida, certifique-se de gerar o arquivo google-services.json e de colocá-lo no diretório android/app/ .
Faça alterações nos seguintes arquivos:
android/build.gradleandroid/app/build.gradle, adicione ao final do arquivo:
Configurando todas as dependências
Faça alterações nos seguintes arquivos:
android/build.gradleandroid/app/build.gradle
Uso
Parâmetros e Construtor
Para usar corretamente a biblioteca BCC Face, há alguns parâmetros obrigatórios.
Um exemplo simples de uso da biblioteca é mostrado abaixo:
O BCCFaceBuilder o construtor da classe recebe os seguintes parâmetros:
context: Context- O contexto da aplicação.delegate: BCCFaceDelegate- Interface responsável por notificar eventos de captura (por exemplo, falha ou sucesso).
O BCCFaceBuilder a classe é responsável por lidar com a configuração de uso para BCCFace. Os seguintes parâmetros são aceitos para configurar a captura biométrica e o comportamento do software:
buildSmileCheck(smileProbability: Float = 0.8f)- Adiciona sorriso ao teste de vivacidade e define o limiar de aceitação. Este recurso está ativado por padrão.removeSmileCheck()- Remove o sorriso da verificação de vivacidade.buildRotationCheck(livenessConfigList: List<HeadRotationCheck>, headRotationAngle: Float = 20f)- Define uma lista de testes de vivacidade para rotação da cabeça e o ângulo máximo de rotação. Este recurso está ativado por padrão. As opções de rotação da cabeça são:removeHeadRotation()- Remove a rotação da cabeça da verificação de vivacidade.addPassiveLiveness()- Adiciona o teste de vivacidade passiva. Este recurso é usado para verificar se a foto capturada é de uma pessoa real, sem exigir qualquer interação do usuário. Para usar este recurso, você DEVE desativar as verificações de vivacidade ativas (removeSmileCheck()eremoveHeadRotation()) que são adicionadas por padrão.buildSpeechSettings(speechSettings: SpeechSettings?)- Define os critérios para a fala de acessibilidade, usando os seguintes parâmetros:volume- O volume do áudio entre0.0e1.0.startsMuted- Define se as instruções começam silenciadas ou não (truepara silenciado).pitch- Define o tom de voz das instruções entre0.5(grave) e2.0(agudo).speed- Define a velocidade da voz das instruções. Este valor deve ser positivo.
Os valores predefinidos podem ser acessados por meio da variável estática:
removeSpeech()- Remove a fala de acessibilidade.setInstructionEnable(enable: Boolean)– Define se a tela de instruções está ativada ou desativada.forceLanguage(language: BCCFaceAPI.BCCLanguages?)- Força que as instruções sejam exibidas em um único idioma. Se o idioma do dispositivo não for suportado, o inglês será usado. Os idiomas suportados são:removeLanguage()- Remove o idioma forçado.enableFlipCameraButton(enable: Boolean)- Ativa (true) ou desativa (false) o botão de troca de câmera (câmera frontal ou traseira). Padrão: ativado (true).enableFlashButton(enable: Boolean)– Ativa (true) ou desativa (false) o botão de flash na câmera traseira. Padrão: desativado (false).enableManualCapture(enable: Boolean)– Ativa (true) ou desativa (false) o botão de captura manual, permitindo que o usuário ignore as verificações automáticas de captura. Ao realizar uma captura manual, o usuário poderá revisar a foto capturada antes de concluir o processo.enableIntegrityValidation(clientSecret: ByteArray, nonce: ByteArray)– Ativa a validação de integridade para detecção de vivacidade passiva, adicionando uma camada extra de segurança para garantir a integridade do payload.setImageCompressionFormat(format: ImageCompressionFormat)– Define o formato de compressão para uma captura de vivacidade passiva. As opções disponíveis sãoImageCompressionFormat.JPEG(padrão) ouImageCompressionFormat.JPEG200.setCameraInitialDirection(CameraFacingDirection.<FRONT or BACK>)– Define a direção inicial da câmera. Escolha entre:CameraFacingDirection.FRONT– Câmera frontal (configuração padrão).CameraFacingDirection.BACK– Câmera traseira.
Todas as configurações de direção da câmera são obtidas por meio da combinação dos métodos enableFlipCameraButton e setCameraInitialDirection . Por exemplo:
Comece com a câmera frontal e ative o botão de troca de câmera:
Comece com a câmera traseira e desative o botão de troca de câmera:
Como referência, aqui está a lista completa de parâmetros e valores padrão:
O teste de vivacidade ativa (usando sorriso e rotação aleatória da cabeça) está ativado por padrão. Para usar apenas a verificação de vivacidade passiva, antes de adicioná-la, é necessário remover os métodos de vivacidade ativa do construtor:
Aqui está um trecho de código para inicializar uma captura usando apenas o teste de vivacidade passiva:
Valores de Retorno
Os resultados da última captura facial podem ser recuperados usando o método faceCaptureDidFinish da interface BCCFaceDelegate :
O data o objeto contém ambas as imagens capturadas durante o processo:
As propriedades retornadas são:
originalPhoto(imagem) - A foto original tirada pela câmera.croppedPhoto(imagem) - A foto recortada, que é a imagem do rosto recortada da foto original.passiveResult(ByteArray) - Conteúdo do arquivo da coleta para vivacidade passiva. Está presente apenas se a captura for bem-sucedida. É o retorno da coleta para vivacidade passiva como ByteArray JPEG. Estes dados podem ser salvos/exportados diretamente para um arquivo ou enviados para a rede (para networking: a codificação do sistema pode ser facilmente feita, por exemplo, string Base64).
O originalPhoto e croppedPhoto as propriedades retornam null quando a captura é realizada apenas para testes passivos (ou seja, sem incluir um teste ativo).
Se o usuário abortar a captura, fechando antes de capturar a biometria, o método faceCaptureDidAbort será chamado. Você pode implementar este método para tratar este cenário.
Projeto de Exemplo
Este é um projeto de exemplo funcional para uma captura facial usando BCC Mobile Face Android:
Instruções do Agente: Consultando Esta Documentação
Se você precisar de informações adicionais que não estejam disponíveis diretamente nesta página, pode consultar a documentação dinamicamente fazendo uma pergunta.
Faça uma requisição HTTP GET na URL da página atual com o parâmetro de consulta ask :
A pergunta deve ser específica, autocontida e escrita em linguagem natural. A resposta conterá uma resposta direta à pergunta e trechos e fontes relevantes da documentação.
Use este mecanismo quando a პასუხa não estiver explicitamente presente na página atual, quando você precisar de esclarecimento ou contexto adicional, ou quando quiser recuperar seções relacionadas da documentação.
Last updated
Was this helpful?

