passive_face_liveness_compatible

Last updated:

0 purchases

passive_face_liveness_compatible Image
passive_face_liveness_compatible Images
Add to Cart

Description:

passive face liveness compatible

PassiveFaceLiveness - Flutter Plugin #
Plugin que chama os SDKs nativos em Android e iOS. Caso tenha alguma dúvida, envie um email para o nosso Head of Mobile
Políticas de privacidade e termos e condições de uso #
Ao utilizar nosso plugin, certifique-se que você concorda com nossas Políticas de privacidade e nossos Termos e condições de uso.
Pré requisitos #



Configuração mínima
Versão




Flutter
1.12+


Dart
2.12+


Android API
21+


iOS
11.0+


Swift
5.5.2



Caso você utilize Dart em uma versão abaixo de 2.12, confira a versão compatível aqui.
Configurações #
Android #
No arquivo ROOT_PROJECT/android/app/build.gradle, adicione:
android {

...

dataBinding.enabled = true

compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}

}
copied to clipboard
iOS #
No arquivo ROOT_PROJECT/ios/Podfile, adicione no final do arquivo:
source 'https://github.com/combateafraude/iOS.git'
source 'https://cdn.cocoapods.org/' # ou 'https://github.com/CocoaPods/Specs' se o CDN estiver fora do ar
copied to clipboard
Por último, adicione a permissão de câmera no arquivo ROOT_PROJECT/ios/Runner/Info.plist:
<key>NSCameraUsageDescription</key>
<string>To capture the selfie</string>
copied to clipboard
Para habilitar texto e voz em Português, em seu projeto, no diretório ROOTPROJECT/ios, abra o arquivo .xcworkspace no Xcode e adicione em Project > Info > Localizations o idioma Portuguese (Brazil).
Flutter #
Adicione o plugin no seu arquivo ROOT_PROJECT/pubspec.yaml:
dependencies:
passive_face_liveness:
git:
url: https://github.com/combateafraude/Flutter.git
ref: passive-face-liveness-compatible-v4.27.0
copied to clipboard
Utilização #
PassiveFaceLiveness passiveFaceLiveness = new PassiveFaceLiveness(mobileToken: mobileToken);

// Outros parâmetros de customização

PassiveFaceLivenessResult passiveFaceLivenessResult = await passiveFaceLiveness.start();

if (passiveFaceLivenessResult is PassiveFaceLivenessSuccess) {
// O SDK foi encerrado com sucesso e a selfie foi capturada
} else if (passiveFaceLivenessResult is PassiveFaceLivenessFailure) {
// O SDK foi encerrado devido à alguma falha e a selfie não foi capturada
} else {
// O usuário simplesmente fechou o SDK, sem nenhum resultado
}
copied to clipboard
Customizações gerais #



PassiveFaceLiveness




.setPeopleId(String peopleId)CPF do usuário que está utilizando o plugin à ser usado para detecção de fraudes via analytics


.setPersonName(String personName)Vincula uma tentativa de prova de vida a um nome


.setPersonCPF(String personCPF)Vincula uma tentativa de prova de vida a um cpf


.setAnalyticsSettings(bool useAnalytics)Habilita/desabilita a coleta de dados para maximização da informação antifraude. O padrão é true


.setAudioSettings(bool enable, String audioResIdName)Habilita/desabilita os sons. Permite customizar o áudio utilizado pelo SDK. Caso deseje mudar o áudio do SDK, adicione o arquivo de audio em ROOT_PROJECT/android/app/src/main/res/raw/ com o nome desejado seguindo e o parametrize


.setShowPreview(ShowPreview showPreview) Preview para verificação de qualidade da foto


.setCaptureMode(VideoCapture videoCapture, ImageCapture imageCapture) Define as configurações de captura


.setAndroidSettings(PassiveFaceLivenessAndroidSettings androidSettings)Customizações somente aplicadas em Android


