Nesta página, mostramos como ativar o App Check em um app Android usando o provedor integrado da Play Integrity. Ao ativar o App Check, você ajuda a garantir que apenas seu app possa acessar os recursos do Firebase do seu projeto. Consulte a Visão geral desse recurso.
Atualmente, o provedor integrado da Play Integrity é compatível apenas com apps para Android distribuídos pelo Google Play. Para usar os recursos de fora do Google Play da Play Integrity ou usar o App Check com seu provedor personalizado, consulte Implementar um provedor personalizado do App Check.
1. Configurar seu projeto do Firebase
Adicione o Firebase ao seu projeto Android, caso ainda não tenha feito isso.
Ative a API Play Integrity:
No Google Play Console, selecione seu app ou adicione-o se for necessário.
Na seção Versão, clique em Integridade do app.
Acesse a seção API Play Integrity da página, clique em Vincular projeto do Cloud e selecione seu projeto do Firebase na lista de projetos do Google Cloud. O projeto selecionado aqui precisa ser o mesmo do Firebase em que você registra o app (consulte a próxima etapa).
Registre seus apps para usar o App Check com o provedor da Play Integrity na seção App Check do Console do Firebase. Você precisará fornecer a impressão digital SHA-256 do certificado de assinatura do app.
Geralmente, é necessário registrar todos os apps do projeto porque, depois de ativar a aplicação de um produto do Firebase, somente apps registrados poderão acessar os recursos de back-end do produto.
Opcional: nas configurações de registro do aplicativo, defina um time to live (TTL) personalizado para os tokens do 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. Observe que a biblioteca do App Check atualiza os tokens em aproximadamente metade da duração do TTL.
2. Adicionar a biblioteca do App Check ao seu app
No arquivo Gradle do módulo (nível do app) (geralmente<project>/<app-module>/build.gradle.kts
ou
<project>/<app-module>/build.gradle
),
adicione a dependência da biblioteca do App Check para Android Para gerenciar o
controle de versões das bibliotecas, recomendamos usar a
BoM do Firebase para Android.
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.1.1")) // Add the dependencies for the App Check libraries // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-appcheck-playintegrity") }
Com a BoM do Firebase para Android, 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 a BoM
Se você preferir não usar a BoM do Firebase, especifique cada versão das bibliotecas do Firebase na linha de dependência correspondente.
Se você usa várias bibliotecas do Firebase no seu app, recomendamos utilizar a BoM para gerenciar as versões delas, porque isso ajuda a garantir a compatibilidade de todas as bibliotecas.
dependencies { // Add the dependencies for the App Check libraries // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-appcheck-playintegrity:18.0.0") }
3. Inicializar o App Check
Adicione o seguinte código de inicialização ao app para que ele seja executado antes de usar outros SDKs do Firebase:
Kotlin+KTX
Firebase.initialize(context = this) Firebase.appCheck.installAppCheckProviderFactory( PlayIntegrityAppCheckProviderFactory.getInstance(), )
Java
FirebaseApp.initializeApp(/*context=*/ this); FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance(); firebaseAppCheck.installAppCheckProviderFactory( PlayIntegrityAppCheckProviderFactory.getInstance());
Próximas etapas
Depois que a biblioteca do App Check estiver instalada no seu app, comece a distribuir o app atualizado 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, mas os produtos dessa plataforma não exigirão que os tokens sejam válidos até que você ative a aplicação obrigatória na seção "App Check" do Console do Firebase.
Monitorar métricas e ativar a aplicação obrigatória
Antes de ativar a aplicação obrigatória, verifique se isso não vai afetar seus usuários legítimos. Por outro lado, 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ções do App Check no Realtime Database, Cloud Firestore, Cloud Storage e Authentication (Beta).
- Monitore as métricas de solicitações do App Check no Cloud Functions.
Ativar a aplicação obrigatória do App Check
Assim que você entender como o App Check vai afetar seus usuários, e se estiver tudo pronto para prosseguir com o processo, ative a aplicação obrigatória do App Check:
- Ative a aplicação obrigatória do App Check no Realtime Database, Cloud Firestore, Cloud Storage e Authentication (Beta).
- Ative a aplicação obrigatória do App Check no Cloud Functions.
Usar o App Check em ambientes de depuração
Se, depois de registrar seu aplicativo no App Check, você quiser executá-lo em um ambiente que o App Check normalmente não classificaria como válido, como um emulador durante o desenvolvimento ou de uma integração contínua (CI), será possível criar um build de depuração do seu app que use o provedor de depuração do App Check em vez de um provedor de atestado real.
Consulte Usar o App Check com o provedor de depuração no Android.