Guia de tratamento de retornos
Apresenta as informações necessárias sobre os diferentes tipos de retornos que o SDK fornece através da Activity do Android.
Os retornos estão explicados em detalhes, incluindo: estrutura, significado e como utilizá-los para aprimorar a funcionalidade e a jornada do usuário em seu aplicativo.
Liveness 3D
Para receber o resultado do Liveness implemente o método onActivityResult
ou o ActivityResultContracts
.
Exemplo de implementação
Captura de dados pelo método do ActivityResultContracts
:
private var startActivityForResult: ActivityResultLauncher<Intent>? = null
private fun registerLiveness3DActivity() {
startActivityForResult = registerForActivityResult(
ActivityResultContracts.StartActivityForResult()
) { result: ActivityResult ->
when (result.resultCode) {
Activity.RESULT_OK -> onLiveness3DResultOk(result)
Activity.RESULT_CANCELED -> onLiveness3DResultCancelled(result)
}
}
}
Captura de dados pelo método de Intent
:
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (requestCode == 3D_RESULT_REQUEST) {
when (resultCode) {
Activity.RESULT_OK -> onLiveness3DResultSuccess(data)
Activity.RESULT_CANCELED -> onLiveness3DResultCancelled(data)
}
}
}
Sucesso
O valor RESULT_OK
no retorno da Activity
assegura que o desafio de prova de vida foi concluído sem erros e fornece um objeto com as informações pertinentes ao resultado da validação biométrica.
Propriedade | Descrição |
---|---|
valid | Indica a autenticidade das informações verificadas na prova de vida. |
codID | Código identificador do tipo da transação. |
cause | Indica por qual motivo o processo finalizou sem sucesso (Biometria ou Prova de Vida). |
protocolo | Protocolo da transação de prova de vida. |
scanResultBlob | É um blob criptografado para uso do SDK no tratamento do retorno. |
Tabela de codID
Código | Descrição |
---|---|
1.0 | Prova de Vida Aprovada |
300.1 | Prova de Vida Reprovada (face não identificada; necessário retentativa) |
300.2 | Prova de Vida Reprovada (usuário bloqueado; retentativa não disponível) |
Exemplo dos valores de resposta
{
"valid": false,
"codID": 300.1,
"cause": "PROVA DE VIDA",
"protocol": "201900039067",
"scanResultBlob": "AAAAAaaaaa123456zzzzzzz"
}
Erro
O valor RESULT_CANCELED
no retorno da Activity
é devolvido quando alguma falha foi capturada no desafio de prova de vida e fornece um objeto que indica o erro ocorrido.
Erro | Descrição |
---|---|
INVALID_APP_KEY | App Key inválido. |
NO_CAMERA_PERMISSION | Não foi concedida permissão de acesso à câmera do aparelho. |
NO_INTERNET_CONNECTION | Sem conexão à Internet. |
LIVENESS_NOT_COMPLETED | Liveness não completada pelo usuário |
LIVENESS_NOT_INITIALIZED | Não foi possivel inicializar a appkey corretamente. |
TRANSACTION_NOT_COMPLETED | Não foi possível concluir a transação, tente novamente. |
Liveness 2D
Para receber o resultado do Liveness implemente o método onActivityResult
ou o ActivityResultContracts
.
Exemplo de implementação
Captura de dados pelo método do ActivityResultContracts
:
private var startActivityForResult: ActivityResultLauncher<Intent>? = null
private fun registerFaceCaptchaActivity() {
startActivityForResult = registerForActivityResult(
ActivityResultContracts.StartActivityForResult()
) { result: ActivityResult ->
when (result.resultCode) {
Activity.RESULT_OK -> onFaceCaptchaResultSuccess(data)
Activity.RESULT_CANCELED -> onFaceCaptchaResultCancelled(data)
}
}
}
Captura de dados pelo método de Intent
:
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (requestCode == CAPTCHA_RESULT_REQUEST) {
when (resultCode) {
Activity.RESULT_OK -> onFaceCaptchaResultSuccess(data)
Activity.RESULT_CANCELED -> onFaceCaptchaResultCancelled(data)
}
}
}
Sucesso
O valor RESULT_OK
no retorno da Activity
assegura que o desafio de prova de vida foi concluído sem erros e fornece um objeto com as informações pertinentes ao resultado da validação biométrica.
Propriedade | Descrição |
---|---|
valid | Indica a autenticidade das informações verificadas na prova de vida. |
codID | Código identificador do tipo da transação. |
cause | Indica por qual motivo o processo finalizou sem sucesso (Biometria ou Prova de Vida). |
uidProtocol | Protocolo da transação de prova de vida. |
Tabela de codID
Código | Descrição |
---|---|
1.0 | Prova de Vida Aprovada |
300.1 | Prova de Vida Reprovada (face não identificada; necessário retentativa) |
300.2 | Prova de Vida Reprovada (usuário bloqueado; retentativa não disponível) |
Exemplo dos valores de resposta
{
"valid": false,
"codID": 300.1,
"cause": "PROVA DE VIDA",
"uidProtocol": "201900039067"
}
Erro
O valor RESULT_CANCELED
no retorno da Activity
é devolvido quando alguma falha foi capturada no desafio de prova de vida e fornece um objeto que indica o erro ocorrido.
Erro | Descrição |
---|---|
INVALID_BUNDLE_PARAMS | Parâmetros inválidos. |
INVALID_APP_KEY | App Key inválido. |
CERTIFACE_OFF | Certiface offline. |
NO_FRONT_CAMERA | Aparelho não possui câmera frontal. |
NO_CAMERA_PERMISSION | Não foi concedida permissão de acesso à câmera do aparelho. |
NO_INTERNET_CONNECTION | Sem conexão à Internet. |
REQUEST_ERROR | Erro na requisição. |
CHALLENGE_INTERRUPTED | App foi minimizado durante o uso do FaceCaptcha, isso faz com que o desafio seja encerrado. |
LOW_MEMORY | Memória do aparelho está baixa. |
ERROR_CAMERA_SETUP | Erro ao configurar câmera. |
ERROR_CAPTURE_PICTURE | Erro ao capturar foto. |
INVALID_CUSTOM_FRAGMENT | XML fornecido para a view customizada é inválido. |
Doc Core
Para receber o resultado do Liveness implemente o método onActivityResult
ou o ActivityResultContracts
.
Exemplo de implementação
Captura de dados pelo método do ActivityResultContracts
:
private var startActivityForResult: ActivityResultLauncher<Intent>? = null
private fun registerDocumentscopyActivity() {
startActivityForResult = registerForActivityResult(
ActivityResultContracts.StartActivityForResult()
) { result: ActivityResult ->
when (result.resultCode) {
Activity.RESULT_OK -> onDocumentscopyResultSuccess()
Activity.RESULT_CANCELED -> onDocumentscopyCancelled(data)
}
}
}
Captura de dados pelo método de Intent
:
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (requestCode == DOCUMENTSCOPY_RESULT_REQUEST) {
when (resultCode) {
Activity.RESULT_OK -> onDocumentscopyResultSuccess()
Activity.RESULT_CANCELED -> onDocumentscopyCancelled(data)
}
}
}
Sucesso
O valor RESULT_OK
no retorno da Activity
assegura que o desafio de prova de vida foi concluído sem erros.
Erro
O valor RESULT_CANCELED
no retorno da Activity
é devolvido quando alguma falha foi capturada no desafio de prova de vida e fornece um objeto que indica o erro ocorrido.
Erro | Descrição |
---|---|
INVALID_BUNDLE_PARAMS | Parâmetros inválidos. |
INVALID_APP_KEY | App Key inválido. |
CERTIFACE_OFF | Certiface offline. |
NO_FRONT_CAMERA | Aparelho não possui câmera frontal. |
NO_CAMERA_PERMISSION | Não foi concedida permissão de acesso à câmera do aparelho. |
NO_INTERNET_CONNECTION | Sem conexão à Internet. |
REQUEST_ERROR | Erro na requisição. |
CHALLENGE_INTERRUPTED | App foi minimizado durante o uso do FaceCaptcha, isso faz com que o desafio seja encerrado. |
LOW_MEMORY | Memória do aparelho está baixa. |
ERROR_CAMERA_SETUP | Erro ao configurar câmera. |
ERROR_CAPTURE_PICTURE | Erro ao capturar foto. |
INVALID_CUSTOM_FRAGMENT | XML fornecido para a view customizada é inválido. |
Updated 3 months ago