Uygulama geliştirme ve test etme sırasında Performans İzleme'yi devre dışı bırakmayı yararlı bulabilirsiniz.
Örneğin, uygulama oluşturma süreciniz sırasında Performans İzleme'yi devre dışı bırakarak şunları yapabilirsiniz:
Hata ayıklama derlemelerinizde Performans İzleme'nin belirli işlevlerini (Performans İzleme Gradle eklentisi tarafından sağlananlar gibi) devre dışı bırakın, ancak sürüm derlemeniz 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 İzleme'yi devre dışı bırakın ve uygulamanızın çalışma zamanında yeniden etkinleştirmesine izin vermeyin.
Uygulamanızı Performance Monitoring etkinken de oluşturabilirsiniz, ancak üretim uygulamanızda Performance Monitoring'i 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 İzleme'yi etkinleştirmesine veya devre dışı bırakmasına izin verecek şekilde bile yapılandırabilirsiniz.
tutucu45 l10n-yerUygulama oluşturma süreciniz sırasında Performans İzleme'yi 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 İzleme'yi devre dışı bırakabilirsiniz.
Geliştirme ve hata ayıklama sırasında, eklentinin devre dışı bırakılması yararlıdır çünkü eklenti tarafından yapılan enstrümantasyon, yapım süresinin artmasına katkıda bulunabilir. Yine de uygulama başlangıcından, ön planda uygulama ve arka planda uygulama izlemelerinden ve uygulamanızdaki özel kod izlemelerinden performans verilerini 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:
Uzantı Özelliği — derleme zamanında belirli bir yapı varyantı için eklentiyi devre dışı bırakır
Proje Özelliği — derleme zamanında tüm yapı varyantları için eklentiyi devre dışı bırakır
Eklentiyi bir Uzantı Özelliği bayrağı aracılığıyla devre dışı bırakın
Bir Uzantı Özelliği bayrağı kullanarak, derleme zamanında belirli bir yapı varyantı için Performans İzleme eklentisini devre dışı bırakabilirsiniz.
Kök düzeyinde (proje düzeyinde)
build.gradle
dosyanızda, Android Gradle Plugin bağımlılığınızın v3.4.0 veya üstü olarak belirtildiğinden emin olun.Android Gradle Plugin'in önceki sürümleri için, belirli bir derleme varyantı için Performans İzleme eklentisini yine de devre dışı bırakabilirsiniz, ancak bu varyant için derleme süresi katkısı tamamen ortadan kaldırılmayacaktır.
Modül (uygulama düzeyinde)
build.gradle
dosyanıza aşağıdaki bayrağı ekleyin, ardından Performance Monitoring eklentisini devre dışı bırakmak içinfalse
olarak ayarlayın.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 bir Proje Mülkü bayrağı aracılığıyla devre dışı bırakın
Bir Proje Özelliği bayrağı kullanarak, derleme zamanında tüm yapı varyantları için Performans İzleme eklentisini devre dışı bırakabilirsiniz.
Aşağıdaki bayrağı gradle.properties
dosyanıza ekleyin, ardından Performance Monitoring eklentisini devre dışı bırakmak için 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
Derleme zamanında Performans İzleme kitaplığını devre dışı bırakırsanız, uygulamanızın çalışma zamanında kitaplığı etkinleştirmesine izin verip vermemeyi seçebilirsiniz.
Kitaplığı derleme zamanında 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
dosyasına ekleyin:
<application> <meta-data android:name="firebase_performance_collection_enabled" android:value="false" /> </application>
Kitaplığı derleme zamanında devre dışı bırakın, ancak uygulamanızın ç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 İzleme'yi devre dışı bırakmanıza izin vermek 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. Bir Android uygulamasında Remote Config'i kullanma hakkında daha fazla bilgi için bkz. Android'de Firebase Remote Config'i kullanma .
Remote Config'in modül Gradle dosyanızın (genellikle
app/build.gradle
)dependencies
bölümünde olduğundan emin olun:implementation 'com.google.firebase:firebase-config:21.1.0'
perf_disable
true
olarak ayarlanmışsa Remote Config'i kurun ve Performance Monitoring'i devre dışı bırakın: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 } } });
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 } }
Remote Config değerlerini almak ve etkinleştirmek için
MainActivity.java
aşağıdaki kodu ekleyin: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 } } });
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 } }
Firebase konsolunda Performans İzlemeyi devre dışı bırakmak için uygulamanızın projesinde bir perf_disable parametresi oluşturun, ardından değerini
true
olarak ayarlayın.Bu değişiklik, Performans İzleme SDK'sına "işlem yok" çağrıları (NOOP'lar) yapacak ve uygulamanızda Performans İzleme SDK'sının kullanılmasının uygulama performansı üzerindeki önemli etkileri ortadan kaldıracaktır.
perf_disable değerini
false
olarak ayarlarsanız, Performans İzleme etkin kalır.