Kullanıcılarınızın Firebase Performance Monitoring kullanımını etkinleştirmesine veya kapsamı dışında kalmayı seçmesine izin vermek için uygulamanızı Performance Monitoring özelliğini etkinleştirip devre dışı bırakabileceğiniz şekilde yapılandırmanız gerekebilir. Bu özellik, uygulama geliştirme ve test aşamalarında da faydalı olabilir.
Aşağıda, değerlendirebileceğiniz bazı seçenekler verilmiştir:
Uygulamanızı oluştururken Performance Monitoring SDK'yı devre dışı bırakabilir ve çalışma zamanında yeniden etkinleştirebilirsiniz.
Uygulamanızı Performance Monitoring SDK'sı etkinleştirilmiş olarak derleyebilir ancak Firebase Remote Config kullanarak çalışma zamanında devre dışı bırakabilirsiniz.
Performance Monitoring SDK'sını tamamen devre dışı bırakabilirsiniz. Bu durumda, çalışma zamanında etkinleştirme seçeneği sunulmaz.
Uygulama derleme sürecinizde Performance Monitoring özelliğini devre dışı bırakma
Uygulama derleme sürecinizde Performance Monitoring özelliğini 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ünden performans verilerinin raporlanmasını önlemektir.
Performance Monitoring özelliğini 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:
Performance Monitoring özelliğini devre dışı bırakmak ancak uygulamanızın çalışma zamanında bu özelliği etkinleştirmesine izin vermek için uygulamanızın
Info.plistdosyasındafirebase_performance_collection_enabledözelliğinifalseolarak ayarlayın.Performance Monitoring özelliğini tamamen devre dışı bırakmak ve çalışma zamanında etkinleştirme seçeneğini kaldırmak için uygulamanızın
Info.plistdosyasındafirebase_performance_collection_deactivateddeğerinitrueolarak ayarlayın.
Remote Config kullanarak uygulamanızı çalışma zamanında devre dışı bırakma
Firebase Remote Config, uygulamanızın davranışında ve görünümünde değişiklik yapmanıza olanak tanır. Bu sayede, uygulamanızın dağıtılan örneklerinde Performance Monitoring özelliğini devre dışı bırakmak için ideal bir yöntem sunar.
Apple uygulamanız bir sonraki sefer başlatıldığında Performance Monitoring veri toplamayı devre dışı bırakmak için aşağıda gösterilen örnek kodu kullanın. Apple uygulamalarında Remote Config kullanımı hakkında daha fazla bilgi için Apple platformlarında Firebase Remote Config kullanma başlıklı makaleyi inceleyin.
Podfileiçinde Remote Config kullanıldığından emin olun:pod 'Firebase/RemoteConfig'Uygulamanızın
AppDelegatedosyasının en üstüne aşağıdakileri ekleyin:Swift
Not: Bu Firebase ürünü macOS, Mac Catalyst ve watchOS hedeflerinde kullanılamaz.import FirebaseRemoteConfigObjective-C
Not: Bu Firebase ürünü macOS, Mac Catalyst ve watchOS hedeflerinde kullanılamaz.@import FirebaseRemoteConfig;AppDelegatedosyanızda,application:didFinishLaunchingWithOptions:örnek yöntemindekilaunchOptionsifadelerine aşağıdaki kodu ekleyin: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];ViewController.mdosyasına 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: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); } }];Firebase konsolunda Performance Monitoring hizmetini devre dışı bırakmak için uygulamanızın projesinde perf_disable parametresi oluşturun ve değerini
trueolarak ayarlayın.perf_disable değerini
falseolarak ayarlarsanız Performance Monitoring etkin kalır.
Otomatik veya özel veri toplamayı ayrı ayrı devre dışı bırakma
Yukarıda ve Firebase konsolunda gösterilen kodda bazı değişiklikler yaparak tüm otomatik (hazır) izlemeleri özel izlemeden ayrı olarak devre dışı bırakabilirsiniz.
application:didFinishLaunchingWithOptions:örnek yöntemindekilaunchOptionsifadelerine aşağıdaki kodu ekleyin (aynı örnek yöntem için yukarıda gösterilen kod yerine):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];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 değerini
trueolarak ayarlayın. - Tüm özel izlemeleri devre dışı bırakmak için uygulamanızın projesinde bir perf_disable_manual parametresi oluşturun ve değerini
trueolarak ayarlayı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 değerini