Cette page vous montre comment activer App Check dans une application Android, à l'aide du fournisseur Play Integrity intégré. Lorsque vous activez App Check, vous vous assurez que seule votre application peut accéder aux ressources Firebase de votre projet. Voir un aperçu de cette fonctionnalité.
Actuellement, le fournisseur Play Integrity intégré ne prend en charge que les applications Android distribuées par Google Play. Pour utiliser les fonctionnalités hors jeu de Play Integrity ou pour utiliser App Check avec votre propre fournisseur personnalisé, consultez Implémenter un fournisseur App Check personnalisé .
1. Configurez votre projet Firebase
Ajoutez Firebase à votre projet Android si vous ne l'avez pas déjà fait.
Activez l'API Play Integrity :
Dans la Google Play Console , sélectionnez votre application ou ajoutez-la si vous ne l'avez pas déjà fait.
Dans la section Version , cliquez sur Configuration > Intégrité de l'application .
Sur la page de l'API Integrity , cliquez sur Associer le projet , puis sélectionnez votre projet Firebase dans la liste des projets Google Cloud.
Le projet que vous sélectionnez ici doit être le même projet Firebase que celui dans lequel vous enregistrez votre application (voir l'étape suivante).
Enregistrez vos applications pour utiliser App Check auprès du fournisseur Play Integrity dans la section App Check de la console Firebase. Vous devrez fournir l'empreinte SHA-256 du certificat de signature de votre application.
Vous devez généralement enregistrer toutes les applications de votre projet, car une fois que vous avez activé l'application pour un produit Firebase, seules les applications enregistrées pourront accéder aux ressources principales du produit.
Facultatif : dans les paramètres d'enregistrement de l'application, définissez une durée de vie (TTL) personnalisée pour les jetons App Check émis par le fournisseur. Vous pouvez définir le TTL sur n'importe quelle valeur comprise entre 30 minutes et 7 jours. Lorsque vous modifiez cette valeur, tenez compte des compromis suivants :
- Sécurité : des durées de vie plus courtes offrent une sécurité renforcée, car elles réduisent la fenêtre dans laquelle un jeton divulgué ou intercepté peut être abusé par un attaquant.
- Performances : des durées de vie plus courtes signifient que votre application effectuera des attestations plus fréquemment. Étant donné que le processus d'attestation d'application ajoute de la latence aux demandes réseau à chaque fois qu'il est exécuté, une durée de vie courte peut avoir un impact sur les performances de votre application.
- Quota et coût : des durées de vie plus courtes et des réattestations fréquentes épuisent votre quota plus rapidement et, pour les services payants, coûtent potentiellement plus cher. Voir Quotas et limites .
Le TTL par défaut de 1 heure est raisonnable pour la plupart des applications. Notez que la bibliothèque App Check actualise les jetons à environ la moitié de la durée TTL.
2. Ajoutez la bibliothèque App Check à votre application
Dans le fichier Gradle de votre module (au niveau de l'application) (généralement<project>/<app-module>/build.gradle
), ajoutez la dépendance pour la bibliothèque App Check Android. Nous vous recommandons d'utiliser Firebase Android BoM pour contrôler la gestion des versions de la bibliothèque. Kotlin+KTX
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:32.1.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' }
En utilisant Firebase Android BoM , votre application utilisera toujours des versions compatibles des bibliothèques Firebase Android.
(Alternative) Ajouter des dépendances à la bibliothèque Firebase sans utiliser le BoM
Si vous choisissez de ne pas utiliser la nomenclature Firebase, vous devez spécifier chaque version de la bibliothèque Firebase dans sa ligne de dépendance.
Notez que si vous utilisez plusieurs bibliothèques Firebase dans votre application, nous vous recommandons vivement d'utiliser la BoM pour gérer les versions de bibliothèque, ce qui garantit que toutes les versions sont compatibles.
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:17.0.1' }
Java
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:32.1.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' }
En utilisant Firebase Android BoM , votre application utilisera toujours des versions compatibles des bibliothèques Firebase Android.
(Alternative) Ajouter des dépendances à la bibliothèque Firebase sans utiliser le BoM
Si vous choisissez de ne pas utiliser la nomenclature Firebase, vous devez spécifier chaque version de la bibliothèque Firebase dans sa ligne de dépendance.
Notez que si vous utilisez plusieurs bibliothèques Firebase dans votre application, nous vous recommandons vivement d'utiliser la BoM pour gérer les versions de bibliothèque, ce qui garantit que toutes les versions sont compatibles.
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:17.0.1' }
3. Initialiser App Check
Ajoutez le code d'initialisation suivant à votre application afin qu'elle s'exécute avant d'utiliser d'autres SDK Firebase :
Kotlin+KTX
FirebaseApp.initializeApp(/*context=*/this)
val firebaseAppCheck = FirebaseAppCheck.getInstance()
firebaseAppCheck.installAppCheckProviderFactory(
PlayIntegrityAppCheckProviderFactory.getInstance()
)
Java
FirebaseApp.initializeApp(/*context=*/ this);
FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance();
firebaseAppCheck.installAppCheckProviderFactory(
PlayIntegrityAppCheckProviderFactory.getInstance());
Prochaines étapes
Une fois la bibliothèque App Check installée dans votre application, commencez à distribuer l'application mise à jour à vos utilisateurs.
L'application cliente mise à jour commencera à envoyer des jetons App Check avec chaque demande qu'elle adresse à Firebase, mais les produits Firebase n'exigeront pas que les jetons soient valides tant que vous n'aurez pas activé l'application dans la section App Check de la console Firebase.
Surveiller les métriques et activer l'application
Avant d'activer l'application, cependant, vous devez vous assurer que cela ne perturbera pas vos utilisateurs légitimes existants. D'autre part, si vous constatez une utilisation suspecte des ressources de votre application, vous souhaiterez peut-être activer l'application plus tôt.
Pour vous aider à prendre cette décision, vous pouvez consulter les statistiques d'App Check pour les services que vous utilisez :
- Surveillez les métriques de requête App Check pour la base de données en temps réel, Cloud Firestore, Cloud Storage et l'authentification (bêta).
- Surveillez les métriques des requêtes App Check pour Cloud Functions .
Activer l'application de la vérification des applications
Lorsque vous comprenez comment App Check affectera vos utilisateurs et que vous êtes prêt à continuer, vous pouvez activer l'application d'App Check :
- Activez l'application App Check pour la base de données en temps réel, Cloud Firestore, Cloud Storage et l'authentification (bêta).
- Activez l'application App Check pour Cloud Functions .
Utiliser App Check dans les environnements de débogage
Si, après avoir enregistré votre application pour App Check, vous souhaitez exécuter votre application dans un environnement qu'App Check ne classerait normalement pas comme valide, tel qu'un émulateur pendant le développement ou à partir d'un environnement d'intégration continue (CI), vous pouvez créez une version de débogage de votre application qui utilise le fournisseur de débogage App Check au lieu d'un véritable fournisseur d'attestation.
Voir Utiliser App Check avec le fournisseur de débogage sur Android .