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

Damit Ihre Benutzer die Verwendung der Firebase-Leistungsüberwachung aktivieren oder deaktivieren können, möchten Sie möglicherweise Ihre App so konfigurieren, dass Sie die Leistungsüberwachung aktivieren und deaktivieren können. Möglicherweise ist diese Funktion auch bei der Entwicklung und beim Testen von Apps hilfreich.

Im Folgenden sind einige Optionen zu berücksichtigen:

  • Sie können das Performance Monitoring SDK beim Erstellen Ihrer App deaktivieren und sie zur Laufzeit wieder aktivieren.

  • Sie können Ihre App mit aktiviertem Performance Monitoring SDK erstellen, haben jedoch die Möglichkeit, sie zur Laufzeit mithilfe von Firebase Remote Config zu deaktivieren.

  • Sie können das Performance Monitoring SDK vollständig deaktivieren, ohne es zur Laufzeit aktivieren zu können.

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

Eine Situation, in der das Deaktivieren der Leistungsüberwachung während des App-Erstellungsprozesses hilfreich sein kann, besteht darin, zu vermeiden, dass während der App-Entwicklung und -Tests Leistungsdaten aus einer Vorabversion Ihrer App gemeldet werden.

Um die Leistungsüberwachung zu deaktivieren oder zu deaktivieren, können Sie der Eigenschaftslistendatei ( Info.plist ) für Ihre iOS-App einen von zwei Schlüsseln hinzufügen:

  • So deaktivieren Performance Monitoring, sondern lassen Sie Ihre App , um sie zur Laufzeit zu aktivieren, setzen firebase_performance_collection_enabled zu false in Ihrer App Info.plist - Datei.

  • Um das Gerät vollständig deaktivieren Performance Monitoring, ohne Option zur Laufzeit zu ermöglichen, Satz firebase_performance_collection_deactivated zu true in Ihrem App Info.plist - Datei.

Deaktivieren Sie Ihre App zur Laufzeit mit Remote Config

Mit Firebase Remote Config können Sie Änderungen am Verhalten und Erscheinungsbild Ihrer App vornehmen. Auf diese Weise können Sie die Leistungsüberwachung in bereitgestellten Instanzen Ihrer App deaktivieren.

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

  1. Stellen Sie sicher, dass Remote Config in Ihrer Podfile :

    pod 'Firebase/RemoteConfig'
    
  2. Fügen Sie Folgendes oben in die AppDelegate Datei Ihrer App ein:

    Schnell

    import FirebaseRemoteConfig
    

    Ziel c

    @import FirebaseRemoteConfig;
    
  3. AppDelegate in Ihrer AppDelegate Datei den launchOptions Anweisungen in der application:didFinishLaunchingWithOptions: den folgenden Code launchOptions application:didFinishLaunchingWithOptions: instance method:

    Schnell

    remoteConfig = RemoteConfig.remoteConfig()
    // You can change the "false" below to "true" to permit more fetches when validating
    // your app, but you should change it back to "false" or remove this statement before
    // distributing your app in production.
    let remoteConfigSettings = RemoteConfigSettings(developerModeEnabled: false)
    remoteConfig.configSettings = remoteConfigSettings!
    // Load in-app defaults from a plist file that sets perf_disable to false until
    // you update values in the Firebase Console.
    remoteConfig.setDefaultsFromPlistFileName("RemoteConfigDefaults")
    // Important! This needs to be applied before FirebaseApp.configure()
    if !remoteConfig["perf_disable"].boolValue {
        // The following line disables all automatic (out-of-the-box) monitoring
        Performance.sharedInstance().isInstrumentationEnabled = false
        // The following line disables all custom monitoring
        Performance.sharedInstance().isDataCollectionEnabled = false
    }
    else {
        Performance.sharedInstance().isInstrumentationEnabled = true
        Performance.sharedInstance().isDataCollectionEnabled = true
    }
    // Use Firebase library to configure APIs
    FirebaseApp.configure()
    

    Ziel c

    self.remoteConfig = [FIRRemoteConfig remoteConfig];
    // You can change the NO below to YES to permit more fetches when validating
    // your app, but you should change it back to NO or remove this statement before
    // distributing your app in production.
    FIRRemoteConfigSettings *remoteConfigSettings =
        [[FIRRemoteConfigSettings alloc] initWithDeveloperModeEnabled:NO];
    self.remoteConfig.configSettings = remoteConfigSettings;
    // Load in-app defaults from a plist file that sets perf_disable to false until
    // you update values in the Firebase Console.
    [self.remoteConfig setDefaultsFromPlistFileName:@"RemoteConfigDefaults"];
    // Important! This needs to be applied before [FIRApp configure]
    if (!self.remoteConfig[@"perf_disable"].numberValue.boolValue) {
        // The following line disables all automatic (out-of-the-box) monitoring
        [FIRPerformance sharedInstance].instrumentationEnabled = NO;
        // The following line disables all custom monitoring
        [FIRPerformance sharedInstance].dataCollectionEnabled = NO;
    }
    else {
        [FIRPerformance sharedInstance].instrumentationEnabled = YES;
        [FIRPerformance sharedInstance].dataCollectionEnabled = YES;
    }
    // Use Firebase library to configure APIs
    [FIRApp configure];
    
  4. ViewController.m in ViewController.m oder einer anderen von Ihrer App verwendeten Implementierungsdatei den folgenden Code hinzu, um Remote Config-Werte abzurufen und zu aktivieren:

    Schnell

    //RemoteConfig fetch and activation in your app, shortly after startup
    remoteConfig.fetch(withExpirationDuration: TimeInterval(30.0)) { (status, error) -> Void in
      if status == .success {
        print("Config fetched!")
        self.remoteConfig.activateFetched()
      } else {
        print("Config not fetched")
        print("Error \(error!.localizedDescription)")
      }
    }
    

    Ziel c

    //RemoteConfig fetch and activation in your app, shortly after startup
    [self.remoteConfig fetchWithExpirationDuration:30.0 completionHandler:^(FIRRemoteConfigFetchStatus status, NSError *error) {
      if (status == FIRRemoteConfigFetchStatusSuccess) {
        NSLog(@"Config fetched!");
        [self.remoteConfig activateFetched];
      } else {
        NSLog(@"Config not fetched");
        NSLog(@"Error %@", error.localizedDescription);
      }
    }];
    
  5. 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 .

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

