App Check bir arka uç hizmeti için zorunlu kılındıktan sonra, bu arka uç hizmetine bağlı olan uygulama özellikleriniz, geçerli cihaz olarak kabul edilmedikleri için bir emülatörde veya sürekli entegrasyon (CI) ortamında çalışmaz. Geliştirme ve test sırasında uygulamanızı bu ortamlarda çalıştırmak için uygulamanızın üretim tasdik sağlayıcısı yerine App Check hata ayıklama sağlayıcısını kullanan bir hata ayıklama derlemesini oluşturmanız gerekir.
Hata ayıklama sağlayıcıyı emülatörde kullanma
Uygulamanızı bir emülatörde etkileşimli olarak (ör. yerel geliştirme sırasında) çalıştırırken hata ayıklama sağlayıcısını kullanma adımları şunlardır:
Modülünüzün (uygulama düzeyinde) Gradle dosyasında (genellikle
<project>/<app-module>/build.gradle.ktsveya<project>/<app-module>/build.gradle), Android için App Check kitaplığının bağımlılığını ekleyin. Kitaplık sürüm oluşturmayı kontrol etmek için Firebase Android BoM kullanmanızı öneririz.dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:34.16.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") }
Firebase Android BoM kullanıldığında uygulamanız Firebase Android kitaplıklarının daima uyumlu sürümlerini kullanır.
(Alternatif) BoM kullanmadan Firebase kitaplığı bağımlılıklarını ekleyin.
Firebase BoM kullanmamayı tercih ederseniz her Firebase kitaplık sürümünü bağımlılık satırında belirtmeniz gerekir.
Uygulamanızda birden fazla Firebase kitaplığı kullanıyorsanız kitaplık sürümlerini yönetmek için BoM kullanmanızı önemle tavsiye ederiz. Bu sayede tüm sürümlerin uyumlu olması sağlanır.
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.3.0") }
Hata ayıklama derlemenizde, App Check öğesini hata ayıklama sağlayıcı fabrikasını kullanacak şekilde yapılandırın:
Kotlin
Firebase.initialize(context = this) Firebase.appCheck.installAppCheckProviderFactory( DebugAppCheckProviderFactory.getInstance(), )
Java
FirebaseApp.initializeApp(/*context=*/ this); FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance(); firebaseAppCheck.installAppCheckProviderFactory( DebugAppCheckProviderFactory.getInstance());
Hata ayıklama jetonunuzu alın:
Uygulamanızı emülatörde veya test cihazınızda çalıştırın.
Günlüklerinizde App Check hata ayıklama jetonunu bulun. Örneğin:
D DebugAppCheckProvider: Enter this debug secret into the allow list in the Firebase Console for your project: 123a4567-b89c-12d3-e456-789012345678Jetonu kopyalayın (örneğin,
123a4567-b89c-12d3-e456-789012345678).
Hata ayıklama jetonunuzu App Check ile kaydedin:
Firebase konsolunda Güvenlik > Uygulama Kontrolü > Uygulamalar sekmesine gidin.
Uygulamanızı bulun, üç nokta taşma menüsünü () tıklayın ve Hata ayıklama jetonlarını yönet'i seçin.
Hata ayıklama jetonunuzu kaydetmek için ekrandaki talimatları uygulayın.

Jetonu App Check ile kaydettikten sonra arka uç hizmetleriniz bunu geçerli olarak kabul eder.
Bu jeton, geçerli bir cihaz olmadan arka uç hizmetlerinize erişmenizi sağlar. Bu nedenle, jetonunuzu gizli tutmanız çok önemlidir. Bu jetonu herkese açık bir depoya işlemeyin veya uygulamanızın üretim derlemelerinde göndermeyin. Kayıtlı bir jetonun güvenliği ihlal edilirse Firebase konsolundaki Hata ayıklama jetonlarını yönet seçeneğini kullanarak jetonu hemen silin.
CI ortamında birim testi için hata ayıklama sağlayıcısını kullanma
Sürekli entegrasyon (CI) ortamında birim testi için hata ayıklama sağlayıcısını kullanma adımları:
Firebase konsolunda bir hata ayıklama jetonu oluşturun:
Firebase konsolunda Güvenlik > Uygulama Kontrolü > Uygulamalar sekmesine gidin.
Uygulamanızı bulun, üç nokta taşma menüsünü () tıklayın ve Hata ayıklama jetonlarını yönet'i seçin.
Yeni bir hata ayıklama jetonu oluşturmak için ekrandaki talimatları uygulayın.
Bu jeton, geçerli bir cihaz olmadan arka uç hizmetlerinize erişmenizi sağlar. Bu nedenle, jetonunuzu gizli tutmanız çok önemlidir. Bu jetonu herkese açık bir depoya işlemeyin veya uygulamanızın üretim derlemelerinde göndermeyin. Kayıtlı bir jetonun güvenliği ihlal edilirse Firebase konsolundaki Hata ayıklama jetonlarını yönet seçeneğini kullanarak jetonu hemen silin.

Yeni oluşturduğunuz hata ayıklama jetonunu CI sisteminizin güvenli anahtar deposuna ekleyin (ör. GitHub Actions'ın şifrelenmiş sırları veya Travis CI'ın şifrelenmiş değişkenleri).
Gerekirse hata ayıklama jetonunuzu CI ortamında ortam değişkeni olarak kullanılabilir hale getirmek için CI sisteminizi yapılandırın. Değişkeni
APP_CHECK_DEBUG_TOKEN_FROM_CIgibi bir adla adlandırın.Modülünüzün (uygulama düzeyinde) Gradle dosyasında (genellikle
<project>/<app-module>/build.gradle.ktsveya<project>/<app-module>/build.gradle), Android için App Check kitaplığının bağımlılığını ekleyin. Kitaplık sürüm oluşturmayı kontrol etmek için Firebase Android BoM kullanmanızı öneririz.Kotlin
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:34.16.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") }
Firebase Android BoM kullanıldığında uygulamanız Firebase Android kitaplıklarının daima uyumlu sürümlerini kullanır.
(Alternatif) BoM kullanmadan Firebase kitaplığı bağımlılıklarını ekleyin.
Firebase BoM kullanmamayı tercih ederseniz her Firebase kitaplık sürümünü bağımlılık satırında belirtmeniz gerekir.
Uygulamanızda birden fazla Firebase kitaplığı kullanıyorsanız kitaplık sürümlerini yönetmek için BoM kullanmanızı önemle tavsiye ederiz. Bu sayede tüm sürümlerin uyumlu olması sağlanır.
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.3.0") }
Java
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:34.16.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") }
Firebase Android BoM kullanıldığında uygulamanız Firebase Android kitaplıklarının daima uyumlu sürümlerini kullanır.
(Alternatif) BoM kullanmadan Firebase kitaplığı bağımlılıklarını ekleyin.
Firebase BoM kullanmamayı tercih ederseniz her Firebase kitaplık sürümünü bağımlılık satırında belirtmeniz gerekir.
Uygulamanızda birden fazla Firebase kitaplığı kullanıyorsanız kitaplık sürümlerini yönetmek için BoM kullanmanızı önemle tavsiye ederiz. Bu sayede tüm sürümlerin uyumlu olması sağlanır.
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.3.0") }
CI derleme 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, App Check jetonu gerektiren tüm kodları sarmak için
DebugAppCheckTestHelperkullanın: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. }); } }
Uygulamanız bir CI ortamında çalışırken arka uç hizmetleriniz, gönderdiği jetonu geçerli olarak kabul eder.