Firebase Performance Monitoring'i devre dışı bırak


Uygulama geliştirme ve test etme sırasında, uygulamanızın sürümünü devre dışı bırakmak Performance Monitoring

Örneğin, uygulama oluşturma işleminizde Performance Monitoring'yi devre dışı bırakarak şunları yapabilirsiniz:

  • Performance Monitoring ürününün belirli işlevlerini (ör. Performance Monitoring Gradle eklentisi) derlemenize yardımcı olur, ancak uygulamanız için işlevleri sürüm derlemesi.

  • Uygulamanızı oluştururken Performance Monitoring'ü devre dışı bırakın ancak uygulamanızın çalışma zamanında yeniden etkinleştirmesine izin verin.

  • Uygulamanızı oluştururken Performance Monitoring politikasını devre dışı bırakın ve uygulamanızın şunları yapmasına izin verme çalışma zamanında yeniden etkinleştirebilirsiniz.

Uygulamanızı Performance Monitoring etkin olarak da derleyebilirsiniz. Firebase Remote Config kullanarak Üretim uygulamanızda Performance Monitoring özelliğini devre dışı bırakma (ve yeniden etkinleştirme) esnekliği. Entegre Hatta, uygulamanızı kullanıcıların bu seçeneği etkinleştirmesine veya devre dışı bırakmasına izin verecek şekilde Performance Monitoring kullanılıyor.

Uygulama geliştirme işleminiz sırasında Performance Monitoring özelliğini devre dışı bırakın

Performance Monitoring Gradle eklentisini devre dışı bırakarak ve/veya Performance Monitoring Android kitaplığını devre dışı bırakarak derleme işleminiz sırasında Performance Monitoring'ü devre dışı bırakabilirsiniz.

Geliştirme ve hata ayıklama sırasında eklentiyi devre dışı bırakmak faydalıdır çünkü enstrümantasyonları arttırılabilir. Ancak uygulama başlangıcı, uygulama ön planda ve uygulama arka planda izlerinden ve uygulamanızdaki özel kod izlerinden gelen performans verilerini görüntülemeye devam edebilmek için kitaplığı etkin tutmayı düşünebilirsiniz.

Performance Monitoring Gradle eklentisini devre dışı bırak

instrumentationEnabled ekleyerek Performance Monitoring eklentisini devre dışı bırakabilirsiniz aşağıdaki seçenekleri kullanarak işaretleyin:

  • Uzantı Mülkü — Eklentiyi derleme sırasında belirli bir derleme varyantı

  • Proje Mülkü — Eklentiyi Derleme sırasında tüm derleme varyantları

Uzantıyı, Uzantı Mülkü işareti aracılığıyla devre dışı bırakma

Uzantı Mülkü işareti kullanarak Performance Monitoring eklentisini devre dışı bırakabilirsiniz derleme zamanında belirli bir derleme varyantı için tasarlanmıştır.

  1. Kök düzeyindeki (proje düzeyinde) Gradle dosyanızda (<project>/build.gradle.kts veya <project>/build.gradle), Android Gradle Eklentisi bağımlılığı, v3.4.0 veya sonraki bir sürüm olarak belirtilmiş.

    Android Gradle eklentisinin önceki sürümlerinde, belirli bir derleme varyantı için Performance Monitoring eklentisini devre dışı bırakabilirsiniz ancak bu varyantın derleme süresi katkısı tamamen ortadan kaldırılmaz.

  2. Modülünüz (uygulama düzeyi) Gradle dosyanıza şu işareti ekleyin (genellikle <project>/<app-module>/build.gradle.kts veya <project>/<app-module>/build.gradle), ardından devre dışı bırakmak için bunu false olarak ayarlayın. Performance Monitoring eklentisi.

    Kotlin

    import com.google.firebase.perf.plugin.FirebasePerfExtension
    
    // ...
    
    android {
      // ...
      buildTypes {
        getByName("debug") {
          configure<FirebasePerfExtension> {
            // Set this flag to 'false' to disable @AddTrace annotation processing and
            // automatic monitoring of HTTP/S network requests
            // for a specific build variant at compile time.
            setInstrumentationEnabled(false)
          }
        }
      }
    }

    Groovy

    android {
      // ...
      buildTypes {
        debug {
          FirebasePerformance {
            // Set this flag to 'false' to disable @AddTrace annotation processing and
            // automatic monitoring of HTTP/S network requests
            // for a specific build variant at compile time.
            instrumentationEnabled false
          }
        }
      }
    }

