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

Captura de Impressão Digital - Phingers

Este componente requer uma versão mínima do iOS13

Introdução

O Componente tratado no documento atual recebe o nome de Phingers Component. Ele é responsável por realizar a captura das impressões digitais dos dedos (fingerprints) do usuário e a posterior extração dos templates das impressões digitais subsequentes. Suas principais funcionalidades são as seguintes:

  • Dois modos de funcionamento: extração dos quatro dedos da mão (exceto o polegar) ou extração apenas do polegar.

  • Gerenciamento interno da câmera.

  • Gerenciamento de permissões.

  • Detecção de vivacidade incorporada.

  • Assistente nos processos de captura das impressões digitais.

  • Geração dos templates com as características das impressões digitais, imagens e pontuações.

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ências

Para evitar conflitos e problemas de compatibilidade, caso se queira instalar o componente em um projeto que contenha uma versão antiga das bibliotecas da Facephi (Widgets), eles deverão ser removidos completamente antes da instalação dos componentes da SDKMobile.

CocoaPods

pod 'FPHISDKMainComponent', '~> $VERSION'
  • Para instalar o componente atual, deverá ser incluída a seguinte entrada no Podfile da aplicação:

pod 'FPHISDKPhingersTFComponent', '~> $VERSION'
  • Uma vez instaladas as dependências, será possível fazer uso das diferentes funcionalidades do componente.

SPM

  • As dependências obrigatórias que deverão ter sido instaladas previamente são:

  • Para instalar o componente de Selphid, deverá ser incluído nos módulos do projeto:

Permissões

Na aplicação cliente onde os componentes forem integrados, é necessário incorporar o seguinte elemento no arquivo Info.plist:

Controladores disponíveis

Controlador

Descrição

PhingersController

Controlador principal de captura de impressões digitais

Lançamento simplificado

Configuração básica

Para lançar o componente atual, deverá ser criado um objeto PhingersConfigurationData que será a configuração do controlador do componente.

A configuração básica necessária é a seguinte:

As diferentes orientações são:

  • LEFT

  • RIGHT

Os diferentes filtros são:

  • SLAP

  • ALL_4_FINGERS_ONE_BY_ONE

  • ALL_5_FINGERS_ONE_BY_ONE

  • INDEX_FINGER

  • MIDDLE_FINGER

  • RING_FINGER

  • LITTLE_FINGER

  • THUMB_FINGER

Recebimento do resultado

Os controllers devolverão a informação necessária no formato SdkResult.

Recebimento de erros

Na parte do erro, teremos a classe comum ErrorType:

  • PHG_CANCEL_BY_USER: O usuário cancelou o processo.

  • PHG_COMPONENT_LICENSE_ERROR: A licença do componente não está correta.

  • PHG_EMPTY_LICENSE: O String da licença está vazia.

  • PHG_INITIALIZATION_ERROR: Erro de inicialização.

  • PHG_INTERNAL_ERROR: Erro interno.

  • PHG_LOW_QUALITY: Baixa qualidade da imagem.

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

  • PHG_CAMERA_PERMISSION_DENIED: O usuário recusou as permissões.

  • PHG_CAMERA_FAILURE: Falha da câmera.

  • PHG_FINGERPRINT_TEMPLATE_IO_ERROR: Falha de I/O

  • PHG_NO_FINGERS_DETECTED: Erro na detecção de impressões digitais

  • PHG_TIMEOUT: Timeout no processo.

Recebimento de execução correta - data

Na parte de data, teremos a classe PhingersResult.

O campo data é variável e dependerá de qual componente devolveu o resultado. No caso deste componente, os campos devolvidos são os seguintes:

Fingers

position

Retorna um inteiro que representa o elemento capturado. Este valor é definido de acordo com as instruções do NIST_POS_CODE.

displayImage

Contém a imagem processada.

wsq

A impressão digital em formato WSQ.

minutiaesNumber

Retorna o número de minúcias encontradas na captura biométrica.

quality

Inteiro que representa a qualidade do elemento processado.

nistQuality

Inteiro que representa a qualidade do elemento processado usando os padrões NIST.

nist2Quality

Inteiro que representa a qualidade do elemento processado usando uma versão alternativa dos padrões NIST.

livenessScore

Contém um valor do indicador de confiança na captura.

template

Contém o template gerado.

SlapImages

position

