Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

Wyłącz monitorowanie wydajności Firebase

Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.

na

Aby umożliwić użytkownikom włączanie i wyłączanie monitorowania wydajności Firebase, możesz skonfigurować swoją aplikację tak, aby można było włączać i wyłączać monitorowanie wydajności. Ta funkcja może być również przydatna podczas tworzenia i testowania aplikacji.

Oto kilka opcji do rozważenia:

  • Możesz wyłączyć zestaw SDK monitorowania wydajności podczas kompilowania aplikacji, z opcją ponownego włączenia go w czasie wykonywania.

  • Możesz zbudować swoją aplikację z włączonym pakietem SDK monitorowania wydajności, ale możesz go wyłączyć w czasie wykonywania za pomocą zdalnej konfiguracji Firebase.

  • Możesz całkowicie dezaktywować zestaw SDK monitorowania wydajności, bez możliwości włączenia go w czasie wykonywania.

Wyłącz monitorowanie wydajności podczas procesu tworzenia aplikacji

Jedną z sytuacji, w której wyłączenie monitorowania wydajności podczas procesu tworzenia aplikacji może być przydatne, jest unikanie raportowania danych o wydajności z wersji wstępnej aplikacji podczas tworzenia i testowania aplikacji.

Aby wyłączyć lub dezaktywować monitorowanie wydajności, możesz dodać jeden z dwóch kluczy do pliku listy właściwości ( Info.plist ) aplikacji Apple:

  • Aby wyłączyć monitorowanie wydajności, ale zezwolić aplikacji na włączanie go w czasie wykonywania, ustaw dla firebase_performance_collection_enabled wartość false w pliku Info.plist aplikacji.

  • Aby całkowicie dezaktywować monitorowanie wydajności, bez możliwości włączenia go w czasie wykonywania, ustaw dla firebase_performance_collection_deactivated wartość true w pliku Info.plist aplikacji.

Wyłącz swoją aplikację w czasie wykonywania za pomocą zdalnej konfiguracji

Zdalna konfiguracja Firebase umożliwia wprowadzanie zmian w zachowaniu i wyglądzie aplikacji, dzięki czemu stanowi idealny sposób na wyłączenie monitorowania wydajności we wdrożonych wystąpieniach aplikacji.

Aby wyłączyć zbieranie danych monitorowania wydajności przy następnym uruchomieniu aplikacji Apple, użyj przykładowego kodu pokazanego poniżej. Aby uzyskać więcej informacji na temat korzystania ze zdalnej konfiguracji w aplikacji Apple, zobacz Używanie zdalnej konfiguracji Firebase na platformach Apple .

  1. Upewnij się, że Zdalna konfiguracja jest używana w Twoim Podfile :

    pod 'Firebase/RemoteConfig'
    
  2. Dodaj następujące informacje u góry pliku AppDelegate aplikacji:

    Szybki

    Uwaga: ten produkt Firebase nie jest dostępny w systemach docelowych macOS, Mac Catalyst i watchOS.
    import FirebaseRemoteConfig
    

    Cel C

    Uwaga: ten produkt Firebase nie jest dostępny w systemach docelowych macOS, Mac Catalyst i watchOS.
    @import FirebaseRemoteConfig;
    
  3. W pliku AppDelegate dodaj następujący kod do instrukcji launchOptions w application:didFinishLaunchingWithOptions: metoda instancji:

    Szybki

    Uwaga: ten produkt nie jest dostępny w systemach docelowych macOS, Mac Catalyst, watchOS.
    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()
    

    Cel C

    Uwaga: ten produkt Firebase nie jest dostępny w systemach docelowych macOS, Mac Catalyst i watchOS.
    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. W ViewController.m lub innym pliku implementacji używanym przez Twoją aplikację dodaj następujący kod, aby pobrać i aktywować wartości Remote Config:

    Szybki

    Uwaga: ten produkt Firebase nie jest dostępny w systemach docelowych macOS, Mac Catalyst i watchOS.
    //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)")
      }
    }
    

    Cel C

    Uwaga: ten produkt Firebase nie jest dostępny w systemach docelowych macOS, Mac Catalyst i watchOS.
    //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. Aby wyłączyć monitorowanie wydajności w konsoli Firebase, utwórz parametr perf_disable w projekcie aplikacji, a następnie ustaw jego wartość na true .

    Jeśli ustawisz wartość perf_disable na false , monitorowanie wydajności pozostanie włączone.

Wyłącz automatyczne lub niestandardowe zbieranie danych osobno

Możesz wprowadzić pewne zmiany w kodzie pokazanym powyżej oraz w konsoli Firebase, aby umożliwić wyłączenie całego monitorowania automatycznego (gotowego do użycia) niezależnie od monitorowania niestandardowego.

  1. Dodaj następujący kod do instrukcji launchOptions w application:didFinishLaunchingWithOptions: metoda instancji (zamiast tego, co pokazano powyżej dla tej samej metody instancji):

    Szybki

    Uwaga: ten produkt Firebase nie jest dostępny w systemach docelowych macOS, Mac Catalyst i watchOS.
    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()
    

    Cel C

    Uwaga: ten produkt Firebase nie jest dostępny w systemach docelowych macOS, Mac Catalyst i watchOS.
    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. Wykonaj następujące czynności w konsoli Firebase:

    • Aby wyłączyć wszystkie automatyczne (gotowe do użycia) monitorowanie, utwórz parametr perf_disable_auto w projekcie aplikacji, a następnie ustaw jego wartość na true .
    • Aby wyłączyć wszystkie niestandardowe monitorowanie, utwórz parametr perf_disable_manual w projekcie aplikacji, a następnie ustaw jego wartość na true .