Jeśli po zarejestrowaniu aplikacji w usłudze App Check chcesz uruchomić ją w środowisku, które App Check zwykle nie klasyfikuje jako prawidłowe, np. w emulatorze podczas programowania lub w środowisku ciągłej integracji (CI), możesz utworzyć wersję debugowania aplikacji, która zamiast prawdziwego dostawcy atestów używa dostawcy debugowania App Check.
Używanie dostawcy debugowania w emulatorze
Aby użyć dostawcy debugowania podczas interaktywnego uruchamiania aplikacji w emulatorze (np. podczas programowania), wykonaj te czynności:
- W pliku Gradle na poziomie modułu (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 symbolu Firebase Android BoM do kontrolowania wersji biblioteki.- dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:34.4.0")) // 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 korzystamy z Firebase Android BoM, aplikacja zawsze używa zgodnych wersji bibliotek Firebase na Androida. - (Alternatywnie) Dodaj zależności biblioteki Firebase bez użycia BoM - Jeśli nie chcesz używać Firebase BoM, musisz określić wersję każdej biblioteki Firebase w wierszu zależności. - Pamiętaj, że jeśli w aplikacji używasz kilku bibliotek Firebase, zdecydowanie zalecamy używanie BoM do zarządzania wersjami bibliotek, co zapewnia 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:19.0.1") } 
- W kompilacji 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()); 
- Uruchom aplikację i wywołaj połączenie z usługą backendu Firebase. Gdy pakiet SDK spróbuje wysłać żądanie do backendu, zostanie zarejestrowany lokalny token debugowania. Przykład: - D DebugAppCheckProvider: Enter this debug secret into the allow list in the Firebase Console for your project: 123a4567-b89c-12d3-e456-789012345678 
- W sekcji App Check w konsoli Firebase wybierz Zarządzaj tokenami debugowania w menu aplikacji. Następnie zarejestruj token debugowania, za pomocą którego zalogowano się w poprzednim kroku.  
Po zarejestrowaniu tokena usługi backendu Firebase będą go akceptować jako prawidłowy.
Ten token umożliwia dostęp do zasobów Firebase bez prawidłowego urządzenia, dlatego musisz zachować go w tajemnicy. Nie przesyłaj go do publicznego repozytorium, a jeśli zarejestrowany token zostanie naruszony, natychmiast go unieważnij w Firebasekonsoli.
Używanie dostawcy debugowania do testów jednostkowych w środowisku CI
Aby użyć dostawcy debugowania do testów jednostkowych w środowisku ciągłej integracji (CI), wykonaj te czynności:
- W sekcji App Check w konsoli Firebase wybierz Zarządzaj tokenami debugowania w menu aplikacji. Następnie utwórz nowy token debugowania. Będzie on potrzebny w następnym kroku. - Ten token umożliwia dostęp do zasobów Firebase bez prawidłowego urządzenia, dlatego musisz zachować go w tajemnicy. Nie przesyłaj go do publicznego repozytorium, a jeśli zarejestrowany token zostanie naruszony, natychmiast go unieważnij w Firebasekonsoli.  
- Dodaj utworzony token debugowania do bezpiecznego magazynu kluczy systemu CI (np. zaszyfrowanych kluczy tajnych w GitHub Actions lub zaszyfrowanych zmiennych w Travis CI). 
- W razie potrzeby skonfiguruj system CI, aby udostępnić token debugowania w środowisku CI jako zmienną środowiskową. Nadaj zmiennej nazwę, np. - APP_CHECK_DEBUG_TOKEN_FROM_CI.
- W pliku Gradle na poziomie modułu (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 symbolu Firebase Android BoM do kontrolowania wersji biblioteki.- Kotlin- dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:34.4.0")) // 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 korzystamy z Firebase Android BoM, aplikacja zawsze używa zgodnych wersji bibliotek Firebase na Androida. - (Alternatywnie) Dodaj zależności biblioteki Firebase bez użycia BoM - Jeśli nie chcesz używać Firebase BoM, musisz określić wersję każdej biblioteki Firebase w wierszu zależności. - Pamiętaj, że jeśli w aplikacji używasz kilku bibliotek Firebase, zdecydowanie zalecamy używanie BoM do zarządzania wersjami bibliotek, co zapewnia 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:19.0.1") } - Java- dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:34.4.0")) // 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 korzystamy z Firebase Android BoM, aplikacja zawsze używa zgodnych wersji bibliotek Firebase na Androida. - (Alternatywnie) Dodaj zależności biblioteki Firebase bez użycia BoM - Jeśli nie chcesz używać Firebase BoM, musisz określić wersję każdej biblioteki Firebase w wierszu zależności. - Pamiętaj, że jeśli w aplikacji używasz kilku bibliotek Firebase, zdecydowanie zalecamy używanie BoM do zarządzania wersjami bibliotek, co zapewnia 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:19.0.1") } 
- Dodaj do konfiguracji wariantu kompilacji CI: - testInstrumentationRunnerArguments["firebaseAppCheckDebugSecret"] = System.getenv("APP_CHECK_DEBUG_TOKEN_FROM_CI") ?: ""
- W klasach testowych użyj znaku - DebugAppCheckTestHelper, aby otoczyć 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 Firebase akceptują wysyłany przez nią token jako prawidłowy.