Auf dieser Seite erfahren Sie, wie Sie App Check in einer Android-App mit dem integrierten Play Integrity-Anbieter aktivieren. Wenn Sie App Check aktivieren, können Sie dafür sorgen , dass nur Ihre App auf die Backend-Ressourcen Ihres Projekts zugreifen kann. Übersicht über diese Funktion
Der Play Integrity-Anbieter unterstützt Android-Apps, die bei Google Play, außerhalb von Google Play oder beides veröffentlicht werden. Wenn Ihr Anwendungsfall Play Integrity Funktionen erfordert, die nicht von App Check implementiert werden, oder wenn Sie App Check mit Ihrem eigenen benutzerdefinierten Anbieter verwenden möchten, lesen Sie den Artikel Benutzerdefinierten App Check Anbieter implementieren.
1. Das Firebase-Projekt einrichten
Fügen Sie Ihrem Android-Projekt Firebase hinzu, falls noch nicht geschehen.
Aktivieren Sie die Play Integrity API:
Wählen Sie in der Google Play Console Ihre App aus oder fügen Sie sie hinzu, falls noch nicht geschehen.
Klicken Sie im Bereich Release auf App-Integrität.
Klicken Sie im Bereich Play Integrity API der Seite auf Cloud-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, in dem Sie Ihre App registrieren (siehe nächster Schritt).
Rufen Sie in der Firebase Konsole Sicherheit > App Check auf.
Registrieren Sie auf dem Tab Apps Ihre Apps, um App Check mit dem Play Integrity-Anbieter zu verwenden. Sie müssen den SHA‑256-Fingerabdruck des Signaturzertifikats Ihrer App angeben.
In der Regel müssen Sie alle Apps Ihres Projekts registrieren. Sobald Sie die Erzwingung für ein Firebase-Produkt aktivieren, können nur registrierte Apps auf die Backend-Ressourcen des Produkts zugreifen.
Optional: Legen Sie in den Registrierungseinstellungen für die App eine benutzerdefinierte Gültigkeitsdauer (Time-to-Live, TTL) für App Check Tokens fest, die vom Anbieter ausgestellt werden. Sie können die TTL auf einen beliebigen Wert zwischen 30 Minuten und 7 Tagen festlegen. Beachten Sie beim Ändern dieses Werts die folgenden Kompromisse:
- Sicherheit: Kürzere TTLs bieten mehr Sicherheit, da sie das Zeitfenster verringern, in dem ein durchgesickertes oder abgefangenes Token von einem Angreifer missbraucht werden kann.
- Leistung: Bei kürzeren TTLs führt Ihre App häufiger eine Bestätigung durch. Da der App-Bestätigungsprozess bei jeder Ausführung die Latenz von Netzwerkanfragen erhöht, kann eine kurze TTL die Leistung Ihrer App beeinträchtigen.
- Kontingent und Kosten: Kürzere TTLs und häufige erneute Bestätigungen führen dazu, dass Ihr Kontingent schneller aufgebraucht wird. Bei kostenpflichtigen Diensten können dadurch auch höhere Kosten entstehen. Weitere Informationen finden Sie unter Kontingente und Limits.
Die Standard-TTL von 1 Stunde ist für die meisten Apps angemessen. Beachten Sie, dass die App Check Bibliothek Tokens etwa nach der Hälfte der TTL-Dauer aktualisiert.
Erweiterte Einstellungen konfigurieren (optional)
App Check bietet eine Reihe von Einstellungen für erweiterte Anwendungsfälle, einschließlich der Bereitstellung Ihrer App außerhalb von Google Play. Für jede Ihrer registrierten Android-Apps können Sie diese Einstellungen in der App Check > Apps Registerkarte der Firebase Konsole konfigurieren. Wir empfehlen, diese Einstellungen bei der ersten Registrierung Ihrer Appgemäß der folgenden Tabelle zu konfigurieren.
| Bereitstellungskanal Ihrer App | PLAY_RECOGNIZED | LICENSED | Zulässige Mindeststufe der Geräteintegrität |
|---|---|---|---|
| Ausschließlich bei Google Play | Erforderlich | Erforderlich | Stufe der Geräteintegrität nicht explizit prüfen |
| Ausschließlich außerhalb von Google Play | Nicht erforderlich | Nicht erforderlich | Geräteintegrität |
| Bei Google Play und außerhalb von Google Play | Erforderlich | Nicht erforderlich | Stufe der Geräteintegrität nicht explizit prüfen |
Details
Jede erweiterte Einstellung entspricht einem Play Integrity-Urteilslabel. Weitere Informationen finden Sie in der Play Integrity-Dokumentation.
- Standardmäßig erfordert App Check das
PLAY_RECOGNIZEDApp-Erkennungslabel. Apps, die nicht bei Google Play veröffentlicht wurden, können dieses Label nicht erhalten. - Standardmäßig erfordert App Check das
LICENSEDApp-Lizenzierungslabel nicht. Nur Nutzer, die Ihre App direkt bei Google Play installiert oder aktualisiert haben, können dieses Label erhalten. Standardmäßig prüft App Check das Urteil zur Geräteintegrität nicht explizit. App Check unterstützt die explizite Prüfung der folgenden drei Stufen der Geräteintegrität, die in der Reihenfolge der zunehmenden Geräteintegrität aufgeführt sind.
Grundlegende Integrität : Bewirkt, dass App Check das
MEETS_BASIC_INTEGRITYGeräteerkennungslabel erfordert. Damit Ihre App dieses optionale Label erhalten kann, müssen Sie sich zuerst in der Google Play Console anmelden.Geräteintegrität : Bewirkt, dass App Check das
MEETS_DEVICE_INTEGRITYGeräteerkennungslabel erfordert. Alle Apps können dieses Label automatisch erhalten.Starke Integrität : Bewirkt, dass App Check das
MEETS_STRONG_INTEGRITYGeräteerkennungslabel erfordert. Damit Ihre App dieses optionale Label erhalten kann, müssen Sie sich zuerst in der Google Play Console anmelden.
2. Die App Check Bibliothek zu Ihrer App hinzufügen
Fügen Sie in Ihrer Gradle-Datei des Moduls (auf Anwendungsebene) (in der Regel<project>/<app-module>/build.gradle.kts oder
<project>/<app-module>/build.gradle)
die Abhängigkeit für die App Check Bibliothek für Android hinzu. Wir empfehlen, die
Firebase Android BoM
zu verwenden, um die Bibliotheksversionierung zu steuern.
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:34.12.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") }
Mit der Firebase Android BoM, haben Sie immer eine kompatible Version der Firebase Android-Bibliotheken in Ihrer App.
(Alternative) Firebase-Bibliotheksabhängigkeiten ohne Verwendung der BoM
Wenn Sie die Firebase BoM nicht verwenden möchten, müssen Sie die Version jeder Firebase-Bibliothek in der entsprechenden Abhängigkeitszeile angeben.
Wenn Sie mehrere Firebase-Bibliotheken in Ihrer App verwenden, empfehlen wir dringend, die BoM zur Verwaltung der Bibliotheksversionen zu verwenden, um sicherzustellen, dass alle Versionen kompatibel sind.
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. App Check initialisieren
Fügen Sie Ihrer App den folgenden Initialisierungscode hinzu, damit er ausgeführt wird, bevor Sie andere Firebase SDKs verwenden:
Kotlin
Firebase.initialize(context = this) Firebase.appCheck.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, können Sie die aktualisierte App für Ihre Nutzer bereitstellen.
Die aktualisierte Client-App sendet mit jeder Anfrage an Firebase App Check Tokens. Die Firebase-Produkte erfordern jedoch erst dann gültige Tokens, wenn Sie die Erzwingung im Bereich „App Check“ der Firebase-Konsole aktivieren.
Messwerte beobachten und Erzwingung aktivieren
Bevor Sie die Erzwingung aktivieren, sollten Sie jedoch prüfen, ob dadurch Ihre bestehenden legitimen Nutzer beeinträchtigt 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 Messwerte für die Dienste ansehen, die Sie verwenden:
- Messwerte für App CheckAnfragen für Firebase AI Logic, Data Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, Google Identity for iOS, Maps JavaScript API und Places API (New) beobachten
- Messwerte für App Check Anfragen für Cloud Functions beobachten
Erzwingung aktivierenApp Check
Wenn Sie wissen, wie sich App Check auf Ihre Nutzer auswirkt, und bereit sind, fortzufahren, können Sie die App Check Erzwingung aktivieren:
- Erzwingung App Check für Firebase AI Logic, Data Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, Google Identity for iOS, Maps JavaScript API und Places API (New) aktivieren
- Erzwingung für Cloud Functions App Checkaktivieren.
App Check in Debugging-Umgebungen verwenden
Wenn Sie Ihre App nach der Registrierung für App Check in einer Umgebung ausführen möchten, die von App Check normalerweise nicht als gültig eingestuft wird, z. B. in einem Emulator während der Entwicklung oder in einer CI-Umgebung (Continuous Integration), können Sie einen Debug-Build Ihrer App erstellen, der den App Check Debugging-Anbieter anstelle eines echten Bestätigungsanbieters verwendet.
Weitere Informationen finden Sie unter Verwenden Sie App Check mit dem Debugging-Anbieter unter Android.