Deaktivieren Sie die automatische oder benutzerdefinierte Datenerfassung separat

Sie können einige Änderungen am oben gezeigten Code und in der Firebase-Konsole vornehmen, um die automatische (sofort einsatzbereite) Überwachung getrennt von der benutzerdefinierten Überwachung zu deaktivieren.

  1. Fügen Sie den launchOptions Anweisungen in der application:didFinishLaunchingWithOptions: den folgenden Code launchOptions application:didFinishLaunchingWithOptions: Instanzmethode (anstelle der oben gezeigten für dieselbe Instanzmethode):

    Schnell

    remoteConfig = FIRRemoteConfig.remoteConfig()
    let remoteConfigSettings = FIRRemoteConfigSettings(developerModeEnabled: true)
    remoteConfig.configSettings = remoteConfigSettings!
    // Important! This needs to be applied before FirebaseApp.configure()
    if remoteConfig["perf_disable_auto"].boolValue {
        // The following line disables all automatic (out-of-the-box) monitoring
        Performance.sharedInstance().isInstrumentationEnabled = false
    }
    else {
        Performance.sharedInstance().isInstrumentationEnabled = true
    }
    if remoteConfig["perf_disable_manual"].boolValue {
        // The following line disables all custom monitoring
        Performance.sharedInstance().isDataCollectionEnabled = false
    }
    else {
        Performance.sharedInstance().isDataCollectionEnabled = true
    }
    // Use Firebase library to configure APIs
    FirebaseApp.configure()
    

    Ziel c

    self.remoteConfig = [FIRRemoteConfig remoteConfig];
    FIRRemoteConfigSettings *remoteConfigSettings =
        [[FIRRemoteConfigSettings alloc] initWithDeveloperModeEnabled:YES];
    self.remoteConfig.configSettings = remoteConfigSettings;
    // Important! This needs to be applied before [FirebaseApp configure]
    if (self.remoteConfig[@"perf_disable_auto"].numberValue.boolValue) {
        // The following line disables all automatic (out-of-the-box) monitoring
        [FIRPerformance sharedInstance].instrumentationEnabled = NO;
    }
    else {
        [FIRPerformance sharedInstance].instrumentationEnabled = YES;
    }
    if (self.remoteConfig[@"perf_disable_manual"].numberValue.boolValue) {
        // The following line disables all custom monitoring
        [FIRPerformance sharedInstance].dataCollectionEnabled = NO;
    }
    else {
        [FIRPerformance sharedInstance].dataCollectionEnabled = YES;
    }
    // Use Firebase library to configure APIs
    [FirebaseApp configure];
    
  2. Führen Sie in der Firebase-Konsole Folgendes aus:

    • Um alle automatischen ( sofort einsatzbereiten ) Überwachungsfunktionen zu deaktivieren, erstellen Sie einen Parameter perf_disable_auto im Projekt Ihrer App und setzen Sie den Wert auf true .
    • Um die gesamte benutzerdefinierte Überwachung zu deaktivieren, erstellen Sie im Projekt Ihrer App einen Parameter perf_disable_manual und setzen Sie den Wert auf true .