App Check bir arka uç hizmeti için zorunlu kılındıktan sonra uygulamanızın bu arka uç hizmetine bağlı özellikleri, geçerli cihaz olarak kabul edilmediği için emülatörde veya sürekli entegrasyon (CI) ortamında çalışmaz. Uygulamanızı geliştirme ve test aşamalarında bu ortamlarda çalıştırmak için üretim onaylama sağlayıcısı yerine App Check hata ayıklama sağlayıcısını kullanan bir hata ayıklama derlemesi oluşturmanız gerekir.
silin.Emülatörde hata ayıklama sağlayıcısını kullanma
Uygulamanızı bir emülatörde etkileşimli olarak çalıştırırken (örneğin, yerel geliştirme sırasında) hata ayıklama sağlayıcısını şu şekilde kullanabilirsiniz:
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ığına olan bağımlılığı ekleyin. Kitaplık sürümünü 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: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") }
Firebase Android BoM kullanarak uygulamanızın her zaman Firebase Android kitaplıklarının uyumlu sürümlerini kullanmasını sağlayabilirsiniz.
(Alternatif) BoM kullanmadan Firebase kitaplığı bağımlılıklarını ekleme
Firebase BoM kullanmamayı tercih ederseniz her Firebase kitaplığı sürümünü kendi 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ını sağlayabilirsiniz.
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") }
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 (ör.
123a4567-b89c-12d3-e456-789012345678) kopyalayın.
Hata ayıklama jetonunuzu App Check ile kaydedin:
Firebase konsolunda Güvenlik > Uygulama Kontrolü > Uygulamalar sekmesine gidin.
Uygulamanızı bulun, üç noktalı taşma menüsünü () tıklayın ve ardından 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 jetonu geçerli olarak kabul eder.
Bu jeton, geçerli bir cihaz olmadan arka uç hizmetlerinize erişim sağlar. Bu nedenle, jetonu gizli tutmanız çok önemlidir. Jetonu herkese açık bir depoya kaydetmeyin veya uygulamanızın üretim derlemelerinde göndermeyin. Kayıtlı bir jetonun güvenliği ihlal edilirse Firebase Console'da Hata ayıklama jetonlarını yönet'i 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ı şu şekilde kullanabilirsiniz:
Firebase konsolunda bir hata ayıklama jetonu oluşturun:
Firebase konsolunda Güvenlik > Uygulama Kontrolü > Uygulamalar sekmesine gidin.
Uygulamanızı bulun, üç noktalı taşma menüsünü () tıklayın ve ardından 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şim sağlar. Bu nedenle, jetonu gizli tutmanız çok önemlidir. Jetonu herkese açık bir depoya kaydetmeyin veya uygulamanızın üretim derlemelerinde göndermeyin. Kayıtlı bir jetonun güvenliği ihlal edilirse Firebase Console'da Hata ayıklama jetonlarını yönet'i kullanarak jetonu hemen silin.

Yeni oluşturduğunuz hata ayıklama jetonunu CI sisteminizin güvenli anahtar deposuna ekleyin (ör. GitHub Actions'ın şifrelenmiş gizli anahtarları veya Travis CI'ın şifrelenmiş değişkenleri).
Gerekirse CI sisteminizi, hata ayıklama jetonunuzu CI ortamında ortam değişkeni olarak kullanılabilir hale getirecek şekilde yapılandırın. Değişkene
APP_CHECK_DEBUG_TOKEN_FROM_CIgibi bir ad verin.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ığına olan bağımlılığı ekleyin. Kitaplık sürümünü 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: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") }
Firebase Android BoM kullanarak uygulamanızın her zaman Firebase Android kitaplıklarının uyumlu sürümlerini kullanmasını sağlayabilirsiniz.
(Alternatif) BoM kullanmadan Firebase kitaplığı bağımlılıklarını ekleme
Firebase BoM kullanmamayı tercih ederseniz her Firebase kitaplığı sürümünü kendi 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ını sağlayabilirsiniz.
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") }
Firebase Android BoM kullanarak uygulamanızın her zaman Firebase Android kitaplıklarının uyumlu sürümlerini kullanmasını sağlayabilirsiniz.
(Alternatif) BoM kullanmadan Firebase kitaplığı bağımlılıklarını ekleme
Firebase BoM kullanmamayı tercih ederseniz her Firebase kitaplığı sürümünü kendi 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ını sağlayabilirsiniz.
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") }
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ı sarmalamak 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.