Po wymuszeniu App Check w przypadku usługi backendu funkcje aplikacji, które zależą od tej usługi, nie będą działać w emulatorze ani w środowisku trybu ciągłej integracji (CI), ponieważ te środowiska nie są uznawane za prawidłowe urządzenia. Aby uruchamiać aplikację w tych środowiskach podczas programowania i testowania, musisz utworzyć kompilację do debugowania, która używa dostawcy debugowania App Check zamiast dostawcy atestu produkcyjnego.
Używanie dostawcy debugowania w emulatorze
Aby używać dostawcy debugowania podczas interaktywnego uruchamiania aplikacji w emulatorze (np. podczas lokalnego programowania):
W pliku Gradle modułu (na poziomie aplikacji) (zwykle
<project>/<app-module>/build.gradle.ktslub<project>/<app-module>/build.gradle) dodaj zależność z biblioteką App Check na Androida. Zalecamy używanie Firebase Android BoM do kontrolowania obsługi wersji biblioteki.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") }
Gdy korzystasz z Firebase Android BoM, aplikacja zawsze używa zgodnych wersji bibliotek Firebase na Androida.
(Alternatywa) Dodaj zależności biblioteki Firebase bez używania BoM
Jeśli nie zdecydujesz się na użycie Firebase BoM, musisz określić każdą wersję biblioteki Firebase w jej wierszu zależności.
Jeśli w aplikacji używasz kilku bibliotek Firebase, zdecydowanie zalecamy korzystanie z BoM do zarządzania wersjami bibliotek, co zapewni zgodność wszystkich wersji.
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") }
W kompilacji do debugowania skonfiguruj App Check tak, aby używała fabryki dostawcy debugowania:
Kotlin
Firebase.initialize(context = this) Firebase.appCheck.installAppCheckProviderFactory( DebugAppCheckProviderFactory.getInstance(), )
Java
FirebaseApp.initializeApp(/*context=*/ this); FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance(); firebaseAppCheck.installAppCheckProviderFactory( DebugAppCheckProviderFactory.getInstance());
Uzyskaj token debugowania:
Uruchom aplikację w emulatorze lub na urządzeniu testowym.
Poszukaj w logach tokena debugowania App Check. Przykład:
D DebugAppCheckProvider: Enter this debug secret into the allow list in the Firebase Console for your project: 123a4567-b89c-12d3-e456-789012345678Skopiuj token (na przykład
123a4567-b89c-12d3-e456-789012345678).
Zarejestruj token debugowania w App Check:
W konsoli Firebase otwórz kartę Zabezpieczenia > Sprawdzanie aplikacji > Aplikacje.
Znajdź aplikację, kliknij rozszerzone menu (), a następnie wybierz Zarządzaj tokenami debugowania.
Aby zarejestrować token debugowania, postępuj zgodnie z instrukcjami wyświetlanymi na ekranie.

Po zarejestrowaniu tokena w App Check usługi backendu będą go akceptować jako prawidłowy.
Ten token umożliwia dostęp do usług backendu bez prawidłowego urządzenia, dlatego ważne jest, aby zachować go w tajemnicy. Nie przesyłaj go do publicznego repozytorium ani nie dołączaj do wersji produkcyjnych aplikacji. Jeśli zarejestrowany token zostanie przejęty, natychmiast usuń go za pomocą opcji Zarządzaj tokenami debugowania w konsoli Firebase.
Używanie dostawcy debugowania do testów jednostkowych w środowisku CI
Oto jak używać dostawcy debugowania do testów jednostkowych w środowisku trybu ciągłej integracji (CI):
W konsoli Firebase utwórz token debugowania:
W konsoli Firebase otwórz kartę Zabezpieczenia > Sprawdzanie aplikacji > Aplikacje.
Znajdź aplikację, kliknij rozszerzone menu (), a następnie wybierz Zarządzaj tokenami debugowania.
Aby utworzyć nowy token debugowania, postępuj zgodnie z instrukcjami wyświetlanymi na ekranie.
Ten token umożliwia dostęp do usług backendu bez prawidłowego urządzenia, dlatego ważne jest, aby zachować go w tajemnicy. Nie przesyłaj go do publicznego repozytorium ani nie dołączaj do wersji produkcyjnych aplikacji. Jeśli zarejestrowany token zostanie przejęty, natychmiast usuń go za pomocą opcji Zarządzaj tokenami debugowania w konsoli Firebase.

Dodaj utworzony token debugowania do bezpiecznego magazynu kluczy systemu CI (np. zaszyfrowanych obiektów tajnych GitHub Actions lub zaszyfrowanych zmiennych Travis CI).
W razie potrzeby skonfiguruj system CI, aby udostępnić token debugowania w środowisku CI jako zmienną środowiskową. Nazwij zmienną, np.
APP_CHECK_DEBUG_TOKEN_FROM_CI.W pliku Gradle modułu (na poziomie aplikacji) (zwykle
<project>/<app-module>/build.gradle.ktslub<project>/<app-module>/build.gradle) dodaj zależność z biblioteką App Check na Androida. Zalecamy używanie Firebase Android BoM do kontrolowania obsługi wersji biblioteki.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") }
Gdy korzystasz z Firebase Android BoM, aplikacja zawsze używa zgodnych wersji bibliotek Firebase na Androida.
(Alternatywa) Dodaj zależności biblioteki Firebase bez używania BoM
Jeśli nie zdecydujesz się na użycie Firebase BoM, musisz określić każdą wersję biblioteki Firebase w jej wierszu zależności.
Jeśli w aplikacji używasz kilku bibliotek Firebase, zdecydowanie zalecamy korzystanie z BoM do zarządzania wersjami bibliotek, co zapewni zgodność wszystkich wersji.
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") }
Gdy korzystasz z Firebase Android BoM, aplikacja zawsze używa zgodnych wersji bibliotek Firebase na Androida.
(Alternatywa) Dodaj zależności biblioteki Firebase bez używania BoM
Jeśli nie zdecydujesz się na użycie Firebase BoM, musisz określić każdą wersję biblioteki Firebase w jej wierszu zależności.
Jeśli w aplikacji używasz kilku bibliotek Firebase, zdecydowanie zalecamy korzystanie z BoM do zarządzania wersjami bibliotek, co zapewni zgodność wszystkich wersji.
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") }
Dodaj do konfiguracji wariantu kompilacji CI te informacje:
testInstrumentationRunnerArguments["firebaseAppCheckDebugSecret"] = System.getenv("APP_CHECK_DEBUG_TOKEN_FROM_CI") ?: ""W klasach testowych użyj
DebugAppCheckTestHelper, aby opakować kod, który wymaga tokena App Check: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. }); } }
Gdy aplikacja działa w środowisku CI, usługi backendu akceptują wysyłany przez nią token jako prawidłowy.