Cada permissão que o seu app pede tem mais estados do que "permitido" e "negado". O usuário pode permitir uma vez, permitir só enquanto usa o app, negar, negar duas vezes, revogar depois nas configurações, ou deixar o sistema redefinir a permissão após um longo período sem uso do app. Cada estado precisa de uma tela sensata. A maioria dos bugs de permissão são becos sem saída: um botão que não faz nada, uma tela em branco, um pedido que nunca reaparece.
Primeiro, liste todas as permissões que o seu app usa (câmera, localização, notificações, contatos, microfone, armazenamento ou mídia, e assim por diante). Rode as sequências abaixo para cada uma.
As sequências
A. Primeiro pedido. 1. Use o recurso pela primeira vez. Esperado: o pedido do sistema aparece no momento em que o recurso precisa dele, precedido de um motivo curto se a finalidade não for óbvia. 2. Permita. Esperado: o recurso funciona na hora, sem reiniciar.
B. Negar. 3. Instalação limpa, negue. Esperado: o app explica o que está faltando e oferece um caminho, não uma tela em branco ou um crash. 4. Acione o recurso de novo após uma negativa. Esperado: o app pode pedir de novo ou explicar o motivo, sem insistir. 5. Negue repetidamente até o sistema parar de mostrar o pedido. Esperado: o app leva o usuário às configurações do app, com uma mensagem clara e um botão.
C. Concessões parciais. (Onde o sistema oferece.) 6. Escolha localização aproximada em vez de precisa, ou "apenas durante o uso". Esperado: o recurso funciona na medida do possível, ou diz o que precisa. 7. Escolha "permitir uma vez", saia do app e volte depois. Esperado: o app pede de novo em vez de falhar em silêncio.
D. Revogar com o app em execução. 8. Revogue a permissão nas configurações e volte ao app. Esperado: nenhum crash; o app percebe e trata a situação. O Android pode reiniciar o processo do app quando uma permissão é revogada, então verifique também a restauração de estado. 9. Revogue durante um recurso ativo, como uma gravação ou localização ao vivo. Esperado: parada limpa.
E. Outros caminhos. 10. Conceda nas configurações depois de negar e volte. Esperado: o recurso agora funciona. 11. Notificações: negue e ative depois. Esperado: o app não presume que estejam ativas. 12. Redefinição de permissão não usada: se o aparelho oferecer, verifique que voltar após uma longa pausa não quebra o app. 13. Remova permissões que você nunca usa e confirme que as permissões declaradas correspondem ao que o app faz. 14. Verifique um perfil de trabalho ou restrito, se você oferece suporte a isso.
Comandos adb úteis
Conceda ou revogue pelo computador para acelerar execuções repetidas:
adb shell pm revoke <seu.nome.do.pacote> android.permission.CAMERA
adb shell pm grant <seu.nome.do.pacote> android.permission.CAMERA
Troque o nome da permissão conforme necessário. Nem todas as permissões podem ser alteradas assim.
O que relatar
Dispositivo, versão do Android, permissão, letra da sequência e número do passo, o que a tela mostrou e uma captura de tela.
Limites
Os pedidos e as opções variam por versão do Android e por fabricante. As declarações na loja e os formulários de privacidade são separados deste teste funcional; confira as regras atuais da loja e, para questões jurídicas, busque orientação profissional (isto não é aconselhamento jurídico).
Visão geral: Teste de apps Android. Relacionados: economia de bateria e Doze e encerramento de processo.
Comece grátis no AppReviewX e deixe os testadores rodarem essas sequências e relatarem em privado.