Jeśli po zarejestrowaniu aplikacji w Kontroli aplikacji chcesz ją uruchomić w środowisku, którego weryfikacja aplikacji normalnie nie sklasyfikowałaby jako prawidłowe, na przykład w emulatorze podczas programowania lub w środowisku ciągłej integracji (CI), możesz utwórz kompilację debugowania swojej aplikacji, która korzysta z dostawcy debugowania App Check zamiast prawdziwego dostawcy zaświadczenia.
Użyj dostawcy debugowania w emulatorze
Aby użyć dostawcy debugowania podczas interaktywnego uruchamiania aplikacji w emulatorze (na przykład podczas programowania), wykonaj następujące czynności:
W pliku Gradle modułu (na poziomie aplikacji) (zwykle
<project>/<app-module>/build.gradle.kts
lub<project>/<app-module>/build.gradle
) dodaj zależność dla App Check biblioteka dla Androida. Zalecamy używanie Firebase Android BoM do kontrolowania wersji bibliotek.dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:32.8.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") }
Korzystając z Firebase Android BoM , Twoja aplikacja będzie zawsze korzystać z kompatybilnych wersji bibliotek Firebase Android.
Szukasz modułu bibliotecznego specyficznego dla Kotlina? Począwszy od października 2023 r. (Firebase BoM 32.5.0) zarówno programiści Kotlin, jak i Java mogą polegać na głównym module biblioteki (więcej informacji można znaleźć w często zadawanych pytaniach dotyczących tej inicjatywy ).(Alternatywa) Dodaj zależności biblioteki Firebase bez użycia BoM
Jeśli zdecydujesz się nie używać BoM Firebase, musisz określić każdą wersję biblioteki Firebase w jej wierszu zależności.
Pamiętaj, że jeśli używasz w swojej aplikacji wielu bibliotek Firebase, zdecydowanie zalecamy używanie BoM do zarządzania wersjami bibliotek, co gwarantuje, że wszystkie wersje będą kompatybilne.
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:17.1.2") }
W kompilacji debugowania skonfiguruj Sprawdzanie aplikacji tak, aby korzystała z fabryki dostawcy debugowania:
Kotlin+KTX
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 usługę zaplecza Firebase. Lokalny token debugowania zostanie zarejestrowany, gdy zestaw SDK spróbuje wysłać żądanie do zaplecza. Na 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 Sprawdzanie aplikacji w konsoli Firebase wybierz opcję Zarządzaj tokenami debugowania z rozszerzonego menu aplikacji. Następnie zarejestruj token debugowania zarejestrowany w poprzednim kroku.
Po zarejestrowaniu tokena usługi zaplecza Firebase zaakceptują go jako ważny.
Ponieważ ten token umożliwia dostęp do zasobów Firebase bez ważnego urządzenia, ważne jest, aby zachować jego prywatność. Nie udostępniaj go w publicznym repozytorium, a jeśli kiedykolwiek zarejestrowany token zostanie kiedykolwiek naruszony, unieważnij go natychmiast w konsoli Firebase.
Użyj 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 następujące czynności:
W sekcji Sprawdzanie aplikacji w konsoli Firebase wybierz opcję Zarządzaj tokenami debugowania z rozszerzonego menu aplikacji. Następnie utwórz nowy token debugowania. Token będzie Ci potrzebny w następnym kroku.
Ponieważ ten token umożliwia dostęp do zasobów Firebase bez ważnego urządzenia, ważne jest, aby zachować jego prywatność. Nie udostępniaj go w publicznym repozytorium, a jeśli kiedykolwiek zarejestrowany token zostanie kiedykolwiek naruszony, unieważnij go natychmiast w konsoli Firebase.
Dodaj właśnie utworzony token debugowania do bezpiecznego magazynu kluczy systemu CI (na przykład zaszyfrowanych kluczy tajnych GitHub Actions lub zaszyfrowanych zmiennych Travis CI).
W razie potrzeby skonfiguruj system CI tak, aby token debugowania był dostępny w środowisku CI jako zmienna środowiskowa. Nadaj zmiennej nazwę podobną do
APP_CHECK_DEBUG_TOKEN_FROM_CI
.W pliku Gradle modułu (na poziomie aplikacji) (zwykle
<project>/<app-module>/build.gradle.kts
lub<project>/<app-module>/build.gradle
) dodaj zależność dla App Check biblioteka dla Androida. Zalecamy używanie Firebase Android BoM do kontrolowania wersji bibliotek.Kotlin+KTX
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:32.8.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") }
Korzystając z Firebase Android BoM , Twoja aplikacja będzie zawsze korzystać z kompatybilnych wersji bibliotek Firebase Android.
Szukasz modułu bibliotecznego specyficznego dla Kotlina? Począwszy od października 2023 r. (Firebase BoM 32.5.0) zarówno programiści Kotlin, jak i Java mogą polegać na głównym module biblioteki (więcej informacji można znaleźć w często zadawanych pytaniach dotyczących tej inicjatywy ).(Alternatywa) Dodaj zależności biblioteki Firebase bez użycia BoM
Jeśli zdecydujesz się nie używać BoM Firebase, musisz określić każdą wersję biblioteki Firebase w jej wierszu zależności.
Pamiętaj, że jeśli używasz w swojej aplikacji wielu bibliotek Firebase, zdecydowanie zalecamy używanie BoM do zarządzania wersjami bibliotek, co gwarantuje, że wszystkie wersje będą kompatybilne.
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:17.1.2") }
Java
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:32.8.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") }
Korzystając z Firebase Android BoM , Twoja aplikacja będzie zawsze korzystać z kompatybilnych wersji bibliotek Firebase Android.
Szukasz modułu bibliotecznego specyficznego dla Kotlina? Począwszy od października 2023 r. (Firebase BoM 32.5.0) zarówno programiści Kotlin, jak i Java mogą polegać na głównym module biblioteki (więcej informacji można znaleźć w często zadawanych pytaniach dotyczących tej inicjatywy ).(Alternatywa) Dodaj zależności biblioteki Firebase bez użycia BoM
Jeśli zdecydujesz się nie używać BoM Firebase, musisz określić każdą wersję biblioteki Firebase w jej wierszu zależności.
Pamiętaj, że jeśli używasz w swojej aplikacji wielu bibliotek Firebase, zdecydowanie zalecamy używanie BoM do zarządzania wersjami bibliotek, co gwarantuje, że wszystkie wersje będą kompatybilne.
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:17.1.2") }
Dodaj następujące elementy do konfiguracji wariantu kompilacji CI:
testInstrumentationRunnerArguments["firebaseAppCheckDebugSecret"] = System.getenv("APP_CHECK_DEBUG_TOKEN_FROM_CI") ?: ""
W klasach testowych użyj
DebugAppCheckTestHelper
, aby zawinąć dowolny kod wymagający tokena sprawdzania aplikacji:Kotlin+KTX
@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 Twoja aplikacja działa w środowisku CI, usługi zaplecza Firebase akceptują wysyłany token jako prawidłowy.