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