Catch up on everthing we announced at this year's Firebase Summit. Learn more

Firebase-Leistungsüberwachung deaktivieren

Damit Ihre Benutzer die Firebase-Leistungsüberwachung aktivieren oder deaktivieren können, sollten Sie Ihre App möglicherweise so konfigurieren, dass Sie die Leistungsüberwachung aktivieren und deaktivieren können. Sie können diese Funktion auch während der App-Entwicklung und -Tests als nützlich empfinden.

Im Folgenden sind einige Optionen aufgeführt, die Sie in Betracht ziehen sollten:

  • Sie können das Performance Monitoring SDK beim Erstellen Ihrer App deaktivieren, mit der Option, es zur Laufzeit wieder zu aktivieren.

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

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

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

Eine Situation, in der das Deaktivieren der Leistungsüberwachung während Ihres App-Buildprozesses nützlich sein kann, besteht darin, während der App-Entwicklung und -Tests keine Leistungsdaten aus einer Vorabversion Ihrer App zu melden.

So deaktivieren oder deaktivieren Performance Monitoring, können Sie eine von zwei Tasten , um die Eigenschaftslistendatei (add Info.plist ) für Ihr Apple App:

  • 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 das Verhalten und das Erscheinungsbild Ihrer App ändern, sodass Sie die Leistungsüberwachung in bereitgestellten Instanzen Ihrer App ideal deaktivieren können.

Verwenden Sie den unten gezeigten Beispielcode, um die Datenerfassung der Leistungsüberwachung beim nächsten Start Ihrer Apple-App zu deaktivieren. Weitere Informationen über die Remote - Konfiguration in einem Apple - App finden Sie unter Verwenden Firebase Remote - Config auf Apple - Plattformen .

  1. Stellen Sie sicher , dass die Remote - Konfiguration in Ihrem verwendet wird Podfile :

    pod 'Firebase/RemoteConfig'
    
  2. Fügen Sie die folgende an die Spitze der App- AppDelegate - Datei:

    Schnell

    Hinweis: Dieses Produkt Firebase ist nicht auf macOS, Mac Catalyst watchOS Ziele.
    import FirebaseRemoteConfig
    

    Ziel c

    Hinweis: Dieses Produkt Firebase ist nicht auf macOS, Mac Catalyst watchOS Ziele.
    @import FirebaseRemoteConfig;
    
  3. In Ihrer AppDelegate Datei, fügen Sie den folgenden Code in die launchOptions - Anweisungen in der application:didFinishLaunchingWithOptions: Instanz - Methode:

    Schnell

    Hinweis: Dieses Produkt ist nicht verfügbar auf macOS, Mac Catalyst watchOS Ziele.
    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

    Hinweis: Dieses Produkt Firebase ist nicht auf macOS, Mac Catalyst watchOS Ziele.
    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. In ViewController.m oder eine andere Implementierung - Datei von Ihrer App verwendet, fügen Sie den folgenden Code zu holen und aktivieren Sie den Remote Config - Werte:

    Schnell

    Hinweis: Dieses Produkt Firebase ist nicht auf macOS, Mac Catalyst watchOS Ziele.
    //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

    Hinweis: Dieses Produkt Firebase ist nicht auf macOS, Mac Catalyst watchOS Ziele.
    //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. So deaktivieren Leistung in der Konsole Firebase Überwachung, erstellen Sie einen perf_disable Parameter in Ihrer App - Projekt, dann wird ihr Wert setzen true .

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

Deaktivieren Sie die automatische oder benutzerdefinierte Datenerfassung separat

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

  1. Fügen Sie den folgenden Code in den launchOptions - Anweisungen in der application:didFinishLaunchingWithOptions: Instanz - Methode (statt dem , was oben für die gleiche Instanz Methode gezeigt wird ):

    Schnell

    Hinweis: Dieses Produkt Firebase ist nicht auf macOS, Mac Catalyst watchOS Ziele.
    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

    Hinweis: Dieses Produkt Firebase ist nicht auf macOS, Mac Catalyst watchOS Ziele.
    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 die folgenden Schritte in der Firebase-Konsole aus:

    • So deaktivieren Sie alle automatischen (out-of-the-box) Überwachung, erstellen Sie einen perf_disable_auto Parameter in Projekt Ihrer App, dann seinen Wert auf true .
    • Um alle benutzerdefinierten Überwachung zu deaktivieren, erstellen Sie einen perf_disable_manual Parameter in Ihrer App - Projekt, dann seinen Wert auf true .