Uygulamanızı Uygulama Kontrolü'ne kaydettikten sonra Uygulama Kontrolü'nün normalde geçerli olarak sınıflandıramadığı bir ortamda bulunması Ö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 Gerçek bir onay sağlayıcısı yerine Uygulama Kontrolü hata ayıklama sağlayıcısı
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 Uygulama Kontrolü 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'u kullanarak, Uygulamanız her zaman Firebase Android kitaplıklarının uyumlu sürümlerini kullanacaktır.
(Alternatif) BoM'u kullanmadan Firebase kitaplığı bağımlılıklarını ekleyin
Firebase BoM'yi kullanmamayı tercih ederseniz 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. Böylece, uyumlu olur.
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 Uygulama Kontrolü'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
Uygulama Kontrolü bölümünde bölümünde, uygulamanızın ayarlarından 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 kullanabilirsiniz.
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:
Uygulama Kontrolü bölümünde bölümünde, uygulamanızın ayarlarından 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 kullanabilirsiniz.
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 Uygulama Kontrolü 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'u kullanarak, Uygulamanız her zaman Firebase Android kitaplıklarının uyumlu sürümlerini kullanacaktır.
(Alternatif) BoM'u kullanmadan Firebase kitaplığı bağımlılıklarını ekleyin
Firebase BoM'yi kullanmamayı tercih ederseniz 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. Böylece, uyumlu olur.
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'u kullanarak, Uygulamanız her zaman Firebase Android kitaplıklarının uyumlu sürümlerini kullanacaktır.
(Alternatif) BoM'u kullanmadan Firebase kitaplığı bağımlılıklarını ekleyin
Firebase BoM'yi kullanmamayı tercih ederseniz 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. Böylece, uyumlu olur.
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 için şu adımları izleyin: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.