.setIosSettings(PassiveFaceLivenessIosSettings iosSettings)Customizações somente aplicadas em iOS






ShowPreview




bool showHabilita/Desabilita preview


String titleTítulo


String subTitle Subtítulo


String confirmLabelTexto do botão de confirmação


String retryLabelTexto do botão de capturar novamente



| Exemplo de uso |
ShowPreview showPreview = new ShowPreview(
show: true,
title: "A foto ficou boa?",
subTitle: "Veja se a foto está nítida",
confirmLabel: "Sim, ficou boa!",
retryLabel: "Tirar novamente");

passiveFaceLiveness.setShowPreview(showPreview);
copied to clipboard



MessageSettings




String stepNamePadrão: "Registro Facial"


String holdItMessagePadrão: "Segure assim"


String faceNotFoundMessagePadrão: "Não encontramos nenhum rosto"


String faceTooFarMessagePadrão: "Aproxime o rosto"


String faceTooCloseMessage (somente para Android)Padrão: "Afaste o rosto"


String faceNotFittedMessagePadrão: "Encaixe seu rosto"


String multipleFaceDetectedMessagePadrão: "Mais de um rosto detectado"


String verifyingLivenessMessagePadrão: "Verificando selfie…"


String invalidFaceMessagePadrão: "Ops, rosto inválido. Por favor, tente novamente"


String? sensorStabilityMessagePadrão: "Mantenha o celular parado"


String? sensorLuminosityMessage (somente para Android)Padrão: "Ambiente muito escuro"


String? sensorOrientationMessage (somente para Android)Padrão: "Celular não está na vertical"


String eyesClosedMessage (somente para Android)Padrão: "Seus olhos estão fechados"


String notCenterXMessage (somente para Android)Padrão: "Centralize seu rosto na vertical"


String notCenterYMessage (somente para Android)Padrão: "Centralize seu rosto na horizontal"


String notCenterZMessage (somente para Android)Padrão: "Seu rosto não está ajustado à máscara"



| Exemplo de uso |
MessageSettings messageSettings = new MessageSettings(
stepName: "Mensagem de exemplo",
faceNotFoundMessage: "Mensagem de exemplo",
faceTooFarMessage: "Mensagem de exemplo",
faceTooCloseMessage: "Mensagem de exemplo",
faceNotFittedMessage: "Mensagem de exemplo",
multipleFaceDetectedMessage: "Mensagem de exemplo",
verifyingLivenessMessage: "Mensagem de exemplo",
holdItMessage: "Mensagem de exemplo",
invalidFaceMessage: "Mensagem de exemplo");

passiveFaceLiveness.setMessageSettings(messageSettings);

copied to clipboard
Android



PassiveFaceLivenessAndroidSettings constructor




PassiveFaceLivenessCustomizationAndroid customizationCustomização do layout em Android da activity


CaptureSettings captureSettingsConfiguraçōes de tempos de estabilização para a captura da selfie


SensorSettingsAndroid sensorSettingsCustomização das configurações dos sensores de captura


int showButtonTimeAltera o tempo para a exibição do botão de captura manual. O padrão é 20000 milisegundos


bool enableSwitchCameraButtonPermite habilitar ou desabilitar o botão de inversão da câmera. O padrão é True


bool enableGoogleServicesPermite habilitar/desabilitar recursos do SDK que consomem GoogleServices no SDK, não recomendamos desabilitar os serviços por conta da perda de segurança. O padrão é True


bool emulatorSettingsPermite habilitar/desabilitar o uso de dispositivos emulados no SDK, recomendamos desabilitar o uso dos emuladores por questões de segurança. O padrão é False


bool rootSettingsPermite habilitar/desabilitar o uso de dispositivos com root no SDK, recomendamos desabilitar o uso desses dispositivos por questões de segurança. O padrão é False


bool useDeveloperModePermite habilitar/desabilitar o uso de dispositivos com o modo de desenvolvedor Android ativado. Recomendamos desabilitar o uso desses dispositivos por questões de segurança. O padrão é False


