เพื่อให้ผู้ใช้ของคุณเลือกหรือยกเลิกการใช้การตรวจสอบประสิทธิภาพ Firebase คุณอาจต้องกำหนดค่าแอปของคุณเพื่อให้สามารถเปิดและปิดใช้งานการตรวจสอบประสิทธิภาพได้ คุณอาจพบว่าความสามารถนี้มีประโยชน์ในระหว่างการพัฒนาและการทดสอบแอป
ต่อไปนี้เป็นตัวเลือกที่ควรพิจารณา:
คุณสามารถปิดใช้งาน SDK การตรวจสอบประสิทธิภาพได้เมื่อสร้างแอปของคุณ พร้อมตัวเลือกในการเปิดใช้อีกครั้งในขณะรันไทม์
คุณสามารถสร้างแอปโดยเปิดใช้ Performance Monitoring SDK ได้ แต่มีตัวเลือกในการปิดใช้ขณะรันไทม์โดยใช้ Firebase Remote Config
คุณสามารถปิดใช้งาน SDK การตรวจสอบประสิทธิภาพได้อย่างสมบูรณ์ โดยไม่มีตัวเลือกให้เปิดใช้งานในขณะรันไทม์
ปิดใช้งานการตรวจสอบประสิทธิภาพในระหว่างกระบวนการสร้างแอปของคุณ
สถานการณ์หนึ่งที่การปิดใช้งานการตรวจสอบประสิทธิภาพในระหว่างกระบวนการสร้างแอปของคุณอาจมีประโยชน์คือการหลีกเลี่ยงการรายงานข้อมูลประสิทธิภาพจากแอปเวอร์ชันก่อนเผยแพร่ในระหว่างการพัฒนาและการทดสอบแอป
หากต้องการปิดหรือปิดใช้งานการตรวจสอบประสิทธิภาพ คุณสามารถเพิ่มหนึ่งในสองคีย์ลงในไฟล์รายการคุณสมบัติ ( Info.plist
) สำหรับแอป Apple ของคุณ:
หากต้องการปิดใช้งานการตรวจสอบประสิทธิภาพ แต่อนุญาตให้แอปของคุณเปิดใช้งานขณะรันไทม์ ให้ตั้งค่า
firebase_performance_collection_enabled
เป็นfalse
ในไฟล์Info.plist
ของแอปหากต้องการปิดใช้งานการตรวจสอบประสิทธิภาพโดยสมบูรณ์โดยไม่มีตัวเลือกให้เปิดใช้งานขณะรันไทม์ ให้ตั้งค่า
firebase_performance_collection_deactivated
เป็นtrue
ในไฟล์Info.plist
ของแอป
ปิดใช้งานแอปของคุณขณะรันไทม์โดยใช้การกำหนดค่าระยะไกล
การกำหนดค่าระยะไกลของ Firebase ช่วยให้คุณเปลี่ยนแปลงลักษณะการทำงานและรูปลักษณ์ของแอปได้ ดังนั้นจึงเป็นวิธีที่เหมาะในการปิดใช้งานการตรวจสอบประสิทธิภาพในอินสแตนซ์ที่ปรับใช้ของแอปของคุณ
หากต้องการปิดใช้งานการรวบรวมข้อมูลการตรวจสอบประสิทธิภาพในครั้งถัดไปที่แอป Apple ของคุณเริ่มทำงาน ให้ใช้โค้ดตัวอย่างที่แสดงด้านล่าง สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้การกำหนดค่าระยะไกลในแอป Apple โปรดดู ใช้การกำหนดค่าระยะไกลของ Firebase บนแพลตฟอร์มของ Apple
ตรวจสอบให้แน่ใจว่าใช้ Remote Config ใน
Podfile
ของคุณ:pod 'Firebase/RemoteConfig'
เพิ่มข้อมูลต่อไปนี้ที่ด้านบนของไฟล์
AppDelegate
ของแอปของคุณ:สวิฟท์
หมายเหตุ: ผลิตภัณฑ์ Firebase นี้ไม่พร้อมใช้งานบนเป้าหมาย macOS, Mac Catalyst, watchOSimport FirebaseRemoteConfig
วัตถุประสงค์-C
หมายเหตุ: ผลิตภัณฑ์ Firebase นี้ไม่พร้อมใช้งานบนเป้าหมาย macOS, Mac Catalyst, watchOS@import FirebaseRemoteConfig;
ในไฟล์
AppDelegate
ของคุณ ให้เพิ่มโค้ดต่อไปนี้ลงในคำสั่งlaunchOptions
ในapplication:didFinishLaunchingWithOptions:
instance method:สวิฟท์
หมายเหตุ: ผลิตภัณฑ์นี้ไม่สามารถใช้งานได้บนเป้าหมาย macOS, Mac Catalyst, watchOSremoteConfig = 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()
วัตถุประสงค์-C
หมายเหตุ: ผลิตภัณฑ์ Firebase นี้ไม่พร้อมใช้งานบนเป้าหมาย macOS, Mac Catalyst, watchOSself.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.m
หรือไฟล์การใช้งานอื่นที่แอปของคุณใช้ ให้เพิ่มโค้ดต่อไปนี้เพื่อดึงข้อมูลและเปิดใช้งานค่าการกำหนดค่าระยะไกล:สวิฟท์
หมายเหตุ: ผลิตภัณฑ์ Firebase นี้ไม่พร้อมใช้งานบนเป้าหมาย 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)") } }
วัตถุประสงค์-C
หมายเหตุ: ผลิตภัณฑ์ Firebase นี้ไม่พร้อมใช้งานบนเป้าหมาย 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); } }];
หากต้องการปิดใช้งานการตรวจสอบประสิทธิภาพในคอนโซล Firebase ให้สร้างพารามิเตอร์ perf_disable ในโปรเจ็กต์แอปของคุณ จากนั้นตั้งค่าเป็น
true
หากคุณตั้งค่า perf_disable เป็น
false
Performance Monitoring จะยังคงเปิดใช้งานอยู่
ปิดใช้การรวบรวมข้อมูลอัตโนมัติหรือแบบกำหนดเองแยกกัน
คุณสามารถเปลี่ยนแปลงโค้ดที่แสดงด้านบนและในคอนโซล Firebase เพื่อให้คุณสามารถปิดใช้การตรวจสอบอัตโนมัติ (นอกกรอบ) ทั้งหมดแยกจากการตรวจสอบแบบกำหนดเองได้
เพิ่มโค้ดต่อไปนี้ลงในคำสั่ง
launchOptions
ในapplication:didFinishLaunchingWithOptions:
วิธีการอินสแตนซ์ (แทนสิ่งที่แสดงไว้ด้านบนสำหรับวิธีการอินสแตนซ์เดียวกัน):สวิฟท์
หมายเหตุ: ผลิตภัณฑ์ Firebase นี้ไม่พร้อมใช้งานบนเป้าหมาย macOS, Mac Catalyst, watchOSremoteConfig = 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()
วัตถุประสงค์-C
หมายเหตุ: ผลิตภัณฑ์ Firebase นี้ไม่พร้อมใช้งานบนเป้าหมาย macOS, Mac Catalyst, watchOSself.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:
- หากต้องการปิดใช้งานการตรวจสอบอัตโนมัติทั้งหมด (นอกกรอบ) ให้สร้างพารามิเตอร์ perf_disable_auto ในโปรเจ็กต์ของแอป จากนั้นตั้งค่าเป็น
true
- หากต้องการปิดใช้งานการตรวจสอบแบบกำหนดเองทั้งหมด ให้สร้างพารามิเตอร์ perf_disable_manual ในโปรเจ็กต์ของแอป จากนั้นตั้งค่าเป็น
true
- หากต้องการปิดใช้งานการตรวจสอบอัตโนมัติทั้งหมด (นอกกรอบ) ให้สร้างพารามิเตอร์ perf_disable_auto ในโปรเจ็กต์ของแอป จากนั้นตั้งค่าเป็น