| Selecionar plataforma: | iOS+ Android Web Flutter |
Esta página mostra como configurar o App Check em um app Android usando o provedor reCAPTCHA Enterprise. O App Check ajuda a garantir que apenas seu app possa acessar os recursos de back-end do seu projeto. Para saber mais, consulte nossa visão geral do App Check.
O App Check exige o uso de chaves reCAPTCHA baseadas em pontuação, o que o torna invisível para os usuários. Isso significa que o provedor reCAPTCHA Enterprise não vai exigir que os usuários resolvam um desafio a qualquer momento.
Se o caso de uso exigir recursos do reCAPTCHA Enterprise que não são implementados pelo App Check ou se você quiser usar o App Check com seu próprio provedor personalizado, consulte Implementar um provedor App Check personalizado.
1. Configurar seu projeto do Firebase
Adicione o Firebase ao projeto para Android, caso ainda não tenha feito isso.
No console do Google Cloud, acesse a página Fraud Defense e faça o seguinte para o provedor reCAPTCHA Enterprise:
Verifique se você está no projeto correto (consulte o seletor na parte de cima da tela).
Se solicitado, ative a API reCAPTCHA Enterprise.
Crie uma chave do tipo Android e especifique o nome do pacote do app (por exemplo,
com.example.my_app).Insira o mesmo nome de pacote fornecido ao criar o app Android do Firebase no Projeto do Firebase. O valor do nome do pacote diferencia maiúsculas de minúsculas.
Para App Check, cada nome de pacote só pode corresponder a uma única chave reCAPTCHA.
Para instruções detalhadas, consulte Criar chaves reCAPTCHA com base em pontuação.
Anote essa chave. Você precisará adicioná-lo ao fluxo de registro no console Firebase.
No console do Firebase, acesse Segurança > App Check.
Na guia Apps, registre seus apps Android para usar App Check com o provedor reCAPTCHA Enterprise. Você precisará fornecer a chave recebida no console Google Cloud.
Opcional: defina o time to live (TTL) do token.
Nas configurações de registro do app, defina um time to live (TTL) personalizado para tokens App Check emitidos pelo provedor. É possível definir o TTL como qualquer valor entre 30 minutos e 7 dias. Ao mudar esse valor, esteja ciente das seguintes compensações:
- Segurança: os TTLs mais curtos oferecem maior segurança, porque reduzem a janela em que um token vazado ou interceptado pode ser usado por um invasor.
- Desempenho: TTLs mais curtos significam que seu app realizará atestados com mais frequência. Como o processo de atestado do app adiciona latência às solicitações de rede sempre que é executado, um TTL curto pode afetar o desempenho do app.
- Cota e custo: TTLs mais curtos e novos atestados frequentes esgotam sua cota mais rapidamente e, para serviços pagos, podem custar mais. Consulte Cotas e limites.
O TTL padrão de uma hora é razoável para a maioria dos apps. A biblioteca App Check atualiza os tokens em aproximadamente metade da duração do TTL.
Opcional: configure as configurações avançadas.
Clique em Salvar.
(Opcional) Configurar configurações avançadas
Quando um usuário abre seu app, o reCAPTCHA Enterprise avalia o nível de risco da interação do usuário na chave e retorna uma pontuação entre 0,0 e 1,0, em incrementos de 0,1.
- Uma pontuação de 0,0 indica que a interação apresenta alto risco e pode ser fraudulenta.
- Uma pontuação de 1,0 indica que a interação apresenta risco baixo e muito provavelmente é legítima.
Com o App Check, é possível configurar um limite de risco do app para ajustar sua tolerância a esse risco.
Na maioria dos casos de uso, o valor de limite padrão de 0,5 é recomendado. Se o caso de uso exigir ajuste, você poderá configurar esse valor para cada um dos seus apps no console Firebase (acesse Segurança > App Check). Abra e confira algumas considerações importantes sobre a configuração do limite de risco do app abaixo.
2. Adicionar o SDK do App Check ao seu app
Para usar o provedor reCAPTCHA Enterprise, adicione a dependência correspondente.
<<project>/<app-module>/build.gradle.kts<project>/<app-module>/build.gradleApp CheckreCAPTCHA Recomendamos usar a
Firebase Android BoM
para controlar o controle de versões da biblioteca.
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:34.19.0")) // Add the dependency for the App Check reCAPTCHA library // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-appcheck-recaptcha") }
Com o Firebase Android BoM, seu app sempre vai usar versões compatíveis das bibliotecas do Firebase para Android.
(Alternativa) Adicionar dependências das bibliotecas do Firebase sem usar o BoM
Se você preferir não usar o Firebase BoM, especifique cada versão das bibliotecas do Firebase na linha de dependência correspondente.
Se você usa várias bibliotecas do Firebase no app, recomendamos utilizar o BoM para gerenciar as versões delas, porque isso ajuda a garantir a compatibilidade de todas as bibliotecas.
dependencies { // Add the dependency for the App Check reCAPTCHA library // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-appcheck-recaptcha:19.2.1") }
3. Inicializar o App Check
No seu app, é necessário inicializar o App Check antes de usar qualquer outro serviço do Firebase.
Kotlin
Firebase.initialize(context = this)
Firebase.appCheck.installAppCheckProviderFactory(
RecaptchaAppCheckProviderFactory.getInstance("SITE_KEY")
)
Java
FirebaseApp.initializeApp(/*context=*/ this);
FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance();
firebaseAppCheck.installAppCheckProviderFactory(
RecaptchaAppCheckProviderFactory.getInstance("SITE_KEY"));
4. Monitorar métricas e ativar a aplicação obrigatória
Depois de configurar o App Check no app, comece a distribuir a versão atualizada para os usuários.
O app cliente atualizado vai começar a enviar tokens do App Check em todas as solicitações feitas ao Firebase. No entanto, o App Check não vai bloquear solicitações com tokens inválidos até que o App Check seja aplicado.
Monitorar as métricas
Antes de ativar a aplicação obrigatória, verifique se isso não vai afetar seus usuários legítimos. No entanto, se você perceber um uso suspeito dos recursos do seu app, convém ativar a aplicação obrigatória antes do previsto.
Para tomar essa decisão, analise as métricas do App Check nos serviços usados:
- Monitore as métricas de solicitação App Check para Firebase AI Logic, SQL Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, Google Identity para iOS, API Maps JavaScript e API Places (novo).
- Monitore as métricas de solicitação do App Check para Cloud Functions.
Ativar a aplicação App Check
Assim que você entender como o App Check vai afetar seus usuários e estiver tudo pronto para seguir o processo, ative a aplicação do App Check:
- Ativar a aplicação de App Check para Firebase AI Logic, SQL Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, Google Identity para iOS, API Maps JavaScript e API Places (novo).
- Ative a aplicação de App Check para Cloud Functions.
Usar App Check em ambientes de depuração
O App Check classifica alguns ambientes como inválidos, como solicitações de um emulador / simulador durante o desenvolvimento ou de um ambiente de integração contínua (CI).
Para executar o app nesses tipos de ambientes depois que App Check for aplicado, crie um build de depuração do app que use o provedor de depuração do App Check em vez de um provedor de atestado de produção.
Para mais detalhes, consulte Usar App Check com o provedor de depuração no Android.
Preços
O App Check cria uma avaliação em seu nome para validar o token de resposta do usuário sempre que o app atualiza o token App Check. Seu projeto do Firebase será cobrado por cada avaliação criada acima da cota sem custo financeiro. Para mais detalhes, consulte reCAPTCHA preços.
Por padrão, seu app vai atualizar esse token duas vezes a cada uma hora. Para controlar a frequência com que o app atualiza os tokens do App Check (e, com isso, a frequência com que novas avaliações são criadas), você pode configurar o TTL do token.