Firebase Performance Monitoring'i devre dışı bırak

Kullanıcılarınızın Firebase Performance Monitoring özelliğini etkinleştirmesine veya devre dışı bırakmasına izin vermek için aşağıdakileri yapabilirsiniz: uygulamanızı, Performans İzleme'yi etkinleştirip devre dışı bırakacak şekilde yapılandırmak istiyorsanız. Siz bu özelliği uygulama geliştirme ve test etme süreçlerinde de yararlı bulabilir.

Dikkate alabileceğiniz bazı seçenekler aşağıda belirtilmiştir:

  • Uygulamanızı oluştururken Performance Monitoring SDK'sını devre dışı bırakabilirsiniz. çalışma zamanında yeniden etkinleştirebilirsiniz.

  • Uygulamanızı Performance Monitoring SDK'sı etkinleştirerek derleyebilirsiniz. Ancak isterseniz Firebase Remote Config'i kullanarak çalışma zamanında devre dışı bırakın.

  • Performance Monitoring SDK'sını, etkinleştirme seçeneği olmadan tamamen devre dışı bırakabilirsiniz. çalışma zamanında.

Uygulama geliştirme işleminiz sırasında Performance Monitoring'i devre dışı bırakın

Uygulama geliştirme süreciniz sırasında Performance Monitoring'i devre dışı bırakmanın uygulamanızın yayın öncesi sürümüne ait performans verilerinin raporlanmasını önlemektir. uygulama geliştirme ve test sırasında kullanılması gerektiğini unutmayın.

Performance Monitoring'i devre dışı bırakmak veya devre dışı bırakmak için iki anahtardan birini Apple uygulamanız için özellik listesi dosyası (Info.plist):

  • Performance Monitoring'i devre dışı bırakmak ancak uygulamanızın çalışma zamanında etkinleştirmesine izin vermek için şu ayarları yapın: Uygulamanızın içinde firebase_performance_collection_enabled - false Info.plist dosyası.

  • Performance Monitoring'i çalışma zamanında etkinleştirme seçeneği olmadan tamamen devre dışı bırakmak için uygulamanızda firebase_performance_collection_deactivated değerini true olarak ayarlayın Info.plist dosyası.

Remote Config'i kullanarak uygulamanızı çalışma zamanında devre dışı bırakın

Firebase Remote Config, davranış ve görünüm üzerinde değişiklik yapmanıza olanak tanır. Bu da uygulamanızın performansını izlemek için performans izleme özelliğini devre dışı bırakmanıza uygulamanızın dağıtılan örneklerini gösterir.

Apple uygulamanız bir dahaki sefere başlatıldığında Performance Monitoring veri toplama özelliğini devre dışı bırakmak için: aşağıda gösterilen örnek kodu kullanın. Daha fazla bilgi için Apple uygulamasında Remote Config için bkz. Apple platformlarında Firebase Remote Config'i kullanın.

  1. Podfile içinde Remote Config'in kullanıldığından emin olun:

    pod 'Firebase/RemoteConfig'
    
  2. Uygulamanızın AppDelegate dosyasının en üstüne şunu ekleyin:

    Swift

    Not: Bu Firebase ürünü macOS, Mac Catalyst ve watchOS hedeflerinde kullanılamaz.
    import FirebaseRemoteConfig
    

    Objective-C

    Not: Bu Firebase ürünü macOS, Mac Catalyst ve watchOS hedeflerinde kullanılamaz.
    @import FirebaseRemoteConfig;
    
  3. AppDelegate dosyanızda, aşağıdaki kodu launchOptions bölümüne ekleyin. application:didFinishLaunchingWithOptions: örneğindeki ifadeler yöntem:

    Swift

    Not: Bu ürün macOS, Mac Catalyst ve watchOS hedeflerinde kullanılamaz.
    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()
    

    Objective-C

    Not: Bu Firebase ürünü macOS, Mac Catalyst ve watchOS hedeflerinde kullanılamaz.
    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 veya uygulamanızın kullandığı başka bir uygulama dosyasında Remote Config değerlerini getirmek ve etkinleştirmek için aşağıdaki kodu kullanın:

    Swift

    Not: Bu Firebase ürünü macOS, Mac Catalyst ve watchOS hedeflerinde kullanılamaz.
    //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)")
      }
    }
    

    Objective-C

    Not: Bu Firebase ürünü macOS, Mac Catalyst ve watchOS hedeflerinde kullanılamaz.
    //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 konsolunda Performance Monitoring'i devre dışı bırakmak için bir perf_disable öğesi oluşturun parametresini seçin ve değerini true olarak ayarlayın.

    perf_disable değerini false olarak ayarlarsanız Performance Monitoring aynı kalır etkin.

Otomatik veya özel veri toplamayı ayrı olarak devre dışı bırakın

Yukarıda ve Firebase konsolunda gösterilen kodda bazı değişiklikler yapabilirsiniz. ile tüm otomatik (kullanıma hazır) izlemeyi neden olabilir.

  1. Aşağıdaki kodulaunchOptions application:didFinishLaunchingWithOptions: örnek yöntemi ( aşağıda gösterilenlere örnek olarak verilebilir):

    Swift

    Not: Bu Firebase ürünü macOS, Mac Catalyst ve watchOS hedeflerinde kullanılamaz.
    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()
    

    Objective-C

    Not: Bu Firebase ürünü macOS, Mac Catalyst ve watchOS hedeflerinde kullanılamaz.
    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 konsolunda aşağıdaki adımları uygulayın:

    • Tüm otomatik (kullanıma hazır) izlemeyi devre dışı bırakmak için perf_disable_auto parametresini ayarlayın, ardından true değerine ayarlayın.
    • Tüm özel izlemeyi devre dışı bırakmak için bir perf_disable_manual oluşturun. parametresini seçin ve değerini true olarak ayarlayın.
    ziyaret edin.