Google 致力于为黑人社区推动种族平等。查看具体举措
Эта страница переведена с помощью Cloud Translation API.
Switch to English

Отключить мониторинг производительности Firebase

Чтобы пользователи могли соглашаться или отказываться от использования Firebase Performance Monitoring, вы можете настроить свое приложение таким образом, чтобы вы могли включать и отключать мониторинг производительности. Вы также можете найти эту возможность полезной во время разработки и тестирования приложений.

Ниже приведены некоторые варианты, которые следует учитывать:

  • Вы можете отключить SDK для мониторинга производительности при создании приложения с возможностью его повторного включения во время выполнения.

  • Вы можете создать свое приложение с включенным SDK для мониторинга производительности, но у вас есть возможность отключить его во время выполнения с помощью Firebase Remote Config.

  • Вы можете полностью отключить SDK для мониторинга производительности без возможности включения его во время выполнения.

Отключите мониторинг производительности во время сборки приложения

Одна из ситуаций, когда может быть полезно отключение мониторинга производительности во время процесса сборки приложения, - это избегать предоставления данных о производительности из предварительной версии вашего приложения во время разработки и тестирования приложения.

Чтобы отключить или деактивировать мониторинг производительности, вы можете добавить один из двух ключей в файл списка свойств ( Info.plist ) для вашего приложения iOS:

  • Чтобы отключить мониторинг производительности, но разрешить вашему приложению включать его во время выполнения, установите для firebase_performance_collection_enabled значение false в файле Info.plist вашего приложения.

  • Чтобы полностью отключить мониторинг производительности без возможности включения его во время выполнения, установите для параметра firebase_performance_collection_deactivated значение true в файле Info.plist вашего приложения.

Отключите приложение во время выполнения с помощью Remote Config

Firebase Remote Config позволяет вам вносить изменения в поведение и внешний вид вашего приложения, поэтому он предоставляет идеальный способ отключить мониторинг производительности в развернутых экземплярах вашего приложения.

Чтобы отключить сбор данных мониторинга производительности при следующем запуске приложения iOS, используйте пример кода, показанный ниже. Дополнительные сведения об использовании Remote Config в приложении iOS см. В разделе Использование Firebase Remote Config в iOS .

  1. Убедитесь, что в вашем Podfile используется Remote Config:

    pod 'Firebase/RemoteConfig'
    
  2. Добавьте следующее в AppDelegate файла AppDelegate вашего приложения:

    Быстрый

    import FirebaseRemoteConfig
    

    Цель-C

    @import FirebaseRemoteConfig;
    
  3. В вашем файле AppDelegate добавьте следующий код к операторам launchOptions в application:didFinishLaunchingWithOptions: метод экземпляра:

    Быстрый

    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()
    

    Цель-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 или другом файле реализации, используемом вашим приложением, добавьте следующий код для получения и активации значений Remote Config:

    Быстрый

    //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)")
      }
    }
    

    Цель-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. Чтобы отключить мониторинг производительности в консоли Firebase, создайте параметр perf_disable в проекте вашего приложения, а затем установите для него значение true .

    Если вы установите для perf_disable значение false , мониторинг производительности останется включенным.

Отключить автоматический или настраиваемый сбор данных отдельно

Вы можете внести некоторые изменения в код, показанный выше и в консоли Firebase, чтобы вы могли отключить весь автоматический (готовый) мониторинг отдельно от пользовательского мониторинга.

  1. Добавьте следующий код в операторы launchOptions в application:didFinishLaunchingWithOptions: метод экземпляра (вместо того, что показано выше для того же метода экземпляра):

    Быстрый

    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()
    

    Цель-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. В консоли Firebase выполните следующие действия:

    • Чтобы отключить весь автоматический (нестандартный) мониторинг, создайте параметр perf_disable_auto в проекте вашего приложения, а затем установите для него значение true .
    • Чтобы отключить весь настраиваемый мониторинг, создайте параметр perf_disable_manual в проекте вашего приложения, а затем установите для него значение true .