Uygulamanızı App Check için kaydettikten sonra App Check normalde geçerli olarak sınıflandıramadığı bir ortamda bulunuyorsa, Örneğin, geliştirme sırasında emülatör veya sürekli entegrasyon (CI) aracılığıyla uygulamanızın hata ayıklama derlemesini oluşturmak için App Check gerçek bir onay sağlayıcısı yerine hata ayıklama sağlayıcısı ile çalışıyor.
Hata ayıklama sağlayıcısını bir emülatörde kullanma
Uygulamanızı bir emülatörde etkileşimli olarak çalıştırırken hata ayıklama sağlayıcısını kullanmak için (örneğin, geliştirme sırasında) 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
), Android için App Check kitaplığına bağımlılığı ekleyin. Şunu kullanmanızı öneririz: Firebase Android BoM Kitaplık'ta sürüm oluşturmayı kontrol etmek içindependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.1.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 kullanıldığında, Uygulamanız her zaman Firebase Android kitaplıklarının uyumlu sürümlerini kullanacaktır.
(Alternatif) Firebase kitaplığı bağımlılıklarını kullanmadan BoM
Firebase BoM kullanmamayı seçerseniz her Firebase kitaplığı sürümünü belirtmeniz gerekir değerini alır.
Uygulamanızda birden çok Firebase kitaplığı kullanıyorsanız, kitaplık sürümlerini yönetmek için BoM kullanmanızı öneririz. Bu, tüm sürümlerin uyumlu olduğundan emin olun.
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:18.0.0") }
Hata ayıklama derlemenizde, hata ayıklama sağlayıcısını kullanmak için App Check uygulamasını yapılandırın fabrika:
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 bir çağrı tetikleyin. Yerel SDK, Search Ads 360'a bir istek göndermeye çalıştığında arka uçta olması gerekir. Örneğin:
D DebugAppCheckProvider: Enter this debug secret into the allow list in the Firebase Console for your project: 123a4567-b89c-12d3-e456-789012345678
App Check bölümünde Firebase konsolunun, uygulamanızın menüsünden Hata ayıklama jetonlarını yönet'i seçin taşma menüsü. Ardından, önceki girişte günlüğe kaydettiğiniz hata ayıklama jetonunu kaydedin adımına geçelim.
Jetonu kaydetmenizin ardından Firebase arka uç hizmetleri, jetonu geçerli olarak kabul eder.
Çünkü bu jeton Firebase kaynaklarınıza gizli tutmanız çok önemlidir. Hiçbir zaman kayıtlı bir jetonun güvenliği ihlal edilirse bu kodu iptal edebilir Firebase konsolunda hemen görebilirsiniz.
CI ortamında birim testi yapmak için hata ayıklama sağlayıcısını kullanma
Sürekli entegrasyonda (CI) birim testi yapmak için hata ayıklama sağlayıcısını kullanma aşağıdaki adımları uygulayın:
App Check bölümünde Firebase konsolunun, uygulamanızın menüsünden Hata ayıklama jetonlarını yönet'i seçin taşma menüsü. Ardından yeni bir hata ayıklama jetonu oluşturun. Belgenin bir sonraki adıma geçebiliriz.
Çünkü bu jeton, Firebase kaynaklarınıza olması çok önemlidir. Bu nedenle, cihazı gizli tutmalısınız. Hiçbir zaman kayıtlı bir jetonun güvenliği ihlal edilirse bu kodu iptal edebilir Firebase konsolunda hemen görebilirsiniz.
Oluşturduğunuz hata ayıklama jetonunu CI sisteminizin güvenli anahtar deposuna ekleyin (örneğin, GitHub İşlemleri'nin şifrelenmiş gizli anahtarları) ya da Travis CI'nın şifrelenmiş değişkenleri) kaldırın.
Gerekirse hata ayıklama jetonunuzu kullanılabilir hale getirmek için CI sisteminizi yapılandırın arasında bir ortam değişkeni olarak gösterilir. Değişkene ad verin
APP_CHECK_DEBUG_TOKEN_FROM_CI
gibi bir değerdir.Modül (uygulama düzeyinde) Gradle dosyanızda (genellikle
<project>/<app-module>/build.gradle.kts
veya<project>/<app-module>/build.gradle
), Android için App Check kitaplığına bağımlılığı ekleyin. Şunu kullanmanızı öneririz: Firebase Android BoM Kitaplık'ta sürüm oluşturmayı kontrol etmek içinKotlin+KTX
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.1.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 kullanıldığında, Uygulamanız her zaman Firebase Android kitaplıklarının uyumlu sürümlerini kullanacaktır.
(Alternatif) Firebase kitaplığı bağımlılıklarını kullanmadan BoM
Firebase BoM kullanmamayı seçerseniz her Firebase kitaplığı sürümünü belirtmeniz gerekir değerini alır.
Uygulamanızda birden çok Firebase kitaplığı kullanıyorsanız, kitaplık sürümlerini yönetmek için BoM kullanmanızı öneririz. Bu, tüm sürümlerin uyumlu olduğundan emin olun.
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:18.0.0") }
Java
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.1.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 kullanıldığında, Uygulamanız her zaman Firebase Android kitaplıklarının uyumlu sürümlerini kullanacaktır.
(Alternatif) Firebase kitaplığı bağımlılıklarını kullanmadan BoM
Firebase BoM kullanmamayı seçerseniz her Firebase kitaplığı sürümünü belirtmeniz gerekir değerini alır.
Uygulamanızda birden çok Firebase kitaplığı kullanıyorsanız, kitaplık sürümlerini yönetmek için BoM kullanmanızı öneririz. Bu, tüm sürümlerin uyumlu olduğundan emin olun.
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:18.0.0") }
CI derleme varyantınızın yapılandırmasına şunu ekleyin:
testInstrumentationRunnerArguments["firebaseAppCheckDebugSecret"] = System.getenv("APP_CHECK_DEBUG_TOKEN_FROM_CI") ?: ""
Test sınıflarınızda herhangi bir kodu sarmalamak için
DebugAppCheckTestHelper
öğesini kullanın (App Check jetonu gerektiren)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 CI ortamında çalıştığında Firebase arka uç hizmetleri şunları kabul eder: gönderdiği jetonun geçerli olarak kabul edilmesini sağlar.