App Check mit SafetyNet für Android verwenden

Auf dieser Seite erfahren Sie, wie Sie App Check in einer Android-App mit dem integrierten SafetyNet-Anbieter aktivieren. Wenn Sie App Check aktivieren, können nur Ihre App und keine anderen Apps auf die Firebase-Ressourcen Ihres Projekts zugreifen. Hier finden Sie eine Übersicht.

Wenn Sie App Check mit Ihrem eigenen benutzerdefinierten Anbieter verwenden möchten, finden Sie weitere Informationen unter Benutzerdefinierten App Check-Anbieter implementieren.

1. Das Firebase-Projekt einrichten

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

  2. Registrieren Sie Ihre Apps für die Verwendung von App Check mit dem SafetyNet-Anbieter im Bereich 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.

  3. 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 das Zeitfenster verkürzt wird, in dem ein gehacktes oder abgefangenes Token von einem Angreifer missbraucht werden kann.
    • Leistung: Eine kürzere TTL bedeutet, dass Ihre App 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 Neuattestierungen verringern Ihr Kontingent schneller und können bei kostenpflichtigen Diensten zu höheren Kosten führen. Weitere Informationen finden Sie unter 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

Deklarieren Sie in der Gradle-Datei Ihres Moduls (auf App-Ebene, in der Regel app/build.gradle) die Abhängigkeit für die App Check-Bibliothek für Android:

dependencies {
    implementation 'com.google.firebase:firebase-appcheck-safetynet:16.1.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+KTX

Firebase.initialize(context = this)
Firebase.appCheck.installAppCheckProviderFactory(
    SafetyNetAppCheckProviderFactory.getInstance()
)

Java

FirebaseApp.initializeApp(/*context=*/ this);
FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance();
firebaseAppCheck.installAppCheckProviderFactory(
        SafetyNetAppCheckProviderFactory.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 beginnt damit, App Check-Tokens zusammen mit jeder Anfrage an Firebase zu senden. Die Tokens für Firebase-Produkte müssen jedoch erst gültig sein, wenn Sie die Erzwingung im Abschnitt 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 früher aktivieren.

Als Entscheidungshilfe können Sie sich die App Check-Messwerte für die von Ihnen verwendeten Dienste ansehen:

App Check-Erzwingung aktivieren

Wenn Sie wissen, wie sich App Check auf Ihre Nutzer auswirkt, und bereit sind, fortzufahren, können Sie die Durchsetzung 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 Debug-Anbieter auf Android-Geräten verwenden.