Eklentiyi Proje Mülkü bayrağı aracılığıyla devre dışı bırakma

Proje Mülkü işareti kullanarak Performance Monitoring eklentisini şunun için devre dışı bırakabilirsiniz: derleme sırasında tüm derleme varyantları için geçerlidir.

Aşağıdaki işareti gradle.properties dosyanıza ekleyip false olarak ayarlayın. Performance Monitoring eklentisini devre dışı bırakın.

// ...

// Set this flag to 'false' to disable @AddTrace annotation processing and
// automatic monitoring of HTTP/S network requests
// for all build variants at compile time.
firebasePerformanceInstrumentationEnabled=false

Performance Monitoring Android kitaplığını devre dışı bırak

Derleme sırasında Performance Monitoring kitaplığını devre dışı bırakırsanız aşağıdaki ayarı seçebilirsiniz: Böylece uygulamanızın çalışma zamanında kitaplığı etkinleştirmesine izin verin.

Derleme sırasında kitaplığı devre dışı bırakın, ancak uygulamanızın çalışma zamanında etkinleştirmesine izin verin

Aşağıdaki <meta-data> öğesini uygulamanızın AndroidManifest.xml öğesine ekleyin dosya:

  <application>
    <meta-data
      android:name="firebase_performance_collection_enabled"
      android:value="false" />
  </application>

Derleme sırasında kitaplığı devre dışı bırak ancak uygulamanızın çalışma zamanında bu kitaplığı etkinleştirmesine izin verme

Uygulamanızın AndroidManifest.xml dosyasına aşağıdaki <meta-data> öğesini ekleyin:

  <application>
    <meta-data
      android:name="firebase_performance_collection_deactivated"
      android:value="true" />
  </application>

Remote Config kullanarak uygulamanızı çalışma zamanında devre dışı bırakın

Firebase Remote Config, davranış ve görünümde değişiklik yapmanıza olanak tanır uygulamanızda Performance Monitoring özelliğini devre dışı bırakmanız için ideal bir yöntemdir. uygulamanızın dağıtılan örneklerini gösterir.

