Ir para o console

Desativar o Monitoramento de desempenho do Firebase

Durante o desenvolvimento e o teste de apps, pode ser útil desativar o Monitoramento de desempenho.

Por exemplo, ao desativar o Monitoramento de desempenho durante o processo de criação do seu app, é possível realizar as seguintes funções:

  • Desativar alguns recursos do Monitoramento de desempenho (como os fornecidos pelo plug-in do Gradle para essa ferramenta) nas suas versões de depuração, mas ativá-los novamente na sua versão de lançamento.

  • Desativar o Monitoramento de desempenho ao criar seu app, mas permitir que ele seja reativado no ambiente de execução.

  • Desativar o Monitoramento de desempenho ao criar seu app, mas não permitir que ele seja reativado no ambiente de execução.

É possível também criar seu app com o Monitoramento de desempenho ativado, mas use o Configuração remota do Firebase para ter flexibilidade em desativá-lo (e reativá-lo) no seu app de produção. Com essa opção, você pode até configurar seu app para permitir que os usuários ativem ou desativem o uso do Monitoramento de desempenho.

Desativar o Monitoramento de desempenho durante o processo de criação do seu app

Desative o Monitoramento de desempenho durante o processo de criação ao desativar o plug-in do Gradle e/ou ao desativar a biblioteca do Monitoramento de desempenho para Android.

Durante o desenvolvimento e a depuração, a desativação do plug-in é útil porque a instrumentação pelo plug-in pode contribuir para aumentar o tempo de criação. No entanto, convém manter a biblioteca ativada para que você ainda possa visualizar dados de desempenho de traces de duração automática e de qualquer trace personalizado no seu app.

Desativar o plug-in do Gradle para o Monitoramento de desempenho

Para desativar o plug-in do Monitoramento de desempenho, adicione uma sinalização instrumentationEnabled por meio das seguintes opções:

Desativar o plug-in por meio de uma sinalização de Propriedade de extensão

Ao usar uma sinalização de Propriedade de extensões, é possível desativar o plug-in do Monitoramento de desempenho para uma variante de versão específica no tempo de compilação.

  1. No seu arquivo build.gradle de nível raiz (nível de projeto), verifique se a dependência do plug-in do Gradle para Android está especificada como versão 3.4.0 ou posterior.

    Para versões anteriores do plug-in do Gradle para Android, ainda é possível desativar o plug-in do Monitoramento de desempenho para uma variante de versão específica, mas a contribuição de tempo de criação para essa variante não será completamente eliminada.

  2. Adicione a seguinte sinalização ao seu arquivo build.gradle do módulo (nível de app) e defina-o como false para desativar o plug-in do Monitoramento de desempenho.

    android {
      // ...
      buildTypes {
        debug {
          FirebasePerformance {
            // Set this flag to 'false' to disable @AddTrace annotation processing and
            // automatic HTTP/S network request monitoring
            // for a specific build variant at compile time.
            instrumentationEnabled false
          }
        }
      }
    }
    

Desativar o plug-in por meio de uma sinalização de Propriedade do projeto

Ao usar uma sinalização de Propriedade do projeto, é possível desativar o plug-in do Monitoramento de desempenho para todas as variantes de versão no tempo de compilação.

Adicione a seguinte sinalização ao seu arquivo gradle.properties e defina-o como false para desativar o plug-in do Monitoramento de desempenho.

// ...

// Set this flag to 'false' to disable @AddTrace annotation processing and
// automatic HTTP/S network request monitoring
// for all build variants at compile time.
firebasePerformanceInstrumentationEnabled=false

Desativar a biblioteca do Monitoramento de desempenho para Android

Se você desativar a biblioteca de Monitoramento de Desempenho no tempo de compilação, poderá escolher se permitirá que o app ative a biblioteca no ambiente de execução.

Desativar a biblioteca no tempo de compilação, mas permitir que o app seja ativado no ambiente de execução

Adicione o seguinte elemento <meta-data> ao arquivo AndroidManifest.xml do seu app:

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

Desativar a biblioteca no tempo de compilação, mas não permitir que o app seja ativado no ambiente de execução

Adicione o seguinte elemento <meta-data> ao arquivo AndroidManifest.xml do seu app:

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

Desativar seu app no ambiente de execução usando o Configuração remota

O Configuração remota do Firebase permite fazer alterações no comportamento e na aparência do seu app. Portanto, você pode usá-lo para desativar o Monitoramento de desempenho em instâncias implantadas do seu app.

Para desativar a coleta de dados do Monitoramento de desempenho na próxima vez em que seu app Android for iniciado, use o código de exemplo mostrado abaixo. Para mais informações sobre como usar o Configuração remota em um aplicativo Android, consulte Usar o Firebase Configuração remota no Android.

  1. Verifique se o Configuração remota está na sessão dependencies do seu arquivo Gradle do módulo (normalmente, app/build.gradle):

    implementation 'com.google.firebase:firebase-config:18.0.0'
    
  2. Configure o Configuração remota e desative o Monitoramento de desempenho se perf_disable estiver definido como true:

    Java

    // Setup remote config
    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()
    //       .setDeveloperModeEnabled(BuildConfig.DEBUG)
    //       .build();
    // mFirebaseRemoteConfig.setConfigSettings(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.setDefaults(R.xml.remote_config_defaults);
    if (config.getBoolean("perf_disable")) {
        FirebasePerformance.getInstance().setPerformanceCollectionEnabled(false);
    } else {
        FirebasePerformance.getInstance().setPerformanceCollectionEnabled(true);
    }

    Kotlin

    // Setup remote config
    val 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()
    //       .setDeveloperModeEnabled(BuildConfig.DEBUG)
    //       .build();
    // mFirebaseRemoteConfig.setConfigSettings(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.setDefaults(R.xml.remote_config_defaults)
    FirebasePerformance.getInstance().isPerformanceCollectionEnabled = !config.getBoolean("perf_disable")
  3. Adicione o seguinte código ao MainActivity.java para buscar e ativar os valores do Configuração remota:

    Java

    //Remote Config fetches and activates parameter values from the service
    final FirebaseRemoteConfig config = FirebaseRemoteConfig.getInstance();
    config.fetch(3600)
            .addOnCompleteListener(this, new OnCompleteListener<Void>() {
                @Override
                public void onComplete(@NonNull Task<Void> task) {
                    if (task.isSuccessful()) {
                        config.activateFetched();
                    } else {
                        // ...
                    }
                }
            });

    Kotlin

    // Remote Config fetches and activates parameter values from the service
    val config = FirebaseRemoteConfig.getInstance()
    config.fetch(3600)
            .addOnCompleteListener(this) { task ->
                if (task.isSuccessful) {
                    config.activateFetched()
                } else {
                    // ...
                }
            }
  4. Para desativar o Monitoramento de desempenho no Console do Firebase, crie um parâmetro perf_disable no projeto do app e defina o valor dele como true.

    Essa alteração fará chamadas para as chamadas "sem operação" (NOOPs, na sigla em inglês) do SDK do Monitoramento de desempenho, eliminando quaisquer efeitos significativos do uso desse SDK no desempenho do seu app.

    Ao definir o valor de perf_disable como false, o Monitoramento de desempenho permanecerá ativado.