bool useAdbPermite habilitar/desabilitar o uso do modo de depuração Android Debug Bridge (ADB). Recomendamos desabilitar o uso desses dispositivos por questões de segurança. O padrão é False


bool useDebugPermite o uso do app em modo debug quando true. Recomendamos desabilitar o uso desses dispositivos por questões de segurança. O padrão é False


bool enableBrightnessIncreaseHabilita/desabilita o incremento de brilho do dispositivo do dispositivo na abertura do SDK






PassiveFaceLivenessCustomizationAndroid constructor




String styleResIdNameNome do style resource que define as cores do SDK. Por exemplo, caso deseje mudar as cores do SDK, crie um style em ROOT_PROJECT/android/app/src/main/res/values/styles.xml com o nome R.style.my_custom_style seguindo o template e parametrize "my_custom_style"


String layoutResIdNameNome do layout resource que substituirá o layout padrão do SDK. Por exemplo, caso deseje mudar o layout do SDK, crie um layout em ROOT_PROJECT/android/app/src/main/res/layout/my_custom_layout.xml seguindo o template e parametrize "my_custom_layout"


String greenMaskResIdNameNome do drawable resource à substituir a máscara verde padrão. Caso for usar este parâmetro, use uma máscara com a mesma área de corte, é importante para o algoritmo de detecção. Por exemplo, salve a imagem da máscara em ROOT_PROJECT/android/app/src/main/res/drawable/my_custom_green_mask.png e parametrize "my_custom_green_mask"


String redMaskResIdNameNome do drawable resource à substituir a máscara vermelha padrão. Caso for usar este parâmetro, use uma máscara com a mesma área de corte, é importante para o algoritmo de detecção. Por exemplo, salve a imagem da máscara em ROOT_PROJECT/android/app/src/main/res/drawable/my_custom_red_mask.png e parametrize "my_custom_red_mask"


String whiteMaskResIdNameNome do drawable resource à substituir a máscara branca padrão. Caso for usar este parâmetro, use uma máscara com a mesma área de corte, é importante para o algoritmo de detecção. Por exemplo, salve a imagem da máscara em ROOT_PROJECT/android/app/src/main/res/drawable/my_custom_white_mask.png e parametrize "my_custom_white_mask"


MaskType maskTypeDefine o tipo de máscara utilizada nas capturas. Existem dois tipos: MaskType.DEFAULT, com o padrão pontilhado e MaskType.NONE, que remove completamente a máscara. O padrão é MaskType.DEFAULT






CaptureSettings constructor




int beforePictureMillisDuração em milissegundos entre a primeira detecção do rosto e a efetiva captura da foto


int afterPictureMillisDuração em milissegundos entre a captura da foto e o envio para o servidor para o mantimento do rosto e dos sensores válidos






SensorSettingsAndroid constructor




SensorStabilitySettingsAndroid sensorStabilitySettingsConfigurações do sensor de orientação à ser aplicado em todos os passos do SDK






SensorStabilitySettingsAndroid constructor




int stabilityStabledMillisQuantos milissegundos o celular deve se manter no limiar correto para ser considerado estável. O padrão é 2000 ms


double stabilityThresholdLimiar inferior entre estável/instável, em variação de m/s² entre as últimas duas coletas do sensor. O padrão é 0.5 m/s²



iOS



PassiveFaceLivenessIosSettings constructor




PassiveFaceLivenessCustomizationIos customizationCustomização visual do SDK


int beforePictureMillisDuração em milissegundos entre a primeira detecção do rosto e a efetiva captura da foto


SensorStabilitySettingsIos sensorStabilityConfigurações do sensor de estabilidade à ser aplicado no SDK


bool enableManualCaptureHabilita modo de captura manual


double timeEnableManualCaptureDefine tempo para exibição do botão de captura manual






