Firebase Performans İzlemeyi Devre Dışı Bırak

Uygulama geliştirme ve test etme sırasında Performans İzlemeyi devre dışı bırakmayı yararlı bulabilirsiniz.

Örneğin, uygulama oluşturma süreciniz sırasında Performans İzlemeyi devre dışı bırakarak şunları yapabilirsiniz:

  • Hata ayıklama derlemelerinizde Performans İzlemenin belirli işlevlerini ( Performance Monitoring Gradle eklentisi tarafından sağlananlar gibi) devre dışı bırakın, ancak sürüm yapınız için işlevleri yeniden etkinleştirin.

  • Uygulamanızı oluştururken Performans İzlemeyi devre dışı bırakın ancak uygulamanızın çalışma zamanında yeniden etkinleştirmesine izin verin.

  • Uygulamanızı oluştururken Performans İzlemeyi devre dışı bırakın ve uygulamanızın çalışma zamanında yeniden etkinleştirmesine izin vermeyin.

Uygulamanızı Performans İzleme etkinken de oluşturabilirsiniz, ancak üretim uygulamanızda Performans İzlemeyi devre dışı bırakma (ve yeniden etkinleştirme) esnekliği sağlamak için Firebase Remote Config'i kullanın . Bu seçenekle, uygulamanızı kullanıcıların Performans İzlemeyi etkinleştirmesine veya devre dışı bırakmasına izin verecek şekilde bile yapılandırabilirsiniz.

Uygulama oluşturma süreciniz sırasında Performans İzlemeyi devre dışı bırakın

Performans İzleme Gradle eklentisini devre dışı bırakarak ve/veya Performans İzleme Android kitaplığını devre dışı bırakarak, oluşturma işleminiz sırasında Performans İzlemeyi devre dışı bırakabilirsiniz.

Geliştirme ve hata ayıklama sırasında eklentiyi devre dışı bırakmak faydalıdır çünkü eklenti tarafından yapılan araçlar derleme süresinin artmasına katkıda bulunabilir. Bununla birlikte, uygulama başlangıcındaki, ön plandaki uygulama ve arka plandaki uygulama izlemelerinin yanı sıra uygulamanızdaki özel kod izlemelerinden gelen performans verilerini hâlâ görüntüleyebilmeniz için kitaplığı etkin tutmayı düşünebilirsiniz.

Performans İzleme Gradle Eklentisini Devre Dışı Bırakın

Aşağıdaki seçenekleri kullanarak bir instrumentationEnabled bayrağı ekleyerek Performans İzleme eklentisini devre dışı bırakabilirsiniz:

  • Extension Property — derleme zamanında belirli bir derleme değişkeni için eklentiyi devre dışı bırakır

  • Proje Özelliği — derleme zamanında tüm derleme değişkenleri için eklentiyi devre dışı bırakır

Eklentiyi bir Uzantı Özelliği bayrağıyla devre dışı bırakın

Uzantı Özelliği bayrağını kullanarak, derleme zamanında belirli bir derleme değişkeni için Performans İzleme eklentisini devre dışı bırakabilirsiniz.

  1. Kök düzeyinde (proje düzeyinde) Gradle dosyanızda ( <project>/build.gradle.kts veya <project>/build.gradle ), Android Gradle Plugin bağımlılığınızın v3.4.0 veya üzeri olarak belirtildiğinden emin olun.

    Android Gradle Eklentisinin önceki sürümleri için, belirli bir derleme değişkeni için Performans İzleme eklentisini yine de devre dışı bırakabilirsiniz, ancak bu değişken için derleme süresi katkısı tamamen ortadan kaldırılmayacaktır.

  2. Aşağıdaki bayrağı modülünüzün (uygulama düzeyi) Gradle dosyasına ekleyin (genellikle <project>/<app-module>/build.gradle.kts veya <project>/<app-module>/build.gradle ), ardından ayarlayın Performans İzleme eklentisini devre dışı bırakmak için false değerini kullanın.

    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 Özelliği bayrağıyla devre dışı bırakın

Proje Özelliği bayrağını kullanarak, derleme zamanında tüm derleme değişkenleri için Performans İzleme eklentisini devre dışı bırakabilirsiniz.

Aşağıdaki bayrağı gradle.properties dosyanıza ekleyin, ardından Performans İzleme eklentisini devre dışı bırakmak için bunu false olarak ayarlayı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

Performans İzleme Android kitaplığını devre dışı bırakın

Performans İzleme kitaplığını derleme zamanında devre dışı bırakırsanız uygulamanızın çalışma zamanında kitaplığı etkinleştirmesine izin verip vermeyeceğinizi seçebilirsiniz.

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

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

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

Derleme zamanında kitaplığı devre dışı bırakın ancak uygulamanızın bunu çalışma zamanında etkinleştirmesine izin vermeyin

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

  <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, uygulamanızın davranışında ve görünümünde değişiklik yapmanıza olanak tanır; böylece uygulamanızın dağıtılmış örneklerinde Performans İzlemeyi devre dışı bırakmanız için ideal bir yol sağlar.

Android uygulamanızın bir sonraki başlatılışında Performans İzleme veri toplamayı devre dışı bırakmak için aşağıda gösterilen örnek kodu kullanın. Remote Config'i bir Android uygulamasında kullanma hakkında daha fazla bilgi için bkz. Android'de Firebase Remote Config'i Kullanma .

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

    Kotlin+KTX

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

    Java

      implementation("com.google.firebase:firebase-config:21.6.2")
    
  2. perf_disable true olarak ayarlanmışsa Remote Config'i kurun ve Performans İzlemeyi devre dışı bırakın:

    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. Remote Config değerlerini getirip etkinleştirmek için MainActivity.java aşağıdaki kodu ekleyin:

    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 Performans İzlemeyi devre dışı bırakmak için uygulamanızın projesinde perf_disable parametresini oluşturun ve değerini true olarak ayarlayın.

    Bu değişiklik, Performans İzleme SDK'sına "işlem yok" çağrıları (NOOP'lar) yapılmasını sağlayacak ve uygulamanızda Performans İzleme SDK'sının kullanılmasının uygulama performansı üzerindeki önemli etkilerini ortadan kaldıracaktır.

    perf_disable değerini false olarak ayarlarsanız Performans İzleme etkin kalır.