Android uygulamanız bir sonraki sefere Performance Monitoring veri toplama işlevini devre dışı bırakmak için aşağıdaki örnek kodu kullanın. Daha fazla bilgi için Bir Android uygulamasında Remote Config için bkz. Firebase Remote Config uygulamasını Android'de kullanın.

  1. Remote Config'ün, modül (uygulama düzeyi) Gradle dosyanızı (genellikle <project>/<app-module>/build.gradle.kts veya <project>/<app-module>/build.gradle) dependencies bölümünde bulunduğundan emin olun:

    Kotlin+KTX

      implementation("com.google.firebase:firebase-config-ktx:22.0.0")
    

    Java

      implementation("com.google.firebase:firebase-config:22.0.0")
    
  2. perf_disable için Remote Config ayarlarını yapın ve Performance Monitoring politikasını devre dışı bırakın true olarak ayarlandı:

    Kotlin+KTX

    // Setup remote config
    val config = Firebase.remoteConfig
    
    // You can uncomment the following two statements to permit more fetches when
    // validating your app, but you should comment out or delete these lines before
    // distributing your app in production.
    // val configSettings = remoteConfigSettings {
    //     minimumFetchIntervalInSeconds = 3600
    // }
    // config.setConfigSettingsAsync(configSettings)
    // Load in-app defaults from an XML file that sets perf_disable to false until you update
    // values in the Firebase Console
    
    // Observe the remote config parameter "perf_disable" and disable Performance Monitoring if true
    config.setDefaultsAsync(R.xml.remote_config_defaults)
        .addOnCompleteListener { task ->
            if (task.isSuccessful) {
                Firebase.performance.isPerformanceCollectionEnabled = !config.getBoolean("perf_disable")
            } else {
                // An error occurred while setting default parameters
            }
        }

    Java

    // Setup remote config
    final FirebaseRemoteConfig config = FirebaseRemoteConfig.getInstance();
    
    // You can uncomment the following two statements to permit more fetches when
    // validating your app, but you should comment out or delete these lines before
    // distributing your app in production.
    // FirebaseRemoteConfigSettings configSettings = new FirebaseRemoteConfigSettings.Builder()
    //       .setMinimumFetchIntervalInSeconds(3600)
    //       .build();
    // config.setConfigSettingsAsync(configSettings);
    // Load in-app defaults from an XML file that sets perf_disable to false until you update
    // values in the Firebase Console
    
    //Observe the remote config parameter "perf_disable" and disable Performance Monitoring if true
    config.setDefaultsAsync(R.xml.remote_config_defaults)
            .addOnCompleteListener(new OnCompleteListener<Void>() {
                @Override
                public void onComplete(@NonNull Task<Void> task) {
                    if (task.isSuccessful()) {
                        if (config.getBoolean("perf_disable")) {
                            FirebasePerformance.getInstance().setPerformanceCollectionEnabled(false);
                        } else {
                            FirebasePerformance.getInstance().setPerformanceCollectionEnabled(true);
                        }
                    } else {
                        // An error occurred while setting default parameters
                    }
                }
            });
  3. Getirmek ve etkinleştirmek için MainActivity.java hizmetine aşağıdaki kodu ekleyin Remote Config değerleri:

    Kotlin+KTX

    // Remote Config fetches and activates parameter values from the service
    val config = Firebase.remoteConfig
    config.fetch(3600)
        .continueWithTask { task ->
            if (!task.isSuccessful) {
                task.exception?.let {
                    throw it
                }
            }
            config.activate()
        }
        .addOnCompleteListener(this) { task ->
            if (task.isSuccessful) {
                // Parameter values successfully activated
                // ...
            } else {
                // Handle errors
            }
        }

    Java

    //Remote Config fetches and activates parameter values from the service
    final FirebaseRemoteConfig config = FirebaseRemoteConfig.getInstance();
    config.fetch(3600)
            .continueWithTask(new Continuation<Void, Task<Boolean>>() {
                @Override
                public Task<Boolean> then(@NonNull Task<Void> task) throws Exception {
                    if (!task.isSuccessful()) {
                        throw task.getException();
                    }
                    return config.activate();
                }
            })
            .addOnCompleteListener(new OnCompleteListener<Boolean>() {
                @Override
                public void onComplete(@NonNull Task<Boolean> task) {
                    if (task.isSuccessful()) {
                        // Parameter values successfully activated
                        // ...
                    } else {
                        // Handle errors
                    }
                }
            });
  4. Firebase konsolunda Performance Monitoring politikasını devre dışı bırakmak için bir perf_disable oluşturun parametresini kullanabilir ve ardından değerini true olarak ayarlayabilirsiniz.

    Bu değişiklik, Performance Monitoring SDK'sına "işlem yok" çağrıları (NOOP'ler) göndererek uygulamanızda Performance Monitoring SDK'sının kullanılmasının uygulama performansı üzerindeki önemli etkilerini ortadan kaldırır.

    perf_disable değerini false olarak ayarlarsanız Performance Monitoring aynı kalır etkin.