Firebase Performans İzlemeyi Devre Dışı Bırak

Kullanıcılarınızın Firebase Performans İzlemeyi etkinleştirmesine veya devre dışı bırakmasına izin vermek için uygulamanızı Performans İzlemeyi etkinleştirebilecek ve devre dışı bırakabilecek şekilde yapılandırmak isteyebilirsiniz. Bu özelliğin uygulama geliştirme ve test etme sırasında da yararlı olduğunu görebilirsiniz.

Göz önünde bulundurulması gereken bazı seçenekler şunlardır:

  • Uygulamanızı oluştururken Performans İzleme SDK'sını çalışma zamanında yeniden etkinleştirme seçeneğiyle devre dışı bırakabilirsiniz.

  • Uygulamanızı Performance Monitoring SDK etkinken oluşturabilirsiniz ancak Firebase Remote Config'i kullanarak çalışma zamanında devre dışı bırakma seçeneğiniz de vardır.

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

Uygulama oluşturma süreciniz sırasında Performans İzlemeyi devre dışı bırakın

Uygulama oluşturma süreciniz sırasında Performans İzlemeyi devre dışı bırakmanın yararlı olabileceği durumlardan biri, uygulama geliştirme ve test sırasında uygulamanızın yayın öncesi sürümüne ait performans verilerinin raporlanmasını önlemektir.

Performans İzlemeyi devre dışı bırakmak veya devre dışı bırakmak için Apple uygulamanızın özellik listesi dosyasına ( Info.plist ) iki anahtardan birini ekleyebilirsiniz:

  • Performans İzlemeyi devre dışı bırakmak ancak uygulamanızın bunu çalışma zamanında etkinleştirmesine izin vermek için uygulamanızın Info.plist dosyasında firebase_performance_collection_enabled değerini false olarak ayarlayın.

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

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

Firebase Remote Config, uygulamanızın davranışında ve görünümünde değişiklik yapmanıza olanak tanır; böylece uygulamanızın dağıtılmış örneklerinde Performans İzlemeyi devre dışı bırakmanız için ideal bir yol sağlar.

Apple uygulamanızın bir sonraki başlatılışında Performans İzleme veri toplamayı devre dışı bırakmak için aşağıda gösterilen örnek kodu kullanın. Remote Config'i bir Apple uygulamasında kullanma hakkında daha fazla bilgi için bkz. Apple platformlarında Firebase Remote Config'i kullanma .

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

    pod 'Firebase/RemoteConfig'
    
  2. Aşağıdakini uygulamanızın AppDelegate dosyasının üstüne ekleyin:

    Süratli

    Not: Bu Firebase ürünü macOS, Mac Catalyst ve watchOS hedeflerinde mevcut değildir.
    import FirebaseRemoteConfig
    

    Amaç-C

    Not: Bu Firebase ürünü macOS, Mac Catalyst ve watchOS hedeflerinde mevcut değildir.
    @import FirebaseRemoteConfig;
    
  3. AppDelegate dosyanızda, application:didFinishLaunchingWithOptions: örnek yöntemindeki launchOptions ifadelerine aşağıdaki kodu ekleyin:

    Süratli

    Not: Bu ürün macOS, Mac Catalyst ve watchOS hedeflerinde mevcut değildir.
    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()
    

    Amaç-C

    Not: Bu Firebase ürünü macOS, Mac Catalyst ve watchOS hedeflerinde mevcut değildir.
    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 tarafından kullanılan başka bir uygulama dosyasına Remote Config değerlerini getirip etkinleştirmek için aşağıdaki kodu ekleyin:

    Süratli

    Not: Bu Firebase ürünü macOS, Mac Catalyst ve watchOS hedeflerinde mevcut değildir.
    //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)")
      }
    }
    

    Amaç-C

    Not: Bu Firebase ürünü macOS, Mac Catalyst ve watchOS hedeflerinde mevcut değildir.
    //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 Performans İzlemeyi devre dışı bırakmak için uygulamanızın projesinde perf_disable parametresini oluşturun ve değerini true olarak ayarlayın.

    perf_disable değerini false olarak ayarlarsanız Performans İzleme etkin kalır.

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

Tüm otomatik (kullanıma hazır) izlemeyi özel izlemeden ayrı olarak devre dışı bırakmanıza izin vermek için yukarıda ve Firebase konsolunda gösterilen kodda bazı değişiklikler yapabilirsiniz.

  1. Aşağıdaki kodu application:didFinishLaunchingWithOptions: örnek yöntemindeki launchOptions ifadelerine ekleyin (yukarıda aynı örnek yöntemi için gösterilenin yerine):

    Süratli

    Not: Bu Firebase ürünü macOS, Mac Catalyst ve watchOS hedeflerinde mevcut değildir.
    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()
    

    Amaç-C

    Not: Bu Firebase ürünü macOS, Mac Catalyst ve watchOS hedeflerinde mevcut değildir.
    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ğıdakileri tamamlayın:

    • Tüm otomatik (kullanıma hazır) izlemeyi devre dışı bırakmak için uygulamanızın projesinde bir perf_disable_auto parametresi oluşturun ve ardından değerini true olarak ayarlayın.
    • Tüm özel izlemeyi devre dışı bırakmak için uygulamanızın projesinde bir perf_disable_manual parametresi oluşturun ve değerini true olarak ayarlayın.