Retorna um inteiro que representa o elemento capturado. Este valor é definido de acordo com as instruções do NIST_POS_CODE.

image

Contém a imagem processada.

livenessScore

Contém um valor do indicador de confiança na captura.

Informações avançadas

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

Configuração avançada do componente

Para lançar o componente atual, deverá ser criado um objeto PhingersConfigurationData que será a configuração do controlador do componente.

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

reticleOrientation

Configura qual mão será capturada. Os valores permitidos são:

  • LEFT: Ativa a captura dos dedos da mão esquerda.

  • RIGHT: Ativa a captura dos dedos da mão direita.

fingerFilter

Configura o modo de detecção de impressões digitais que será usado durante a captura. Os valores permitidos são:

  • INDEX_FINGER: Configura a captura com o dedo indicador.

  • MIDDLE_FINGER: Configura a captura com o dedo médio.

  • RING_FINGER: Configura a captura com o dedo anelar.

  • LITTLE_FINGER: Configura a captura com o dedo mindinho.

  • THUMB_FINGER: Configura a captura com o dedo polegar.

  • SLAP: Configura a captura dos quatro dedos com uma só foto.

  • ALL_4_FINGERS_ONE_BY_ONE: Configura a captura dos quatro dedos fazendo uma foto para cada um deles.

  • ALL_5_FINGERS_ONE_BY_ONE: Configura a captura dos cinco dedos fazendo uma foto para cada um deles.

templateType

Especifica o template com o qual a impressão digital será devolvida no resultado. O enumerado TemplateType tem os seguintes valores possíveis:

  • ISO_TEMPLATE: Este template faz referência ao padrão ISO/IEC 19794-4.

  • NIST_TEMPLATE: Este template faz referência ao padrão NIST.

  • NIST_TF_TEMPLATE: Este é o valor padrão. Este template faz referência a uma variante do padrão NIST que facilita o processamento e a avaliação da amostra.

extractionTimeout

Define o tempo máximo que a leitura pode durar.

showPreviousTip

Mostra uma tela prévia ao lançamento da captura com informações sobre o processo a ser realizado e um botão para o lançamento.

showTutorial

Indica se o componente ativa a tela de tutorial. Nesta visualização é explicado de forma intuitiva como a captura é realizada.

vibrationEnabled

Se receber o valor true, a vibração é ativada em erros e quando a resposta do widget é OK.

showDiagnostic

Mostrar telas de diagnóstico ao final do processo.

livenessThreshold

Configura o limiar de liveness do detector de impressões digitais. Substitui o antigo parâmetro único threshold (desde 2.8.1). Valor padrão: 0,9.

detectorThreshold

Configura o limiar do detector de impressões digitais. Substitui o antigo parâmetro único threshold (desde 2.8.1). Valor padrão: 0,9.

enableFlash

Ativa o flash durante a captura. Valor padrão: false. A partir de 2.8.1, o flash também pode ser ativado automaticamente se o processo detectar pouca luz na imagem para melhorar o processo de captura, embora o parâmetro esteja em false.

showEllipses

Desenha uma elipse durante a captura quando uma possível impressão digital é detectada.

cropWidth & cropHeight

Indica uma largura e altura para realizar um recorte da captura.

showPreviousFingerSelector

Indica se a tela "showPreviousFingerSelector" é exibida ou não.

fingerSelectorHandOrientation

Indica quais opções de mão serão mostradas na tela PreviousFingerSelectorView.

fingerSelectorOptions

Indica quais opções de dedos serão mostradas na tela PreviousFingerSelectorView.

Personalização do componente

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

Textos

Os textos podem ser personalizados sobrescrevendo o valor das seguintes chaves em um Localizable.strings. As chaves que contêm o sufixo _alt são os literais utilizados nas etiquetas de acessibilidade necessárias para a funcionalidade de VoiceOver.

Dessa forma, se desejar modificar, por exemplo, o texto “Começar” da chave phingers_widget_tip_button para o idioma es, deverá-se ir ao arquivo Localizable.strings da pasta es.lproj se ele existir (se não, deverá ser criado) e, então, adicionar:

"phingers_widget_tip_button"="Start";

Se uma mensagem não for especificada no arquivo do idioma, ela será preenchida com a mensagem padrão.

Animações

Se desejar modificar as animações (lottie) do SDK, seria necessário incluir as animações com o mesmo nome na pasta Resources da aplicação.

Atualizado