Nachdem App Check für einen Backend-Dienst erzwungen wurde, werden die Funktionen Ihrer App, die von diesem Backend-Dienst abhängen, nicht in einem Emulator oder in einer CI-Umgebung (Continuous Integration) ausgeführt, da diese Umgebungen nicht als gültige Geräte gelten. Wenn Sie Ihre App während der Entwicklung und des Tests in diesen Umgebungen ausführen möchten, müssen Sie einen Debug-Build Ihrer App erstellen, der den App Check-Debug-Anbieter anstelle eines Produktionsattestierungsanbieters verwendet.
Debug-Anbieter in einem Emulator verwenden
So verwenden Sie den Debug-Anbieter, wenn Sie Ihre App interaktiv in einem Emulator ausführen (z. B. während der lokalen Entwicklung):
Fügen Sie in der Gradle-Datei des Moduls (auf App-Ebene) (normalerweise
<project>/<app-module>/build.gradle.ktsoder<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-debug") }
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-debug:20.0.0") }
Konfigurieren Sie in Ihrem Debug-Build App Check so, dass die Debug-Anbieter-Factory verwendet wird:
Kotlin
Firebase.initialize(context = this) Firebase.appCheck.installAppCheckProviderFactory( DebugAppCheckProviderFactory.getInstance(), )
Java
FirebaseApp.initializeApp(/*context=*/ this); FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance(); firebaseAppCheck.installAppCheckProviderFactory( DebugAppCheckProviderFactory.getInstance());
Rufen Sie Ihr Debug-Token ab:
Führen Sie die App im Emulator oder auf Ihrem Testgerät aus.
Suchen Sie in Ihren Logs nach dem Debug-Token App Check. Beispiel:
D DebugAppCheckProvider: Enter this debug secret into the allow list in the Firebase Console for your project: 123a4567-b89c-12d3-e456-789012345678Kopieren Sie das Token (z. B.
123a4567-b89c-12d3-e456-789012345678).
Registrieren Sie Ihr Debug-Token bei App Check:
Rufen Sie in der Firebase-Konsole den Tab Sicherheit > App Check > Apps auf.
Suchen Sie Ihre App, klicken Sie auf das Dreipunkt-Menü () und wählen Sie dann Debug-Tokens verwalten aus.
Folgen Sie der Anleitung auf dem Bildschirm, um Ihr Debug-Token zu registrieren.

Nachdem Sie das Token bei App Check registriert haben, wird es von Ihren Backend-Diensten als gültig akzeptiert.
Dieses Token ermöglicht den Zugriff auf Ihre Backend-Dienste ohne ein gültiges Gerät. Daher ist es wichtig, dass Sie es geheim halten. Übertragen Sie es nicht in ein öffentliches Repository und verwenden Sie es nicht in Produktions-Builds Ihrer App. Wenn ein registriertes Token kompromittiert wird, löschen Sie es sofort über Debugging-Tokens verwalten in der Firebase-Konsole.
Debug-Anbieter für Unittests in einer CI-Umgebung verwenden
So verwenden Sie den Debug-Anbieter für Unittests in einer CI-Umgebung (Continuous Integration):
Erstellen Sie in der Firebase Console ein Debug-Token:
Rufen Sie in der Firebase-Konsole den Tab Sicherheit > App Check > Apps auf.
Suchen Sie Ihre App, klicken Sie auf das Dreipunkt-Menü () und wählen Sie dann Debug-Tokens verwalten aus.
Folgen Sie der Anleitung auf dem Bildschirm, um ein neues Debug-Token zu erstellen.
Dieses Token ermöglicht den Zugriff auf Ihre Backend-Dienste ohne ein gültiges Gerät. Daher ist es wichtig, dass Sie es geheim halten. Übertragen Sie es nicht in ein öffentliches Repository und verwenden Sie es nicht in Produktions-Builds Ihrer App. Wenn ein registriertes Token kompromittiert wird, löschen Sie es sofort über Debugging-Tokens verwalten in der Firebase-Konsole.

Fügen Sie das soeben erstellte Debug-Token dem sicheren Schlüsselspeicher Ihres CI-Systems hinzu (z. B. verschlüsselte Secrets von GitHub Actions oder verschlüsselte Variablen von Travis CI).
Konfigurieren Sie gegebenenfalls Ihr CI-System so, dass Ihr Debug-Token in der CI-Umgebung als Umgebungsvariable verfügbar ist. Geben Sie der Variablen einen Namen wie
APP_CHECK_DEBUG_TOKEN_FROM_CI.Fügen Sie in der Gradle-Datei des Moduls (auf App-Ebene) (normalerweise
<project>/<app-module>/build.gradle.ktsoder<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.Kotlin
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:35.0.2")) // 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-debug") }
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 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-debug:20.0.0") }
Java
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:35.0.2")) // 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-debug") }
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 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-debug:20.0.0") }
Fügen Sie der Konfiguration Ihrer CI-Build-Variante Folgendes hinzu:
testInstrumentationRunnerArguments["firebaseAppCheckDebugSecret"] = System.getenv("APP_CHECK_DEBUG_TOKEN_FROM_CI") ?: ""Verwenden Sie in Ihren Testklassen die
DebugAppCheckTestHelper, um Code zu umschließen, der ein App Check-Token benötigt:Kotlin
@RunWith(AndroidJunit4::class) class MyTests { private val debugAppCheckTestHelper = DebugAppCheckTestHelper.fromInstrumentationArgs() @Test fun testWithDefaultApp() { debugAppCheckTestHelper.withDebugProvider { // Test code that requires a debug AppCheckToken. } } @Test fun testWithNonDefaultApp() { debugAppCheckTestHelper.withDebugProvider( FirebaseApp.getInstance("nonDefaultApp") ) { // Test code that requires a debug AppCheckToken. } } }Java
@RunWith(AndroidJunit4.class) public class YourTests { private final DebugAppCheckTestHelper debugAppCheckTestHelper = DebugAppCheckTestHelper.fromInstrumentationArgs(); @Test public void testWithDefaultApp() { debugAppCheckTestHelper.withDebugProvider(() -> { // Test code that requires a debug AppCheckToken. }); } @Test public void testWithNonDefaultApp() { debugAppCheckTestHelper.withDebugProvider( FirebaseApp.getInstance("nonDefaultApp"), () -> { // Test code that requires a debug AppCheckToken. }); } }
Wenn Ihre App in einer CI-Umgebung ausgeführt wird, akzeptieren Ihre Backend-Dienste das von ihr gesendete Token als gültig.