Catch up on everthing we announced at this year's Firebase Summit. Learn more

ปิดใช้งานการตรวจสอบประสิทธิภาพ Firebase

หากต้องการให้ผู้ใช้เลือกเข้าร่วมหรือไม่ใช้ Firebase Performance Monitoring คุณอาจต้องกำหนดค่าแอปเพื่อให้เปิดและปิดใช้การตรวจสอบประสิทธิภาพได้ คุณอาจพบว่าความสามารถนี้มีประโยชน์ในระหว่างการพัฒนาและทดสอบแอป

ต่อไปนี้เป็นตัวเลือกที่ควรพิจารณา:

  • คุณสามารถปิดใช้งาน Performance Monitoring SDK เมื่อสร้างแอปของคุณ โดยมีตัวเลือกให้เปิดใช้งานอีกครั้งเมื่อรันไทม์

  • คุณสามารถสร้างแอปโดยเปิดใช้ Performance Monitoring SDK แต่มีตัวเลือกในการปิดใช้ในขณะใช้งานจริงโดยใช้ Firebase Remote Config

  • คุณสามารถปิดใช้งาน Performance Monitoring SDK ได้อย่างสมบูรณ์ โดยไม่มีตัวเลือกให้เปิดใช้งานในขณะใช้งานจริง

ปิดใช้งานการตรวจสอบประสิทธิภาพระหว่างกระบวนการสร้างแอปของคุณ

สถานการณ์หนึ่งที่การปิดใช้การตรวจสอบประสิทธิภาพระหว่างกระบวนการสร้างแอปอาจมีประโยชน์คือการหลีกเลี่ยงการรายงานข้อมูลประสิทธิภาพจากแอปเวอร์ชันก่อนเผยแพร่ในระหว่างการพัฒนาและทดสอบแอป

เพื่อปิดการใช้งานหรือปิดใช้งานการตรวจสอบประสิทธิภาพคุณสามารถเพิ่มหนึ่งในสองปุ่มไปยังแฟ้มรายการทรัพย์สิน ( Info.plist ) สำหรับแอปแอปเปิ้ลของคุณ:

  • ในการตรวจสอบประสิทธิภาพการปิดการใช้งาน แต่อนุญาตให้แอปของคุณเพื่อเปิดใช้งานได้ที่รันไทม์ชุด firebase_performance_collection_enabled การ false ในแอปของคุณ Info.plist ไฟล์

  • ในการตรวจสอบประสิทธิภาพการปิดใช้งานอย่างสมบูรณ์ด้วยตัวเลือกที่จะเปิดใช้งานได้ที่รันไทม์ไม่มีชุด firebase_performance_collection_deactivated จะ true ในแอปของคุณ Info.plist ไฟล์

ปิดใช้งานแอปของคุณขณะใช้งานจริงโดยใช้ Remote Config

การกำหนดค่าระยะไกลของ Firebase ช่วยให้คุณเปลี่ยนแปลงลักษณะการทำงานและรูปลักษณ์ของแอปได้ ดังนั้นจึงเป็นวิธีที่เหมาะเป็นอย่างยิ่งในการปิดใช้การตรวจสอบประสิทธิภาพในอินสแตนซ์ที่ปรับใช้แอปของคุณ

หากต้องการปิดใช้งานการรวบรวมข้อมูลการตรวจสอบประสิทธิภาพในครั้งถัดไปที่แอป Apple ของคุณเริ่มทำงาน ให้ใช้โค้ดตัวอย่างที่แสดงด้านล่าง สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้รีโมทในการกำหนดค่าแอปแอปเปิ้ลให้ดู การใช้งานระยะไกล Firebase Config บนแพลตฟอร์มแอปเปิ้ล

  1. ตรวจสอบให้แน่ใจระยะไกลที่ Config จะใช้ในการของคุณ Podfile :

    pod 'Firebase/RemoteConfig'
    
  2. เพิ่มต่อไปนี้ไปยังด้านบนของ app ของคุณ AppDelegate ไฟล์:

    Swift

    หมายเหตุ: สินค้า Firebase นี้ไม่สามารถใช้ได้กับ MacOS, Mac Catalyst เป้าหมาย watchOS
    import FirebaseRemoteConfig
    

    วัตถุประสงค์-C

    หมายเหตุ: สินค้า Firebase นี้ไม่สามารถใช้ได้กับ MacOS, Mac Catalyst เป้าหมาย watchOS
    @import FirebaseRemoteConfig;
    
  3. ในของคุณ AppDelegate ไฟล์เพิ่มรหัสต่อไปนี้ไป launchOptions งบใน application:didFinishLaunchingWithOptions: วิธีการเช่น:

    Swift

    หมายเหตุ: ผลิตภัณฑ์นี้ไม่สามารถใช้ได้กับ 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()
    

    วัตถุประสงค์-C

    หมายเหตุ: สินค้า Firebase นี้ไม่สามารถใช้ได้กับ 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];
    
  4. ใน ViewController.m หรือแฟ้มการดำเนินการอื่นที่ใช้โดยแอปของคุณเพิ่มรหัสต่อไปนี้เพื่อดึงข้อมูลและเปิดใช้งานค่า Config ระยะไกล:

    Swift

    หมายเหตุ: สินค้า 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);
      }
    }];
    
  5. เพื่อปิดการใช้งานการตรวจสอบใน Firebase คอนโซลประสิทธิภาพสร้างพารามิเตอร์ perf_disable ในโครงการของแอปแล้วตั้งค่าเป็น true

    ถ้าคุณตั้งค่าของ perf_disable เพื่อ false , การตรวจสอบประสิทธิภาพยังคงเปิดใช้งาน

ปิดใช้งานการรวบรวมข้อมูลอัตโนมัติหรือแบบกำหนดเองต่างหาก

คุณสามารถเปลี่ยนแปลงโค้ดที่แสดงด้านบนและในคอนโซล Firebase เพื่อให้คุณสามารถปิดใช้งานการตรวจสอบอัตโนมัติ (นอกกรอบ) ทั้งหมดแยกจากการตรวจสอบแบบกำหนดเองได้

  1. เพิ่มรหัสต่อไปนี้ไป launchOptions งบใน application:didFinishLaunchingWithOptions: วิธีการเช่น (แทนที่จะเป็นสิ่งที่แสดงให้เห็นข้างต้นสำหรับวิธีการเช่นเดียวกัน):

    Swift

    หมายเหตุ: สินค้า Firebase นี้ไม่สามารถใช้ได้กับ 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()
    

    วัตถุประสงค์-C

    หมายเหตุ: สินค้า Firebase นี้ไม่สามารถใช้ได้กับ 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];
    
  2. ดำเนินการต่อไปนี้ในคอนโซล Firebase:

    • การปิดใช้งานโดยอัตโนมัติทั้งหมด (out-the-box) ตรวจสอบการสร้างพารามิเตอร์ perf_disable_auto ในโครงการของแอปแล้วตั้งค่าเป็น true
    • การปิดใช้งานการตรวจสอบที่กำหนดเองทั้งหมดสร้างพารามิเตอร์ perf_disable_manual ในโครงการของแอปแล้วตั้งค่าเป็น true