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, können nur Ihre App auf die Backend-Ressourcen Ihres Projekts zugreifen. Ü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 für Ihren Anwendungsfall Play Integrity-Funktionen erforderlich sind, die nicht von App Check implementiert werden, oder wenn Sie App Check mit Ihrem eigenen benutzerdefinierten Anbieter verwenden möchten, lesen Sie den Hilfeartikel Benutzerdefinierten App Check-Anbieter implementieren.

1. Das Firebase-Projekt einrichten

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

  2. So aktivieren Sie die Play Integrity API:

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

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

    3. Gehen Sie auf der Seite zum Abschnitt Play Integrity API, 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 dasselbe Firebase-Projekt sein, in dem Sie Ihre App registrieren (siehe nächster Schritt).

  3. Rufen Sie in der Firebase-Konsole Sicherheit > App Check auf.

  4. 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, da nach der Aktivierung der Erzwingung für ein Firebase-Produkt nur registrierte Apps auf die Backend-Ressourcen des Produkts zugreifen können.

  5. Optional: Legen Sie die Gültigkeitsdauer (TTL) für Tokens fest.

    Legen Sie in den Einstellungen für die App-Registrierung eine benutzerdefinierte Gültigkeitsdauer (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 Vor- und Nachteile:

    • Sicherheit: Kürzere TTLs bieten mehr Sicherheit, da sie das Zeitfenster verringern, in dem ein geleaktes oder abgefangenes Token von einem Angreifer missbraucht werden kann.
    • Leistung: Kürzere TTLs bedeuten, dass Ihre App die Attestierung häufiger durchführt. Da der App-Attestierungsprozess 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 Attestierungen verbrauchen Ihr Kontingent schneller und können bei kostenpflichtigen Diensten zu höheren Kosten führen. Siehe Kontingente und Limits.

    Die Standard-TTL von 1 Stunde ist für die meisten Anwendungen angemessen. Beachten Sie, dass die App Check-Bibliothek Tokens nach etwa 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 des Vertriebs Ihrer App außerhalb von Google Play. Für jede Ihrer registrierten Android-Apps können Sie diese Einstellungen auf dem Tab App Check > Apps der Firebase Console konfigurieren. Wir empfehlen, diese Einstellungen gemäß der folgenden Tabelle zu konfigurieren, wenn Sie Ihre App zum ersten Mal registrieren.

Vertriebskanal Ihrer App PLAY_RECOGNIZED LICENSED Zulässige Mindeststufe der Geräteintegrität
Exklusiv 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-Ergebnislabel. Weitere Informationen finden Sie in der Play Integrity-Dokumentation.

  • Standardmäßig erfordert App Check das App-Erkennungslabel PLAY_RECOGNIZED. Apps, die nicht bei Google Play veröffentlicht wurden, können dieses Label nicht erhalten.
  • Standardmäßig ist für App Check das App-Lizenzierungslabel LICENSED nicht erforderlich. Nur Nutzer, die deine App direkt über Google Play installiert oder aktualisiert haben, können dieses Label erhalten.
  • Standardmäßig prüft App Check das Ergebnis der Geräteintegritätsprüfung nicht explizit. App Check unterstützt die explizite Prüfung der folgenden drei Geräteintegritätsstufen, die in der Reihenfolge zunehmender Geräteintegrität aufgeführt sind.

    • Grundlegende Integrität: Bewirkt, dass App Check das Geräteerkennungslabel MEETS_BASIC_INTEGRITY erfordert. Damit Ihre App dieses optionale Label erhalten kann, müssen Sie es zuerst in der Google Play Console aktivieren.

    • Geräteintegrität: Bewirkt, dass App Check das Geräteerkennungslabel MEETS_DEVICE_INTEGRITY erfordert. Alle Apps sind automatisch für dieses Label berechtigt.

    • Starke Integrität: Bewirkt, dass App Check das Geräteerkennungslabel MEETS_STRONG_INTEGRITY erfordert. Damit Ihre App dieses optionale Label erhalten kann, müssen Sie es zuerst in der Google Play Console aktivieren.

2. App Check-Bibliothek zur App hinzufügen

Fügen Sie in der Gradle-Datei des Moduls (auf App-Ebene) (normalerweise <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:35.0.2"))

    // 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 hinzufügen

Wenn Sie die Firebase BoM nicht verwenden möchten, müssen Sie jede Firebase-Bibliotheksversion 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. 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:20.0.0")
}

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 dann bei 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 Console aktivieren.

Messwerte beobachten und Erzwingung aktivieren

Bevor Sie die Erzwingung aktivieren, sollten Sie jedoch sicherstellen, dass dadurch Ihre bestehenden legitimen Nutzer nicht beeinträchtigt werden. 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:

Erzwingung von App Check aktivieren

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

App Check in Debug-Umgebungen verwenden

Wenn Sie Ihre App für App Check registriert haben und sie 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-Debug-Anbieter anstelle eines echten Attestierungsanbieters verwendet.

Weitere Informationen finden Sie unter App Check mit dem Debug-Anbieter unter Android verwenden.