Esta página mostra como ativar o App Check em um aplicativo Android usando o provedor Play Integrity integrado. Ao ativar o App Check, você ajuda a garantir que apenas seu aplicativo possa acessar os recursos do Firebase do seu projeto. Veja uma visão geral deste recurso.
Atualmente, o provedor Play Integrity integrado oferece suporte apenas a aplicativos Android distribuídos pelo Google Play. Para usar os recursos fora do jogo do Play Integrity ou para usar o App Check com seu próprio provedor personalizado, consulte Implementar um provedor personalizado do App Check .
1. Configure seu projeto 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 aplicativo ou adicione-o, caso ainda não tenha feito isso.
Na seção Versão , clique em Integridade do aplicativo .
Vá para 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 deve ser o mesmo projeto do Firebase em que você registrou seu aplicativo (veja a próxima etapa).
Registre seus aplicativos para usar o App Check com o provedor 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 seu aplicativo.
Normalmente, você precisa registrar todos os aplicativos do seu projeto porque, depois de ativar a aplicação para um produto do Firebase, somente os aplicativos registrados poderão acessar os recursos de back-end do produto.
Opcional : nas configurações de registro do aplicativo, defina um tempo de vida (TTL) personalizado para tokens do App Check emitidos pelo provedor. Você pode definir o TTL para qualquer valor entre 30 minutos e 7 dias. Ao alterar esse valor, esteja ciente das seguintes compensações:
- Segurança: TTLs mais curtos fornecem segurança mais forte, pois reduzem a janela na qual um token vazado ou interceptado pode ser abusado por um invasor.
- Desempenho: TTLs mais curtos significam que seu aplicativo executará atestados com mais frequência. Como o processo de atestado do aplicativo adiciona latência às solicitações de rede sempre que é executado, um TTL curto pode afetar o desempenho do seu aplicativo.
- Cota e custo: TTLs mais curtos e reatestados frequentes esgotam sua cota mais rapidamente e, para serviços pagos, custam potencialmente mais. Consulte Cotas e limites .
O TTL padrão de 1 hora é razoável para a maioria dos aplicativos. Observe que a biblioteca do App Check atualiza os tokens em aproximadamente metade da duração do TTL.
2. Adicione a biblioteca App Check ao seu aplicativo
No arquivo Gradle do módulo (nível do aplicativo) (geralmente<project>/<app-module>/build.gradle.kts
ou <project>/<app-module>/build.gradle
), adicione a dependência para o App Check biblioteca para Android. Recomendamos usar o Firebase Android BoM para controlar o controle de versão da biblioteca.dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:32.8.0")) // 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") }
Ao usar o Firebase Android BoM , seu aplicativo sempre usará versões compatíveis das bibliotecas do Firebase Android.
(Alternativa) Adicionar dependências da biblioteca Firebase sem usar o BoM
Se você optar por não usar o Firebase BoM, deverá especificar cada versão da biblioteca do Firebase em sua linha de dependência.
Observe que se você usa várias bibliotecas do Firebase no seu aplicativo, é altamente recomendável usar a BoM para gerenciar as versões da biblioteca, o que garante que todas as versões sejam compatíveis.
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:17.1.2") }
3. Inicialize a verificação do aplicativo
Adicione o seguinte código de inicialização ao seu aplicativo para que ele seja executado antes de você usar qualquer outro SDK 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óximos passos
Depois que a biblioteca do App Check estiver instalada em seu aplicativo, comece a distribuir o aplicativo atualizado para seus usuários.
O aplicativo cliente atualizado começará a enviar tokens do App Check junto com todas as solicitações feitas ao Firebase, mas os produtos do Firebase não exigirão que os tokens sejam válidos até que você ative a aplicação na seção App Check do console do Firebase.
Monitore métricas e habilite a aplicação
Antes de ativar a aplicação, no entanto, você deve certificar-se de que isso não interromperá seus usuários legítimos existentes. Por outro lado, se você perceber um uso suspeito dos recursos do seu aplicativo, convém ativar a aplicação mais cedo.
Para ajudar a tomar essa decisão, você pode observar as métricas do App Check para os serviços que você usa:
- Monitore métricas de solicitação do App Check para Realtime Database, Cloud Firestore, Cloud Storage e Authentication (beta).
- Monitore métricas de solicitação do App Check para Cloud Functions .
Ativar a aplicação do App Check
Quando você entender como o App Check afetará seus usuários e estiver pronto para prosseguir, poderá ativar a aplicação do App Check:
- Ative a aplicação do App Check para Realtime Database, Cloud Firestore, Cloud Storage e Authentication (beta).
- Ativar a aplicação do App Check para Cloud Functions .
Use 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 em um ambiente de integração contínua (CI), você poderá crie uma compilação de depuração do seu aplicativo 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 .