Auf dieser Seite erfahren Sie, wie Sie App Check in einer Android-App mithilfe des integrierten Play Integrity-Anbieters aktivieren. Wenn Sie App Check aktivieren, tragen Sie dazu bei, dass nur Ihre App auf die Firebase-Ressourcen Ihres Projekts zugreifen kann. Sehen Sie sich eine Übersicht über diese Funktion an.
Derzeit unterstützt der integrierte Play Integrity-Anbieter nur Android-Apps, die von Google Play vertrieben werden. Informationen zum Verwenden der Off-Play-Funktionen von Play Integrity oder zum Verwenden von App Check mit Ihrem eigenen benutzerdefinierten Anbieter finden Sie unter Implementieren eines benutzerdefinierten App Check-Anbieters .
1. Richten Sie Ihr Firebase-Projekt ein
Fügen Sie Ihrem Android-Projekt Firebase hinzu, falls Sie dies noch nicht getan haben.
Aktivieren Sie die Play Integrity API:
Wählen Sie in der Google Play Console Ihre App aus oder fügen Sie sie hinzu, falls Sie dies noch nicht getan haben.
Klicken Sie im Abschnitt Release auf Einrichtung > App-Integrität .
Klicken Sie auf der Seite „Integrity API“ auf Projekt verknüpfen und wählen Sie dann Ihr Firebase-Projekt aus der Liste der Google Cloud-Projekte aus.
Das hier ausgewählte Projekt muss dasselbe Firebase-Projekt sein wie dasjenige, in dem Sie Ihre App registrieren (siehe nächster Schritt).
Registrieren Sie Ihre Apps für die Verwendung von App Check beim Play Integrity-Anbieter im App Check- Bereich der Firebase-Konsole. Sie müssen den SHA-256-Fingerabdruck des Signaturzertifikats Ihrer App angeben .
Normalerweise müssen Sie alle Apps Ihres Projekts registrieren, denn sobald Sie die Erzwingung für ein Firebase-Produkt aktivieren, können nur registrierte Apps auf die Back-End-Ressourcen des Produkts zugreifen.
Optional : Legen Sie in den App-Registrierungseinstellungen eine benutzerdefinierte Gültigkeitsdauer (Time-to-Live, TTL) für vom Anbieter ausgestellte App Check-Token fest. Sie können die TTL auf einen beliebigen Wert zwischen 30 Minuten und 7 Tagen einstellen. Beachten Sie beim Ändern dieses Werts die folgenden Kompromisse:
- Sicherheit: Kürzere TTLs bieten mehr Sicherheit, da sie das Fenster verkleinern, in dem ein durchgesickertes oder abgefangenes Token von einem Angreifer missbraucht werden kann.
- Leistung: Kürzere TTLs bedeuten, dass Ihre App die Bestätigung häufiger durchführt. Da der App-Bestätigungsprozess bei jeder Ausführung Latenz für Netzwerkanforderungen hinzufügt, kann eine kurze TTL die Leistung Ihrer App beeinträchtigen.
- Kontingent und Kosten: Kürzere TTLs und häufige Neubescheinigungen erschöpfen Ihr Kontingent schneller und kosten bei kostenpflichtigen Diensten möglicherweise mehr. Siehe Kontingente & Limits .
Die Standard-TTL von 1 Stunde ist für die meisten Apps angemessen. Beachten Sie, dass die App Check-Bibliothek Token bei etwa der Hälfte der TTL-Dauer aktualisiert.
2. Fügen Sie Ihrer App die App Check-Bibliothek hinzu
Fügen Sie in Ihrer Modul-Gradle-Datei (auf App-Ebene ) (normalerweise<project>/<app-module>/build.gradle
) die Abhängigkeit für die App Check Android-Bibliothek hinzu. Wir empfehlen die Verwendung der Firebase Android BoM zur Steuerung der Bibliotheksversionierung. 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' }
Durch die Verwendung der Firebase Android BoM verwendet Ihre App immer kompatible Versionen von Firebase Android-Bibliotheken.
(Alternative) Fügen Sie Firebase-Bibliotheksabhängigkeiten hinzu , ohne die Stückliste zu verwenden
Wenn Sie die Firebase-Stückliste nicht verwenden möchten, müssen Sie jede Firebase-Bibliotheksversion in ihrer Abhängigkeitszeile angeben.
Beachten Sie, dass wir bei Verwendung mehrerer Firebase-Bibliotheken in Ihrer App dringend empfehlen, die BoM zum Verwalten von Bibliotheksversionen zu verwenden, wodurch sichergestellt wird, dass alle Versionen kompatibel sind.
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' }
Durch die Verwendung der Firebase Android BoM verwendet Ihre App immer kompatible Versionen von Firebase Android-Bibliotheken.
(Alternative) Fügen Sie Firebase-Bibliotheksabhängigkeiten hinzu , ohne die Stückliste zu verwenden
Wenn Sie die Firebase-Stückliste nicht verwenden möchten, müssen Sie jede Firebase-Bibliotheksversion in ihrer Abhängigkeitszeile angeben.
Beachten Sie, dass wir bei Verwendung mehrerer Firebase-Bibliotheken in Ihrer App dringend empfehlen, die BoM zum Verwalten von Bibliotheksversionen zu verwenden, wodurch sichergestellt wird, dass alle Versionen kompatibel sind.
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. App-Check initialisieren
Fügen Sie Ihrer App den folgenden Initialisierungscode hinzu, damit sie ausgeführt wird, bevor Sie andere Firebase-SDKs verwenden:
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());
Nächste Schritte
Sobald die App Check-Bibliothek in Ihrer App installiert ist, beginnen Sie mit der Verteilung der aktualisierten App an Ihre Benutzer.
Die aktualisierte Client-App beginnt mit dem Senden von App-Check-Tokens zusammen mit jeder Anfrage, die sie an Firebase sendet, aber Firebase-Produkte verlangen nicht, dass die Tokens gültig sind, bis Sie die Erzwingung im Abschnitt „App-Check“ der Firebase-Konsole aktivieren.
Überwachen Sie Metriken und aktivieren Sie die Durchsetzung
Bevor Sie die Erzwingung aktivieren, sollten Sie jedoch sicherstellen, dass dadurch Ihre vorhandenen legitimen Benutzer nicht gestört werden. Wenn Sie andererseits eine verdächtige Nutzung Ihrer App-Ressourcen feststellen, sollten Sie die Erzwingung möglicherweise früher aktivieren.
Um diese Entscheidung zu treffen, können Sie sich die App Check-Metriken für die von Ihnen verwendeten Dienste ansehen:
- Überwachen Sie App Check-Anforderungsmetriken für Realtime Database, Cloud Firestore, Cloud Storage und Authentifizierung (Beta).
- Überwachen Sie App Check-Anfragemetriken für Cloud Functions .
App-Check-Erzwingung aktivieren
Wenn Sie verstehen, wie sich App Check auf Ihre Benutzer auswirkt, und Sie fortfahren möchten, können Sie die Erzwingung von App Check aktivieren:
- Aktivieren Sie die Durchsetzung der App-Prüfung für Realtime Database, Cloud Firestore, Cloud Storage und Authentifizierung (Beta).
- Aktivieren Sie die Erzwingung der App-Prüfung für Cloud Functions .
Verwenden Sie App Check in Debug-Umgebungen
Wenn Sie Ihre App nach der Registrierung für App Check in einer Umgebung ausführen möchten, die App Check normalerweise nicht als gültig einstufen würde, z Erstellen Sie einen Debug-Build Ihrer App, der den App Check-Debug-Anbieter anstelle eines echten Nachweisanbieters verwendet.
Siehe Verwenden von App Check mit dem Debug-Anbieter auf Android .