Uygulamanızı Uygulama Kontrolü için kaydettirdikten sonra, uygulamanızı Uygulama Kontrolü'nün normalde geçerli olarak sınıflandırmadığı bir ortamda, örneğin geliştirme sırasında öykünücü veya sürekli tümleştirme (CI) ortamından çalıştırmak isterseniz, şunları yapabilirsiniz: uygulamanızın gerçek bir doğrulama sağlayıcısı yerine Uygulama Kontrolü hata ayıklama sağlayıcısını kullanan bir hata ayıklama yapısı oluşturun.
Bir öykünücüde hata ayıklama sağlayıcısını kullanma
Uygulamanızı bir öykünücüde etkileşimli olarak çalıştırırken (örneğin geliştirme sırasında) hata ayıklama sağlayıcısını kullanmak için aşağıdakileri yapın:
Modül (uygulama düzeyinde) Gradle dosyanızda (genellikle
<project>/<app-module>/build.gradle.kts
veya<project>/<app-module>/build.gradle
), Uygulama Kontrolü için bağımlılığı ekleyin Android kitaplığı. Kitaplık sürüm oluşturmayı kontrol etmek için Firebase Android BoM'yi kullanmanızı öneririz.Kotlin+KTX
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:32.3.1")) // 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")
implementation("com.google.firebase:firebase-appcheck-ktx") }Firebase Android BoM'yi kullandığınızda, uygulamanız her zaman Firebase Android kitaplıklarının uyumlu sürümlerini kullanır.
(Alternatif) BoM kullanmadan Firebase kitaplığı bağımlılıkları ekleyin
Firebase BoM'yi kullanmamayı seçerseniz, her bir Firebase kitaplığı sürümünü bağımlılık satırında belirtmeniz gerekir.
Uygulamanızda birden çok Firebase kitaplığı kullanıyorsanız kitaplık sürümlerini yönetmek için tüm sürümlerin uyumlu olmasını sağlayan BoM'yi kullanmanızı kesinlikle öneririz.
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.0.1")
implementation("com.google.firebase:firebase-appcheck-ktx:17.0.1") }Java
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:32.3.1")) // 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") }
Firebase Android BoM'yi kullandığınızda, uygulamanız her zaman Firebase Android kitaplıklarının uyumlu sürümlerini kullanır.
(Alternatif) BoM kullanmadan Firebase kitaplığı bağımlılıkları ekleyin
Firebase BoM'yi kullanmamayı seçerseniz, her bir Firebase kitaplığı sürümünü bağımlılık satırında belirtmeniz gerekir.
Uygulamanızda birden çok Firebase kitaplığı kullanıyorsanız kitaplık sürümlerini yönetmek için tüm sürümlerin uyumlu olmasını sağlayan BoM'yi kullanmanızı kesinlikle öneririz.
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.0.1") }
Hata ayıklama yapınızda, Uygulama Denetimini hata ayıklama sağlayıcı fabrikasını kullanacak şekilde yapılandırın:
Kotlin+KTX
Firebase.initialize(context = this) Firebase.appCheck.installAppCheckProviderFactory( DebugAppCheckProviderFactory.getInstance(), )
Java
FirebaseApp.initializeApp(/*context=*/ this); FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance(); firebaseAppCheck.installAppCheckProviderFactory( DebugAppCheckProviderFactory.getInstance());
Uygulamayı başlatın ve bir Firebase arka uç hizmetine çağrı tetikleyin. SDK arka uca bir istek göndermeye çalıştığında, yerel bir hata ayıklama belirteci günlüğe kaydedilir. Örneğin:
D DebugAppCheckProvider: Enter this debug secret into the allow list in the Firebase Console for your project: 123a4567-b89c-12d3-e456-789012345678
Firebase konsolunun Uygulama Kontrolü bölümünde, uygulamanızın taşma menüsünden Hata ayıklama belirteçlerini yönet'i seçin. Ardından, önceki adımda oturum açtığınız hata ayıklama jetonunu kaydedin.
Belirteci kaydettikten sonra, Firebase arka uç hizmetleri bunu geçerli olarak kabul edecektir.
Bu belirteç, Firebase kaynaklarınıza geçerli bir cihaz olmadan erişim sağladığından, onu gizli tutmanız çok önemlidir. Halka açık bir depoya teslim etmeyin ve kayıtlı bir jetonun güvenliği ihlal edilirse, onu Firebase konsolunda hemen iptal edin.
Bir CI ortamında birim testi için hata ayıklama sağlayıcısını kullanın
Bir sürekli tümleştirme (CI) ortamında birim testi için hata ayıklama sağlayıcısını kullanmak için aşağıdakileri yapın:
Firebase konsolunun Uygulama Kontrolü bölümünde, uygulamanızın taşma menüsünden Hata ayıklama belirteçlerini yönet'i seçin. Ardından, yeni bir hata ayıklama belirteci oluşturun. Jetona bir sonraki adımda ihtiyacınız olacak.
Bu belirteç, Firebase kaynaklarınıza geçerli bir cihaz olmadan erişim sağladığından, onu gizli tutmanız çok önemlidir. Halka açık bir depoya teslim etmeyin ve kayıtlı bir jetonun güvenliği ihlal edilirse, onu Firebase konsolunda hemen iptal edin.
Yeni oluşturduğunuz hata ayıklama jetonunu CI sisteminizin güvenli anahtar deposuna ekleyin (örneğin, GitHub Actions'ın şifrelenmiş sırları veya Travis CI'nin şifrelenmiş değişkenleri ).
Gerekirse, CI sisteminizi, hata ayıklama belirtecinizin CI ortamında bir ortam değişkeni olarak kullanılabilir olmasını sağlayacak şekilde yapılandırın. Değişkeni
APP_CHECK_DEBUG_TOKEN_FROM_CI
gibi adlandırın.Modül (uygulama düzeyinde) Gradle dosyanızda (genellikle
<project>/<app-module>/build.gradle.kts
veya<project>/<app-module>/build.gradle
), Uygulama Kontrolü için bağımlılığı ekleyin Android kitaplığı. Kitaplık sürüm oluşturmayı kontrol etmek için Firebase Android BoM'yi kullanmanızı öneririz.Kotlin+KTX
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:32.3.1")) // Add the dependency for the App Check library // When using the BoM, you don't specify versions in Firebase library dependencies androidTestImplementation("com.google.firebase:firebase-appcheck-debug-testing") }
Firebase Android BoM'yi kullandığınızda, uygulamanız her zaman Firebase Android kitaplıklarının uyumlu sürümlerini kullanır.
(Alternatif) BoM kullanmadan Firebase kitaplığı bağımlılıkları ekleyin
Firebase BoM'yi kullanmamayı seçerseniz, her bir Firebase kitaplığı sürümünü bağımlılık satırında belirtmeniz gerekir.
Uygulamanızda birden çok Firebase kitaplığı kullanıyorsanız kitaplık sürümlerini yönetmek için tüm sürümlerin uyumlu olmasını sağlayan BoM'yi kullanmanızı kesinlikle öneririz.
dependencies { // Add the dependency for the App Check library // When NOT using the BoM, you must specify versions in Firebase library dependencies androidTestImplementation("com.google.firebase:firebase-appcheck-debug-testing:17.0.1") }
Java
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:32.3.1")) // Add the dependency for the App Check library // When using the BoM, you don't specify versions in Firebase library dependencies androidTestImplementation("com.google.firebase:firebase-appcheck-debug-testing") }
Firebase Android BoM'yi kullandığınızda, uygulamanız her zaman Firebase Android kitaplıklarının uyumlu sürümlerini kullanır.
(Alternatif) BoM kullanmadan Firebase kitaplığı bağımlılıkları ekleyin
Firebase BoM'yi kullanmamayı seçerseniz, her bir Firebase kitaplığı sürümünü bağımlılık satırında belirtmeniz gerekir.
Uygulamanızda birden çok Firebase kitaplığı kullanıyorsanız kitaplık sürümlerini yönetmek için tüm sürümlerin uyumlu olmasını sağlayan BoM'yi kullanmanızı kesinlikle öneririz.
dependencies { // Add the dependency for the App Check library // When NOT using the BoM, you must specify versions in Firebase library dependencies androidTestImplementation("com.google.firebase:firebase-appcheck-debug-testing:17.0.1") }
CI yapı değişkeninizin yapılandırmasına aşağıdakileri ekleyin:
testInstrumentationRunnerArguments["firebaseAppCheckDebugSecret"] = System.getenv("APP_CHECK_DEBUG_TOKEN_FROM_CI") ?: ""
Test sınıflarınızda, Uygulama Kontrolü belirteci gerektiren herhangi bir kodu sarmak için
DebugAppCheckTestHelper
kullanın: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. }); } }
Uygulamanız bir CI ortamında çalıştığında Firebase arka uç hizmetleri, gönderdiği belirteci geçerli olarak kabul eder.