Để cho phép người dùng chọn sử dụng hoặc không sử dụng tính năng Giám sát hiệu suất Firebase, bạn có thể muốn định cấu hình ứng dụng của bạn để có thể bật và tắt Giám sát hiệu suất. Bạn cũng có thể thấy khả năng này hữu ích trong quá trình phát triển và kiểm thử ứng dụng.
Sau đây là một số lựa chọn mà bạn có thể cân nhắc:
Bạn có thể tắt SDK giám sát hiệu suất khi tạo ứng dụng bằng cách chọn hãy bật lại trong thời gian chạy.
Bạn có thể tạo ứng dụng khi đã bật SDK giám sát hiệu suất nhưng có thể chọn tắt tính năng này trong thời gian chạy bằng cách sử dụng Cấu hình từ xa Firebase.
Bạn có thể huỷ kích hoạt hoàn toàn SDK giám sát hiệu suất mà không có cách bật lên trong thời gian chạy.
Tắt tính năng Giám sát hiệu suất trong quá trình xây dựng ứng dụng
Có thể xảy ra trường hợp tắt tính năng Giám sát hiệu suất trong quá trình xây dựng ứng dụng hữu ích là để tránh báo cáo dữ liệu hiệu suất từ phiên bản phát hành trước của ứng dụng của bạn trong quá trình phát triển và kiểm thử ứng dụng.
Để tắt hoặc tắt tính năng Giám sát hiệu suất, bạn có thể thêm một trong hai khoá vào
tệp danh sách thuộc tính (Info.plist
) cho ứng dụng Apple của bạn:
Để tắt tính năng Giám sát hiệu suất nhưng cho phép ứng dụng bật trong thời gian chạy, hãy đặt Từ
firebase_performance_collection_enabled
đếnfalse
trong ứng dụng của bạnInfo.plist
.Để tắt hoàn toàn tính năng Giám sát hiệu suất mà không có tuỳ chọn bật tính năng này trong thời gian chạy, đặt
firebase_performance_collection_deactivated
thànhtrue
trongInfo.plist
.
Tắt ứng dụng của bạn trong thời gian chạy bằng cách sử dụng Cấu hình từ xa
Cấu hình từ xa Firebase cho phép bạn thay đổi hành vi và giao diện của ứng dụng, vì vậy, đây là cách lý tưởng để bạn có thể tắt tính năng Giám sát hiệu suất trong đã triển khai các phiên bản của ứng dụng.
Cách tắt tính năng thu thập dữ liệu của giải pháp Giám sát hiệu suất vào lần tiếp theo ứng dụng Apple khởi động: hãy dùng mã ví dụ bên dưới. Để biết thêm thông tin về cách sử dụng Cấu hình từ xa trong ứng dụng của Apple, hãy xem Sử dụng Cấu hình từ xa Firebase trên các nền tảng của Apple.
Đảm bảo bạn đã sử dụng Cấu hình từ xa trong
Podfile
:pod 'Firebase/RemoteConfig'
Thêm phần sau vào đầu tệp
AppDelegate
của ứng dụng:Swift
Lưu ý: Sản phẩm Firebase này không dùng được trên các mục tiêu macOS, Mac Catalyst, watchOS.import FirebaseRemoteConfig
Objective-C
Lưu ý: Sản phẩm Firebase này không dùng được trên các mục tiêu macOS, Mac Catalyst, watchOS.@import FirebaseRemoteConfig;
Trong tệp
AppDelegate
, hãy thêm mã sau vàolaunchOptions
các câu lệnh trong thực thểapplication:didFinishLaunchingWithOptions:
phương thức:Swift
Lưu ý: Sản phẩm này không hoạt động trên các mục tiêu macOS, Mac Catalyst, 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()
Objective-C
Lưu ý: Sản phẩm Firebase này không dùng được trên các mục tiêu macOS, Mac Catalyst, 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];
Trong
ViewController.m
hoặc một tệp triển khai khác mà ứng dụng của bạn sử dụng, hãy thêm đoạn mã sau để tìm nạp và kích hoạt các giá trị Cấu hình từ xa:Swift
Lưu ý: Sản phẩm Firebase này không dùng được trên các mục tiêu macOS, Mac Catalyst, 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)") } }
Objective-C
Lưu ý: Sản phẩm Firebase này không dùng được trên các mục tiêu macOS, Mac Catalyst, 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); } }];
Để tắt tính năng Giám sát hiệu suất trong bảng điều khiển của Firebase, hãy tạo một perf_disable trong dự án của ứng dụng, sau đó đặt giá trị của tham số đó thành
true
.Nếu bạn đặt giá trị perf_disable thành
false
, thì tính năng Giám sát hiệu suất sẽ vẫn giữ nguyên bật.
Tắt tính năng thu thập dữ liệu tự động hoặc tuỳ chỉnh một cách riêng biệt
Bạn có thể thực hiện một số thay đổi đối với mã hiển thị ở trên và trong bảng điều khiển của Firebase để cho phép bạn tắt tất cả tính năng giám sát tự động (ngay lập tức) một cách riêng biệt với giám sát tuỳ chỉnh.
Thêm mã sau vào các câu lệnh
launchOptions
trong Phương thức thực thểapplication:didFinishLaunchingWithOptions:
(thay vì những gì được hiển thị ở trên cho cùng một phương thức thực thể):Swift
Lưu ý: Sản phẩm Firebase này không dùng được trên các mục tiêu macOS, Mac Catalyst, 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()
Objective-C
Lưu ý: Sản phẩm Firebase này không dùng được trên các mục tiêu macOS, Mac Catalyst, 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];
Hoàn thành các bước sau trong bảng điều khiển của Firebase:
- Để tắt tất cả tính năng giám sát tự động (sẵn sàng), hãy tạo một
perf_disable_auto trong dự án của ứng dụng của bạn, sau đó đặt tham số
thành
true
. - Để tắt tất cả tính năng giám sát tuỳ chỉnh, hãy tạo một perf_disable_manual
trong dự án của ứng dụng, sau đó đặt giá trị của tham số đó thành
true
.
- Để tắt tất cả tính năng giám sát tự động (sẵn sàng), hãy tạo một
perf_disable_auto trong dự án của ứng dụng của bạn, sau đó đặt tham số
thành