Durante o desenvolvimento e teste do aplicativo, pode ser útil desabilitar o Monitoramento de desempenho.
Por exemplo, ao desativar o Monitoramento de desempenho durante o processo de criação do seu aplicativo , você pode:
Desative certas funcionalidades do Monitoramento de Desempenho (como aquelas fornecidas pelo plug-in Gradle do Monitoramento de Desempenho ) em suas compilações de depuração, mas reative as funcionalidades para sua compilação de lançamento.
Desative o Monitoramento de desempenho ao criar seu aplicativo, mas permita que seu aplicativo o reative em tempo de execução.
Desative o Monitoramento de desempenho ao criar seu aplicativo e não permita que seu aplicativo o reative em tempo de execução.
Você também pode criar seu aplicativo com o Monitoramento de desempenho ativado , mas use a Configuração remota do Firebase para ter flexibilidade para desativar (e reativar) o Monitoramento de desempenho em seu aplicativo de produção. Com essa opção, você pode até configurar seu aplicativo para permitir que os usuários optem ou não pelo monitoramento de desempenho.
Desative o monitoramento de desempenho durante o processo de criação do seu aplicativo
Você pode desativar o Monitoramento de desempenho durante o processo de construção, desativando o plug-in Gradle do Monitoramento de desempenho e/ou desativando a biblioteca Android do Monitoramento de desempenho .
Durante o desenvolvimento e a depuração, desabilitar o plug-in é útil porque a instrumentação do plug-in pode contribuir para aumentar o tempo de construção. No entanto, você pode considerar manter a biblioteca habilitada para que ainda possa visualizar os dados de desempenho do início do aplicativo, dos rastreamentos do aplicativo em primeiro plano e do aplicativo em segundo plano, bem como quaisquer rastreamentos de código personalizados em seu aplicativo.
Desative o plug-in Gradle de monitoramento de desempenho
Você pode desabilitar o plugin Performance Monitoring adicionando um sinalizador instrumentationEnabled
usando as seguintes opções:
Propriedade de extensão — desativa o plugin para uma variante de compilação específica em tempo de compilação
Propriedade do projeto — desativa o plugin para todas as variantes de compilação em tempo de compilação
Desative o plug-in por meio de um sinalizador de propriedade de extensão
Usando um sinalizador de propriedade de extensões , você pode desabilitar o plug-in de monitoramento de desempenho para uma variante de construção específica em tempo de compilação.
No arquivo Gradle de nível raiz (nível de projeto) (
<project>/build.gradle.kts
ou<project>/build.gradle
), certifique-se de que a dependência do plug-in do Android Gradle esteja especificada como v3.4.0 ou posterior.Para versões anteriores do plug-in do Android para Gradle, você ainda pode desativar o plug-in Monitoramento de desempenho para uma variante de build específica, mas a contribuição do tempo de build para essa variante não será completamente eliminada.
Adicione o seguinte sinalizador ao arquivo Gradle do módulo (nível do aplicativo) (geralmente
<project>/<app-module>/build.gradle.kts
ou<project>/<app-module>/build.gradle
) e defina-o parafalse
para desabilitar o plug-in de monitoramento de desempenho.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 } } } }
Desative o plugin através de um sinalizador de propriedade do projeto
Usando um sinalizador de propriedade do projeto , você pode desabilitar o plug-in Monitoramento de desempenho para todas as variantes de construção em tempo de compilação.
Adicione o seguinte sinalizador ao seu arquivo gradle.properties
e defina-o como false
para desativar o plug-in Monitoramento de desempenho.
// ... // 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
Desative a biblioteca Android do Monitoramento de desempenho
Se você desabilitar a biblioteca do Performance Monitoring em tempo de compilação, poderá escolher se deseja permitir que seu aplicativo ative a biblioteca em tempo de execução.
Desative a biblioteca em tempo de compilação, mas permita que seu aplicativo a habilite em tempo de execução
Adicione o seguinte elemento <meta-data>
ao arquivo AndroidManifest.xml
do seu aplicativo:
<application> <meta-data android:name="firebase_performance_collection_enabled" android:value="false" /> </application>
Desative a biblioteca em tempo de compilação, mas não permita que seu aplicativo a habilite em tempo de execução
Adicione o seguinte elemento <meta-data>
ao arquivo AndroidManifest.xml
do seu aplicativo:
<application> <meta-data android:name="firebase_performance_collection_deactivated" android:value="true" /> </application>
Desative seu app em tempo de execução usando o Configuração remota
A Configuração remota do Firebase permite fazer alterações no comportamento e na aparência do seu aplicativo, portanto, é uma maneira ideal de desativar o monitoramento de desempenho em instâncias implantadas do seu aplicativo.
Para desativar a coleta de dados do Monitoramento de desempenho na próxima vez que seu aplicativo Android for iniciado, use o código de exemplo mostrado abaixo. Para obter mais informações sobre como usar a Configuração remota em um aplicativo Android, consulte Usar a Configuração remota do Firebase no Android .
Verifique se o Configuração remota está na seção
dependencies
do arquivo Gradle do módulo (nível do aplicativo) (geralmente<project>/<app-module>/build.gradle.kts
ou<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 o Configuração remota e desative o Monitoramento de desempenho se
perf_disable
estiver definido comotrue
: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 } } });
Adicione o seguinte código a
MainActivity.java
para buscar e ativar os valores do Configuração remota: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 desativar o Monitoramento de desempenho no console do Firebase, crie um parâmetro perf_disable no projeto do seu aplicativo e defina seu valor como
true
.Essa alteração fará chamadas para chamadas "sem operação" (NOOPs) do SDK do Monitoramento de Desempenho, eliminando quaisquer efeitos significativos no desempenho do aplicativo decorrentes do uso do SDK do Monitoramento de Desempenho em seu aplicativo.
Se você configurar o valor de perf_disable como
false
, o Monitoramento de desempenho permanecerá ativado.