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 do monitorowania wydajności podczas tworzenia aplikacji, z opcją ponownego włączenia go w czasie wykonywania.
Możesz zbudować swoją aplikację z włączonym pakietem Performance Monitoring SDK, ale możesz go wyłączyć w czasie wykonywania za pomocą Firebase Remote Config.
Możesz całkowicie dezaktywować zestaw SDK do 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 przedpremierowej wersji 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
) dla swojej aplikacji Apple:
Aby wyłączyć monitorowanie wydajności, ale zezwolić aplikacji na włączanie go w czasie wykonywania, ustaw
firebase_performance_collection_enabled
nafalse
w plikuInfo.plist
aplikacji.Aby całkowicie dezaktywować monitorowanie wydajności bez możliwości włączenia go w czasie wykonywania, ustaw
firebase_performance_collection_deactivated
natrue
w plikuInfo.plist
aplikacji.
Wyłącz 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 instancjach 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 o korzystaniu ze Zdalnej konfiguracji w aplikacji Apple, zobacz Używanie Zdalnej konfiguracji Firebase na platformach Apple .
Upewnij się, że w twoim
Podfile
jest używana Zdalna konfiguracja:pod 'Firebase/RemoteConfig'
Dodaj następujący tekst na początku 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;
W pliku
AppDelegate
dodaj następujący kod do instrukcjilaunchOptions
wapplication:didFinishLaunchingWithOptions:
metoda instancji:Szybki
Uwaga: ten produkt nie jest dostępny w systemach docelowych macOS, Mac Catalyst i 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];
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); } }];
Aby wyłączyć monitorowanie wydajności w konsoli Firebase, utwórz parametr perf_disable w projekcie swojej 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 wyłączyć wszystkie automatyczne (gotowe do użycia) monitorowanie niezależnie od monitorowania niestandardowego.
Dodaj następujący kod do instrukcji
launchOptions
wapplication:didFinishLaunchingWithOptions:
metoda instancji (zamiast pokazanego 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];
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 swojej aplikacji, a następnie ustaw jego wartość na
true
. - Aby wyłączyć wszystkie niestandardowe monitorowanie, utwórz parametr perf_disable_manual w projekcie swojej aplikacji, a następnie ustaw jego wartość na
true
.
- Aby wyłączyć wszystkie automatyczne (gotowe do użycia) monitorowanie, utwórz parametr perf_disable_auto w projekcie swojej aplikacji, a następnie ustaw jego wartość na