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 Performans İzleme.

Örneğin, uygulama geliştirme süreciniz sırasında Performance Monitoring'i devre dışı bırakma, yapabilecekleriniz:

  • Performans İzleme'nin 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'i devre dışı bırakın, ancak uygulamanızın yeniden etkinleştirmesine izin verin çalışma zamanında.

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

Uygulamanızı Performans İzleme etkin olarak da derleyebilirsiniz. Firebase Remote Config özelliğini kullanarak Üretim uygulamanızda Performance Monitoring'i 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 nasıl kullanacağınızı göstereceğim.

Uygulama geliştirme işleminiz sırasında Performance Monitoring'i devre dışı bırakın

Derleme işlemi sırasında Performance Monitoring'i aşağıdakileri yaparak devre dışı bırakabilirsiniz: Performance Monitoring Gradle eklentisini devre dışı bırakma ve/veya Performans İzleme Android kitaplığını devre dışı bırakma.

Geliştirme ve hata ayıklama sırasında eklentiyi devre dışı bırakmak faydalıdır çünkü enstrümantasyonları arttırılabilir. Bununla birlikte, performans verilerini görüntülemeye devam etmenizi sağlamak için uygulama başlatma, ön plandaki uygulama ve arka plandaki uygulama izleri yanı sıra özel kod izleri dokunun.

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

Bir 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 Eklentisi'nin önceki sürümlerinde belirli bir derleme varyantı için Performance Monitoring eklentisi ancak derleme zamanının katkısı tamamen 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 eklentisidir.

    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 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. performans izleme 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 URL'leri kullanıp kullanmamayı 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

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

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

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

Firebase Remote Config, davranış ve görünüm üzerinde değişiklik yapmanıza olanak tanır. Bu da uygulamanızın performansını izlemek için performans izleme özelliğini devre dışı bırakmanıza uygulamanızın dağıtılan örneklerini gösterir.

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

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

    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'i kurun ve performans izleme özelliğini 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'i devre dışı bırakmak için bir perf_disable öğesi oluşturun parametresini seçin ve değerini true olarak ayarlayın.

    Bu değişiklik, Performance Monitoring SDK'sına "işlem yok" çağrıları yapar telefon aramaları (NOOPs) kullanmanızın uygulama performansı üzerindeki önemli etkilerini ortadan kaldırır. Uygulamanızdaki Performance Monitoring SDK'sı.

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