Android - Biometria sob a tela

Não é. Apps que movem o padrão de senha pela tela não estão utilizando a API do sistema porém tem limitações, que eu vou explicar mais abaixo. Você não conseguir printar a tela de autenticação mostrada no Nubank é algo também forçado pelo sistema do aparelho e não pelo app.


Para nós não, sou desenvolvedor e sei do que estou falando. No Android atualmente você pode utilizar duas APIs diferentes para autenticar o seu app, elas são a FingerprintManager (disponível a partir do Android 6.0) e o método createConfirmDeviceCredentialIntent da API KeyguardManager (disponível a partir do Android 5.0) e que será substituído pelo novo método setDeviceCredentialAllowed da API BiometricPrompt (estará disponível a partir do Android Q).

Pois bem, vamos comparar o funcionamento delas. Com a FingerprintManager, o app pode personalizar a interface de autenticação como desejar pois ela é integrada diretamente no aplicativo, exemplos de apps usando essa API são o Banco do Brasil, Authy, AME Digital, entre outros. No entanto, a menos que o app implemente proteção por senha por conta própria, essa API suporta apenas leitores de impressão digital (nada de padrões, senhas, PINs, reconhecimento facial ou outros métodos que possam estar disponíveis no seu smartphone) e como comentei anteriormente, só funciona a partir do Android 6.0, o que exclui uma grande quantidade de aparelhos suportados pelo app do Nubank por não terem um Android atualizado ou por não terem um leitor de digitais.

Exemplos

Já a outra opção (que por sinal é a implementada no app do Nubank) é utilizar o método createConfirmDeviceCredentialIntent da API KeyguardManager. Ao invocar esse método, o usuário será levado a uma tela do sistema do aparelho (como mostrado na screenshot do meu post anterior e também no post do @rafael.duarte) que varia de smartphone para smartphone e que permite utilizar todos os métodos disponíveis no seu aparelho (padrões, PINs, biometria, reconhecimento facial, etc). Como a tela de autenticação gerada com essa API vem do sistema, o desenvolvedor do aplicativo não pode modificá-la, nem mesmo se quisesse. Porém, ela está disponível desde o Android 5.0 (o que abrange 90% dos dispositivos rodando Android) e permite que o usuário proteja o app de alguma forma independente do hardware de seu aparelho, visto que padrões, PINs e senhas sempre estão disponíveis na ausência da biometria.

Explicado o funcionamento da autenticação no Android, você acha mesmo que o Nubank, que presa por ser simples e descomplicado de usar, vai limitar o uso desse recurso de proteção do app apenas à smartphones com Android 6.0 ou superior e que tenham algum tipo de leitor de digitais (excluindo uma grande quantidade de aparelhos no processo) só porque o fabricante do seu modelo específico de smartphone tem um problema no layout da tela de autenticação do sistema do seu aparelho que te impede de usar o leitor embutido na tela (e que pode ser corrigido com uma simples atualização de firmware)? Acho que não né…

1 curtida