Google is committed to advancing racial equity for Black communities. See how.
Diese Seite wurde von der Cloud Translation API übersetzt.
Switch to English

Deaktivieren Sie die Firebase-Leistungsüberwachung

Während der App-Entwicklung und des Testens kann es hilfreich sein, die Leistungsüberwachung zu deaktivieren.

Durch Deaktivieren der Leistungsüberwachung während des App-Erstellungsprozesses können Sie beispielsweise:

  • Deaktivieren Sie bestimmte Funktionen der Leistungsüberwachung (z. B. die vom Gradle-Plugin für die Leistungsüberwachung bereitgestellten) in Ihren Debug-Builds, aktivieren Sie jedoch die Funktionen für Ihre Release-Erstellung erneut.

  • Deaktivieren Sie die Leistungsüberwachung beim Erstellen Ihrer App, lassen Sie Ihre App jedoch zur Laufzeit wieder aktivieren.

  • Deaktivieren Sie die Leistungsüberwachung beim Erstellen Ihrer App und erlauben Sie Ihrer App nicht, sie zur Laufzeit wieder zu aktivieren.

Sie können Ihre App auch mit aktivierter Leistungsüberwachung erstellen. Mit Firebase Remote Config können Sie jedoch die Leistungsüberwachung in Ihrer Produktions-App flexibel deaktivieren (und wieder aktivieren). Mit dieser Option können Sie Ihre App sogar so konfigurieren, dass Benutzer die Verwendung der Leistungsüberwachung aktivieren oder deaktivieren können.

Deaktivieren Sie die Leistungsüberwachung während des App-Erstellungsprozesses

Sie können die Leistungsüberwachung während Ihres Erstellungsprozesses deaktivieren, indem Sie das Gradle-Plugin für die Leistungsüberwachung und / oder die Android-Bibliothek für die Leistungsüberwachung deaktivieren .

Während der Entwicklung und des Debuggens ist das Deaktivieren des Plugins hilfreich, da die Instrumentierung durch das Plugin zu einer längeren Erstellungszeit beitragen kann. Sie können jedoch in Betracht ziehen, die Bibliothek aktiviert zu lassen, damit Sie weiterhin Leistungsdaten von App-Start-, App-in-Vordergrund- und App-in-Hintergrund-Traces sowie benutzerdefinierte Code-Traces in Ihrer App anzeigen können.

Deaktivieren Sie das Gradle-Plugin zur Leistungsüberwachung

Sie können das Plugin für die Leistungsüberwachung deaktivieren, indem Sie ein instrumentationEnabled Flag mit den folgenden Optionen hinzufügen:

Deaktivieren Sie das Plugin über ein Flag für Erweiterungseigenschaften

Mithilfe eines Extensions-Eigenschaftsflags können Sie das Plugin für die Leistungsüberwachung für eine bestimmte Build-Variante zur Kompilierungszeit deaktivieren.

  1. build.gradle Ihrer build.gradle Datei auf Stammebene (Projektebene) build.gradle , dass Ihre Android Gradle Plugin-Abhängigkeit als v3.4.0 oder höher angegeben ist.

    Bei früheren Versionen des Android Gradle-Plugins können Sie das Leistungsüberwachungs-Plugin für eine bestimmte Build-Variante weiterhin deaktivieren, der Beitrag zur Build-Zeit für diese Variante wird jedoch nicht vollständig eliminiert.

  2. Fügen Sie das folgende Flag zu Ihrer build.gradle Datei auf Modulebene (App-Ebene) build.gradle und setzen Sie es auf false , um das Plugin für die Leistungsüberwachung zu deaktivieren.

    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
          }
        }
      }
    }
    

Deaktivieren Sie das Plugin über ein Project Property-Flag

Mithilfe eines Project Property- Flags können Sie das Plugin für die Leistungsüberwachung für alle Build-Varianten zur Kompilierungszeit deaktivieren.

Fügen Sie Ihrer gradle.properties Datei das folgende Flag gradle.properties und setzen Sie es auf false , um das Leistungsüberwachungs-Plugin zu deaktivieren.

// ...

// 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

Deaktivieren Sie die Android-Bibliothek zur Leistungsüberwachung

Wenn Sie die Leistungsüberwachungsbibliothek zur Kompilierungszeit deaktivieren, können Sie auswählen, ob Ihre App die Bibliothek zur Laufzeit aktivieren soll.

Deaktivieren Sie die Bibliothek zur Kompilierungszeit, aber erlauben Sie Ihrer App, sie zur Laufzeit zu aktivieren

Fügen Sie der AndroidManifest.xml Datei Ihrer App das folgende <meta-data> -Element AndroidManifest.xml :

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

Deaktivieren Sie die Bibliothek zur Kompilierungszeit, aber erlauben Sie Ihrer App nicht, sie zur Laufzeit zu aktivieren

Fügen Sie der AndroidManifest.xml Datei Ihrer App das folgende <meta-data> -Element AndroidManifest.xml :

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

Deaktivieren Sie Ihre App zur Laufzeit mit Remote Config

Mit Firebase Remote Config können Sie das Verhalten und das Erscheinungsbild Ihrer App ändern. Auf diese Weise können Sie die Leistungsüberwachung in bereitgestellten Instanzen Ihrer App auf ideale Weise deaktivieren.

Verwenden Sie den unten gezeigten Beispielcode, um die Datenerfassung für die Leistungsüberwachung beim nächsten Start Ihrer Android-App zu deaktivieren. Weitere Informationen zur Verwendung von Remote Config in einer Android-App finden Sie unter Verwenden von Firebase Remote Config unter Android .

  1. Stellen Sie sicher, dass sich Remote Config im Abschnitt " dependencies " Ihrer Modul-Gradle-Datei befindet (normalerweise app/build.gradle ):

    implementation 'com.google.firebase:firebase-config:19.2.0'
    
  2. perf_disable Remote Config ein und deaktivieren Sie die Leistungsüberwachung, wenn perf_disable auf true :

    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) {
                    FirebasePerformance.getInstance()
                            .isPerformanceCollectionEnabled = !config.getBoolean("perf_disable")
                } else {
                    // An error occurred while setting default parameters
                }
            }
  3. Fügen Sie MainActivity.java den folgenden Code MainActivity.java , um Remote Config-Werte abzurufen und zu aktivieren:

    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
                }
            }
  4. Um die Leistungsüberwachung in der Firebase-Konsole zu deaktivieren, erstellen Sie einen Parameter perf_disable im Projekt Ihrer App und setzen Sie den Wert auf true .

    Durch diese Änderung werden die NOOPs (No Operation Calls) des Performance Monitoring SDK aufgerufen, sodass keine signifikanten Auswirkungen auf die App-Leistung durch die Verwendung des Performance Monitoring SDK in Ihrer App auftreten.

    Wenn Sie den Wert von perf_disable auf false , bleibt die Leistungsüberwachung aktiviert.