Premiers pas avec App Check avec Play Integrity sur Android

Cette page explique comment activer App Check dans une application Android à l'aide du fournisseur Play Integrity intégré. En activant App Check, vous vous assurez que seule votre application peut accéder aux ressources Firebase de votre projet. Consultez la présentation de cette fonctionnalité.

Actuellement, le fournisseur Play Integrity intégré n'est compatible qu'avec les applications Android distribuées par Google Play. Pour utiliser les fonctionnalités hors Play de Play Integrity App Check par votre propre fournisseur personnalisé, consultez Implémenter un fournisseur App Check personnalisé

1. Configurer votre projet Firebase

  1. Ajoutez Firebase à votre projet Android si ce n'est pas déjà fait l'avez déjà fait.

  2. Activez l'API Play Integrity :

    1. Dans la Google Play Console, procédez comme suit : sélectionnez votre application ou ajoutez-la si ce n'est pas déjà fait.

    2. Dans la section Publier, cliquez sur Intégrité de l'application.

    3. Accédez à la section API Play Integrity de la page, puis cliquez sur Associer un projet Cloud. Sélectionnez ensuite 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).

  3. Enregistrez vos applis pour utiliser App Check avec le fournisseur Play Integrity dans la section App Check de la console Firebase. Vous devez 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 activer l'application forcée pour un produit Firebase, seules les applications enregistrées pourront pour accéder aux ressources backend du produit.

  4. Facultatif : Dans les paramètres d'enregistrement de l'application, définissez une valeur TTL (Time To Live) personnalisée pour les jetons App Check émis par le fournisseur. Vous pouvez définir la valeur TTL sur une valeur comprise entre 30 minutes et 7 jours. Lorsque vous modifiez cette valeur, les compromis suivants:

    • Sécurité: des valeurs TTL plus courtes renforcent la sécurité, car cela réduit dans laquelle un jeton fuit ou intercepté peut être utilisé de manière abusive par ou d'un pirate informatique.
    • Performances: des TTL plus courtes signifient que votre application effectuera davantage l'attestation fréquemment. Comme le processus d'attestation des applications ajoute de la latence au réseau chaque fois qu'elle est exécutée, une valeur TTL courte peut avoir un impact de votre application.
    • Quota et coût: des valeurs TTL plus courtes et des réattestations fréquentes épuisent quota plus court et, pour les services payants, coûtent potentiellement plus cher. Voir les quotas et limites.

    La valeur TTL par défaut de 1 heure est raisonnable pour la plupart des applications. Notez que la bibliothèque App Check s'actualise jetons à environ la moitié de la durée TTL.

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 Firebase Android BoM pour contrôler le contrôle des versions de la bibliothèque.

dependencies {
    // Import the BoM for the Firebase platform
    implementation(platform("com.google.firebase:firebase-bom:33.4.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 Firebase Android BoM, votre application utilisera toujours des versions compatibles des bibliothèques Firebase Android.

(Alternative) Ajouter des dépendances de la bibliothèque Firebase sans utiliser l'BoM

Si vous choisissez de ne pas utiliser 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 BoM pour gérer les versions de la bibliothèque, 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:18.0.0")
}
Vous recherchez un module de bibliothèque spécifique à Kotlin ? Début dans Octobre 2023 (Firebase BoM 32.5.0), les développeurs Kotlin et Java peuvent dépendent du module de bibliothèque principal (pour en savoir plus, consultez Questions fréquentes sur cette initiative).

3. Initialiser App Check

Ajoutez le code d'initialisation suivant à votre application pour qu'il s'exécute avant que vous n'utilisiez d'autres SDK 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());

É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 qu'elle envoie à 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

Toutefois, avant d'activer l'application, vous devez vous assurer que cela de perturber vos utilisateurs légitimes existants. En revanche, si vous constatez une utilisation suspecte de vos ressources d'application, vous pouvez activer l'application plus tôt.

Pour vous aider à prendre cette décision, vous pouvez consulter les métriques App Check des services que vous utilisez :

Activer l'application forcée de App Check

Une fois que vous avez compris l'impact de App Check sur vos utilisateurs et que vous êtes prêt à continuer, vous pouvez activer l'application de App Check :

Utiliser App Check dans les environnements de débogage

Si, après avoir enregistré votre application pour App Check, vous souhaitez l'exécuter dans un environnement que 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éer un build 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.