Erste Schritte mit App Check mit Play Integrity auf Android-Geräten

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, kann nur Ihre Anwendung auf die Firebase-Ressourcen Ihres Projekts zugreifen. Sehen Sie sich die Übersicht über diese Funktion an.

Derzeit unterstützt der integrierte Play Integrity-Anbieter nur Android-Apps, die von Google Play vertrieben werden. Informationen zur Verwendung der Play Integrity-Funktionen außerhalb von Play oder zur Verwendung von App Check mit deinem eigenen benutzerdefinierten Anbieter findest du unter Benutzerdefinierten App Check-Anbieter implementieren.

1. Das Firebase-Projekt einrichten

  1. Fügen Sie Ihrem Android-Projekt Firebase hinzu, falls Sie dies noch nicht getan haben.

  2. Aktiviere die Play Integrity API:

    1. Wählen Sie in der Google Play Console Ihre App aus oder fügen Sie sie hinzu, falls noch nicht geschehen.

    2. Klicken Sie im Abschnitt Release auf App-Integrität.

    3. Rufen Sie den Bereich Play Integrity API auf der Seite auf, klicken Sie 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 mit dem Firebase-Projekt übereinstimmen, in dem Sie Ihre App registrieren (siehe nächster Schritt).

  3. Registriere deine Apps zur Verwendung von App Check beim Play Integrity-Anbieter im Abschnitt App Check der Firebase-Konsole. Sie müssen den SHA-256-Fingerabdruck des Signaturzertifikats Ihrer App angeben.

    Normalerweise müssen Sie alle Apps Ihres Projekts registrieren, da nur registrierte Apps auf die Backend-Ressourcen eines Firebase-Produkts zugreifen können, wenn Sie die Erzwingung für ein Firebase-Produkt aktivieren.

  4. Optional: Legen Sie in den Einstellungen für die App-Registrierung eine benutzerdefinierte Gültigkeitsdauer (Time to Live, TTL) für vom Anbieter ausgestellte App Check-Tokens fest. Sie können die TTL auf einen beliebigen Wert zwischen 30 Minuten und 7 Tagen festlegen. Beachten Sie beim Ändern dieses Werts die folgenden Einschränkungen:

    • Sicherheit: Kürzere TTLs bieten eine höhere Sicherheit, da dadurch das Zeitfenster reduziert wird, in dem ein gehacktes oder abgefangenes Token von einem Angreifer missbraucht werden kann.
    • Leistung: Kürzere TTLs bedeuten, dass Ihre Anwendung die Attestierung häufiger durchführt. Da der Anwendungsattestierungsprozess bei jeder Ausführung Latenz für Netzwerkanfragen erhöht, kann eine kurze TTL die Leistung Ihrer Anwendung beeinträchtigen.
    • Kontingent und Kosten: Kürzere TTLs und häufige erneute Attestierungen erschöpfen Ihr Kontingent schneller. Außerdem kosten kostenpflichtige Dienste unter Umständen mehr. Siehe Kontingente und Limits.

    Die Standard-TTL von 1 Stunde ist für die meisten Apps angemessen. Hinweis: Die App Check-Bibliothek aktualisiert Tokens nach etwa der Hälfte der TTL-Dauer.

2. App Check-Bibliothek zur App hinzufügen

Fügen Sie in der Gradle-Datei des Moduls (auf App-Ebene) (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 Versionierung der Bibliothek zu steuern.

dependencies {
    // Import the BoM for the Firebase platform
    implementation(platform("com.google.firebase:firebase-bom:33.5.1"))

    // 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) Fügen Sie Firebase-Bibliotheksabhängigkeiten ohne die BoM hinzu

Wenn Sie Firebase BoM nicht verwenden, müssen Sie jede Firebase-Bibliotheksversion in der entsprechenden Abhängigkeitszeile angeben.

Wenn Sie mehrere Firebase-Bibliotheken in Ihrer App verwenden, empfehlen wir Ihnen dringend, die Bibliotheksversionen mithilfe der BoM zu verwalten. So wird sichergestellt, 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:18.0.0")
}
Suchen Sie nach einem Kotlin-spezifischen Bibliotheksmodul? Ab Oktober 2023 (Firebase BoM 32.5.0) können sowohl Kotlin- als auch Java-Entwickler das Hauptbibliotheksmodul verwenden. Weitere Informationen finden Sie in den häufig gestellten Fragen zu dieser Initiative.

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

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 dann mit jeder Anfrage an Firebase App Check-Token. Für Firebase-Produkte müssen die Token jedoch erst dann gültig sein, wenn Sie die Erzwingung im Bereich App Check der Firebase Console aktivieren.

Messwerte beobachten und Erzwingung aktivieren

Bevor Sie die Erzwingung aktivieren, sollten Sie jedoch prüfen, ob dies die Nutzung für Ihre bestehenden rechtmäßigen Nutzer nicht beeinträchtigt. Wenn Sie jedoch eine verdächtige Nutzung Ihrer App-Ressourcen feststellen, sollten Sie die Erzwingung möglicherweise früher aktivieren.

Bei der Entscheidung können dir App Check Messwerte für die von dir verwendeten Dienste helfen:

App Check-Erzwingung aktivieren

Wenn Sie wissen, wie sich App Check auf Ihre Nutzer auswirkt, können Sie die Erzwingung von App Check aktivieren:

App Check in Debug-Umgebungen verwenden

Wenn Sie Ihre Anwendung nach der Registrierung für App Check in einer Umgebung ausführen möchten, die normalerweise nicht als gültig eingestuft wird, z. B. in einem Emulator während der Entwicklung oder in einer Continuous Integration-Umgebung (CI), können Sie einen Debug-Build Ihrer Anwendung erstellen, der den Debug-Anbieter App Check anstelle eines echten Attestierungsanbieters verwendet.App Check

Weitere Informationen finden Sie unter App Check mit dem Debugging-Anbieter auf Android-Geräten verwenden.