PassiveFaceLivenessCustomizationIos constructor




String colorHexCor tema do SDK. Por exemplo, caso deseje usar a cor preta, utilize "#000000"


String greenMaskImageNameNome da imagem à substituir a máscara verde padrão. Lembre de adicionar a imagem em Assets Catalog Document no seu projeto do XCode


String whiteMaskImageNameNome da imagem à substituir a máscara branca padrão. Lembre de adicionar a imagem em Assets Catalog Document no seu projeto do XCode


String redMaskImageNameNome da imagem à substituir a máscara vermelha padrão. Lembre de adicionar a imagem em Assets Catalog Document no seu projeto do XCode


String closeImageNameNome da imagem à substituir o botão de fechar o SDK. Lembre de adicionar a imagem em Assets Catalog Document no seu projeto do XCode


bool showStepLabelFlag que indica se deseja mostrar o label do passo atual


bool showStatusLabelFlag que indica se deseja mostrar o label do status atual


double buttonSizeValor que define o tamanho do botão de "fechar" o SDK


String buttonContentModeAtributo que define o content mode do botão de "fechar" o SDK. Escolha entre esses valores.






SensorStabilitySettingsAndroid constructor




String messageString à ser mostrada quando o celular não estiver estável


double stabilityThresholdLimiar inferior entre estável/instável, em variação de m/s² entre as últimas duas coletas do sensor. O padrão é 0.3 m/s²



Coletando o resultado #
O objeto de retorno do PassiveFaceLiveness é do tipo abstrato PassiveFaceLivenessResult. Ele pode ser uma instância de PassiveFaceLivenessSuccess, PassiveFaceLivenessFailure ou PassiveFaceLivenessClosed.
PassiveFaceLivenessSuccess



Campo




String imagePathEndereço completo da imagem no dispositivo


String imageUrlURL da imagem armazenada temporariamente nos servidores da CAF


String signedResponseResposta assinada do servidor da CAF que confirmou que a selfie capturada possui um rosto verdadeiro (não é foto de foto ou vídeo). Utilize esse parâmetro caso queira uma camada extra de segurança verificando se a assinatura da resposta não está quebrada, provocada por uma interceptação da requisição. Se estiver quebrada, há um grande indício de interceptação da requisição


String trackingIdIdentificador dessa execução em nossos servidores. Se possível, salve este campo e mande-o junto para nossa API. Assim, teremos mais dados de como o usuário se comportou durante a execução



PassiveFaceLivenessFailure



Campo




String messageMensagem amigável explicando o motivo da falha do SDK


String typeTipo de falha que encerrou o SDK



Os tipos de falha existentes são:

InvalidTokenReason: quando o token informado é inválido. Não deve ocorrer em um ambiente de produção;
PermissionReason: quando alguma permissão obrigatória não foi concedida pelo usuário. Só ocorrerá em um ambiente de produção se o seu app não solicitar ao seu usuário ou o mesmo desabilitar manualmente antes de iniciar;
NetworkReason: falha de conexão com o servidor. Ocorrerá em produção se o dispositivo do usuário estiver sem internet;
ServerReason: falha em alguma requisição com nossos servidores. Ocorrerá em produção somente no caso de uma falha nossa;
SecurityReason: quando o dispositivo não é seguro para executar o SDK. Se esta falha ocorrer, avise-nos;
StorageReason: quando o dispositivo não possui espaço suficiente para a captura de alguma foto. Pode ocorrer em produção;
LibraryReason: quando alguma falha interna impossibilitou a execução do SDK. Pode ocorrer devico à erros de configuração do projeto, não deve ocorrer em produção;

Customizando view iOS #
Para customização iOS, é necessário que os plugins Flutter estejam adicionados localmente no projeto. A customizção é realizada nativamente com a abordagem ViewCode.
Clique aqui e acesse o exemplo com um guia para utilização desse recurso.

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Files In This Product:

Customer Reviews

There are no reviews.