Durante el desarrollo y las pruebas de la aplicación, puede resultarle útil desactivar la supervisión del rendimiento.
Por ejemplo, al desactivar la supervisión del rendimiento durante el proceso de creación de su aplicación , puede:
Deshabilite ciertas funcionalidades de Performance Monitoring (como las proporcionadas por el complemento Performance Monitoring Gradle ) en sus compilaciones de depuración, pero vuelva a habilitar las funcionalidades para su versión de lanzamiento.
Deshabilite la supervisión del rendimiento cuando cree su aplicación, pero permita que su aplicación la vuelva a habilitar en tiempo de ejecución.
Deshabilite la supervisión del rendimiento cuando cree su aplicación y no permita que su aplicación la vuelva a habilitar en tiempo de ejecución.
También puedes crear tu aplicación con la supervisión del rendimiento habilitada , pero usa Firebase Remote Config para tener flexibilidad para deshabilitar (y volver a habilitar) la supervisión del rendimiento en tu aplicación de producción. Con esta opción, incluso puede configurar su aplicación para permitir que los usuarios opten por participar o no en el uso de Performance Monitoring.
Deshabilite la supervisión del rendimiento durante el proceso de creación de su aplicación
Puede deshabilitar el Monitoreo de rendimiento durante el proceso de compilación deshabilitando el complemento Gradle de Monitoreo de rendimiento y/o deshabilitando la biblioteca de Android de Monitoreo de rendimiento .
Durante el desarrollo y la depuración, deshabilitar el complemento es útil porque la instrumentación del complemento puede contribuir a aumentar el tiempo de compilación. Sin embargo, podría considerar mantener la biblioteca habilitada para poder seguir viendo los datos de rendimiento desde el inicio de la aplicación, los seguimientos de la aplicación en primer plano y de la aplicación en segundo plano, así como cualquier seguimiento de código personalizado en su aplicación.
Deshabilite el complemento Gradle de monitoreo de rendimiento
Puede deshabilitar el complemento Performance Monitoring agregando un indicador instrumentationEnabled
usando las siguientes opciones:
Propiedad de extensión : deshabilita el complemento para una variante de compilación específica en el momento de la compilación
Propiedad del proyecto : deshabilita el complemento para todas las variantes de compilación en el momento de la compilación
Deshabilite el complemento mediante un indicador de propiedad de extensión
Al utilizar un indicador de propiedad de extensiones , puede deshabilitar el complemento de monitoreo de rendimiento para una variante de compilación específica en el momento de la compilación.
En su archivo Gradle de nivel raíz (nivel de proyecto) (
<project>/build.gradle.kts
o<project>/build.gradle
), asegúrese de que su dependencia del complemento Gradle de Android esté especificada como v3.4.0 o posterior.Para versiones anteriores del complemento Android Gradle, aún puede deshabilitar el complemento Performance Monitoring para una variante de compilación específica, pero la contribución del tiempo de compilación para esa variante no se eliminará por completo.
Agregue la siguiente marca al archivo Gradle de su módulo (nivel de aplicación) (generalmente
<project>/<app-module>/build.gradle.kts
o<project>/<app-module>/build.gradle
), luego configúrelo enfalse
para deshabilitar el complemento de Monitoreo de rendimiento.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 } } } }
Deshabilite el complemento a través de un indicador de propiedad del proyecto
Al utilizar un indicador de propiedad del proyecto , puede deshabilitar el complemento de monitoreo de rendimiento para todas las variantes de compilación en el momento de la compilación.
Agregue la siguiente marca a su archivo gradle.properties
, luego configúrela en false
para deshabilitar el complemento Performance Monitoring.
// ... // 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
Deshabilite la biblioteca de Android de Monitoreo de rendimiento
Si deshabilita la biblioteca de Monitoreo de rendimiento en tiempo de compilación, puede elegir si desea permitir que su aplicación habilite la biblioteca en tiempo de ejecución.
Deshabilite la biblioteca en tiempo de compilación, pero permita que su aplicación la habilite en tiempo de ejecución
Agrega el siguiente elemento <meta-data>
al archivo AndroidManifest.xml
de tu aplicación:
<application> <meta-data android:name="firebase_performance_collection_enabled" android:value="false" /> </application>
Deshabilite la biblioteca en tiempo de compilación, pero no permita que su aplicación la habilite en tiempo de ejecución
Agrega el siguiente elemento <meta-data>
al archivo AndroidManifest.xml
de tu aplicación:
<application> <meta-data android:name="firebase_performance_collection_deactivated" android:value="true" /> </application>
Deshabilite su aplicación en tiempo de ejecución usando Remote Config
Firebase Remote Config te permite realizar cambios en el comportamiento y la apariencia de tu aplicación, por lo que proporciona una forma ideal de permitirte desactivar la supervisión del rendimiento en instancias implementadas de tu aplicación.
Para deshabilitar la recopilación de datos de Monitoreo de rendimiento la próxima vez que inicie su aplicación de Android, use el código de ejemplo que se muestra a continuación. Para obtener más información sobre el uso de Remote Config en una aplicación de Android, consulte Usar Firebase Remote Config en Android .
Asegúrese de que Remote Config esté en la sección
dependencies
del archivo Gradle de su módulo (nivel de aplicación) (generalmente<project>/<app-module>/build.gradle.kts
o<project>/<app-module>/build.gradle
):Kotlin+KTX
implementation("com.google.firebase:firebase-config-ktx:21.6.3")
Java
implementation("com.google.firebase:firebase-config:21.6.3")
Configure Remote Config y deshabilite la supervisión del rendimiento si
perf_disable
está configurado entrue
: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 } } });
Agregue el siguiente código a
MainActivity.java
para recuperar y activar los valores de Remote Config: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 } } });
Para deshabilitar la supervisión del rendimiento en Firebase console, crea un parámetro perf_disable en el proyecto de tu aplicación y luego establece su valor en
true
.Este cambio realizará llamadas "sin operación" (NOOP) del SDK de Monitoreo de rendimiento, lo que eliminará cualquier efecto significativo en el rendimiento de la aplicación por el uso del SDK de Monitoreo de rendimiento en su aplicación.
Si establece el valor de perf_disable en
false
, la supervisión del rendimiento permanece habilitada.