Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

Comece a usar o App Check com o Play Integrity no Android

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

Esta página mostra como habilitar 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 de integridade do Google Play integrado é compatível apenas com aplicativos Android distribuídos pelo Google Play. Para usar os recursos off-Play do Play Integrity ou usar o App Check com seu próprio provedor personalizado, consulte Implementar um provedor personalizado do App Check .

1. Configure seu projeto do Firebase

  1. Adicione o Firebase ao seu projeto Android, caso ainda não tenha feito isso.

  2. Ative a API Play Integrity:

    1. No Google Play Console , selecione seu aplicativo ou adicione-o, caso ainda não tenha feito isso.

    2. Na seção Versão , clique em Configuração > Integridade do aplicativo .

    3. Na página da Integrity API , clique em Vincular projeto e selecione seu projeto do Firebase na lista de projetos do Google Cloud.

      O projeto selecionado aqui deve ser o mesmo projeto do Firebase que você registrou seu aplicativo (veja a próxima etapa).

  3. Registre seus aplicativos para usar o App Check com o provedor Play Integrity na seção App Check do Firebase console. 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 de um produto Firebase, apenas os aplicativos registrados poderão acessar os recursos de back-end do produto.

  4. Opcional : nas configurações de registro do aplicativo, defina um tempo de vida (TTL) personalizado para os 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 realizará o atestado 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 reatestação frequente esgotam sua cota mais rapidamente e, para serviços pagos, podem custar mais. Consulte Cotas e limites .

    O TTL padrão de 1 hora é razoável para a maioria dos aplicativos. Observe que a biblioteca 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 ), adicione a dependência para a biblioteca do App Check Android. Recomendamos usar o Firebase Android BoM para controlar o controle de versão da biblioteca.

Java

dependencies {
    // Import the BoM for the Firebase platform
    implementation platform('com.google.firebase:firebase-bom:30.5.0')

    // Add the dependency for the App Check library
    // 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 do 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 em seu aplicativo, é altamente recomendável usar o BoM para gerenciar as versões da biblioteca, o que garante que todas as versões sejam compatíveis.

dependencies {
    // Add the dependency for the App Check library
    // When NOT using the BoM, you must specify versions in Firebase library dependencies
    implementation 'com.google.firebase:firebase-appcheck-playintegrity:16.0.2'
}

Kotlin+KTX

dependencies {
    // Import the BoM for the Firebase platform
    implementation platform('com.google.firebase:firebase-bom:30.5.0')

    // Add the dependency for the App Check library
    // 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 do 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 em seu aplicativo, é altamente recomendável usar o BoM para gerenciar as versões da biblioteca, o que garante que todas as versões sejam compatíveis.

dependencies {
    // Add the dependency for the App Check library
    // When NOT using the BoM, you must specify versions in Firebase library dependencies
    implementation 'com.google.firebase:firebase-appcheck-playintegrity:16.0.2'
}

3. Inicialize o App Check

Adicione o seguinte código de inicialização ao seu aplicativo para que ele seja executado antes de usar qualquer outro SDK do Firebase:

Java

FirebaseApp.initializeApp(/*context=*/ this);
FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance();
firebaseAppCheck.installAppCheckProviderFactory(
        PlayIntegrityAppCheckProviderFactory.getInstance());

Kotlin+KTX

FirebaseApp.initializeApp(/*context=*/this)
val 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 Firebase não exigirão que os tokens sejam válidos até que você ative a aplicação na seção App Check do Firebase console.

Monitore as métricas e ative a aplicação

Antes de habilitar a imposição, no entanto, você deve certificar-se de que isso não atrapalhe seus usuários legítimos existentes. Por outro lado, se você perceber o uso suspeito dos recursos do seu aplicativo, convém ativar a aplicação mais cedo.

Para ajudar a tomar essa decisão, consulte as métricas do App Check para os serviços que você usa:

Ativar a aplicação do App Check

Quando você entender como o App Check afetará seus usuários e estiver pronto para continuar, poderá ativar a aplicação do App Check:

Use o App Check em ambientes de depuração

Se, depois de registrar seu aplicativo para o 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 um ambiente de integração contínua (CI), você pode 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 .