Cette page vous explique 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 backend de votre projet. Consultez la présentation de cette fonctionnalité.
Le fournisseur Play Integrity est compatible avec les applications Android publiées sur Google Play, en dehors de Google Play ou les deux. Si votre cas d'utilisation nécessite des fonctionnalités Play Integrity non implémentées par App Check, ou si vous souhaitez utiliser App Check avec votre propre fournisseur personnalisé, consultez Implémenter un fournisseur App Check personnalisé.
1. Configurer votre projet Firebase
Ajoutez Firebase à votre projet Android si ce n'est pas déjà fait.
Activez l'API Play Integrity :
Dans la Google Play Console, sélectionnez votre application ou ajoutez-la si ce n'est pas déjà fait.
Dans la section Release (Publier), cliquez sur App integrity (Intégrité de l'appli).
Accédez à la section Play Integrity API (API Play Integrity) de la page, cliquez sur Link Cloud project (Associer un projet Cloud), 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 avec le 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 des règles pour un produit Firebase, seules les applications enregistrées pourront accéder aux ressources backend 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 émis par le fournisseur.App Check Vous pouvez définir la durée de vie 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 pendant laquelle un jeton divulgué ou intercepté peut être utilisé à mauvais escient par un pirate.
- Performances : des durées de vie plus courtes signifient que votre application effectuera l'attestation plus fréquemment. Étant donné que le processus d'attestation de l'application ajoute de la latence aux requêtes réseau chaque fois qu'il est effectué, 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 une réattestation fréquente épuisent votre quota plus rapidement et, pour les services payants, peuvent entraîner des coûts plus élevés. Consultez Quotas et limites.
La durée de vie 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 de vie.
Configurer les paramètres avancés (facultatif)
App Check propose un certain nombre de paramètres pour prendre en charge les cas d'utilisation avancés, y compris la distribution de votre application en dehors de Google Play. Vous pouvez configurer ces paramètres dans la App Check section de la Firebase console pour chacune de vos applications Android. Nous vous recommandons de configurer ces paramètres conformément au tableau suivant lorsque vous enregistrez votre application pour la première fois.
| Canal de distribution de votre application | PLAY_RECOGNIZED | LICENSED | Niveau minimal d'intégrité de l'appareil acceptable |
|---|---|---|---|
| En exclusivité sur Google Play | Obligatoire | Obligatoire | Ne pas vérifier explicitement le niveau d'intégrité de l'appareil |
| Exclusivement en dehors de Google Play | Non requis | Non requis | Intégrité de l'appareil |
| Sur Google Play et en dehors de Google Play | Obligatoire | Non requis | Ne pas vérifier explicitement le niveau d'intégrité de l'appareil |
Détails
Chaque paramètre avancé correspond à un libellé d'évaluation Play Integrity. Pour en savoir plus, consultez la documentation Play Integrity.
- Par défaut, App Check nécessite le
PLAY_RECOGNIZEDlibellé de reconnaissance d'application. Les applications non publiées sur Google Play ne sont pas éligibles pour recevoir ce libellé. - Par défaut, App Check ne nécessite pas le
LICENSEDlibellé de licence d'application. Seuls les utilisateurs qui ont installé ou mis à jour votre application directement depuis Google Play sont éligibles pour recevoir ce libellé. Par défaut, App Check ne vérifie pas explicitement l'évaluation de l'intégrité de l'appareil App Check permet de vérifier explicitement les trois niveaux d'intégrité de l'appareil suivants, listés par ordre croissant d'intégrité de l'appareil.
Intégrité de base. Indique à App Check d'exiger le
MEETS_BASIC_INTEGRITYlibellé de reconnaissance d'appareil. Pour que votre application soit éligible pour recevoir ce libellé facultatif, vous devez d'abord l'activer dans la Google Play Console.Intégrité de l'appareil. Indique à App Check d'exiger le
MEETS_DEVICE_INTEGRITYlibellé de reconnaissance d'appareil. Toutes les applications sont automatiquement éligibles pour recevoir ce libellé.Intégrité forte. Indique à App Check d'exiger le
MEETS_STRONG_INTEGRITYlibellé de reconnaissance d'appareil. Pour que votre application soit éligible pour recevoir ce libellé facultatif, vous devez d'abord l'activer dans la Google Play Console.
2. Ajouter 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.kts ou
<project>/<app-module>/build.gradle),
ajoutez la dépendance pour la bibliothèque App Check pour Android. Nous vous recommandons d'utiliser la
Firebase Android BoM
pour contrôler la gestion des versions de la bibliothèque.
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:34.11.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") }
En utilisant les Firebase Android BoM, votre application utilisera toujours des versions compatibles des bibliothèques Firebase Android.
(Autre solution) Ajouter des dépendances de bibliothèque Firebase sans utiliser la BoM
Si vous choisissez de ne pas utiliser la Firebase BoM, 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 des bibliothèques, ce qui garantit que toutes les versions sont compatibles.
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:19.0.2") }
3. Initialiser App Check
Ajoutez le code d'initialisation suivant à votre application afin qu'il s'exécute avant d'utiliser d'autres SDK Firebase :
Kotlin
Firebase.initialize(context = this) Firebase.appCheck.installAppCheckProviderFactory( PlayIntegrityAppCheckProviderFactory.getInstance(), )
Java
FirebaseApp.initializeApp(/*context=*/ this); FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance(); firebaseAppCheck.installAppCheckProviderFactory( PlayIntegrityAppCheckProviderFactory.getInstance());
Étapes suivantes
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 requête adressée à Firebase, mais les produits Firebase n'exigeront pas que les jetons soient valides tant que vous n'aurez pas activé l'application des règles dans la section App Check de la console Firebase.
Surveiller les métriques et activer l'application des règles
Avant d'activer l'application des règles, vous devez vous assurer que cela ne perturbera pas vos utilisateurs légitimes existants. En revanche, si vous constatez une utilisation suspecte des ressources de votre application, vous pouvez activer l'application des règles plus tôt.
Pour vous aider à prendre cette décision, vous pouvez consulter les App Check métriques pour les services que vous utilisez :
- Surveillez les métriques de requêtesApp Check pour Firebase AI Logic, Data Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, Google Identity pour iOS, l'API Maps JavaScript et l'API Places (nouveau).
- Surveillez les métriques de requêtes App Check pour Cloud Functions.
Activer l'application des règles App Check
Lorsque vous comprenez l'impact de App Check sur vos utilisateurs et que vous êtes prêt à continuer, vous pouvez activer l'application des règles App Check :
- Activez App Check l'application des règles pour Firebase AI Logic, Data Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, Google Identity pour iOS, l'API Maps JavaScript et l'API Places (nouveau).
- Activez l'application des règles App Check pour Cloud Functions.
Utiliser App Check dans des environnements de débogage
Si, après avoir enregistré votre application pour App Check, vous souhaitez exécuter votre application dans un environnement que App Check ne classerait normalement pas comme valide, par exemple un émulateur lors du développement ou à partir d'un environnement d'intégration continue (CI), vous pouvez créer 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.
Consultez Utiliser App Check avec le fournisseur de débogage sur Android.