Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

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

จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ

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

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

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

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

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

ตัวยึดตำแหน่ง46

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

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

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

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

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

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

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

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

  1. ตรวจสอบให้แน่ใจว่ามีการใช้ Remote Config ใน Podfile ของคุณ:

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

    Swift

    หมายเหตุ: ผลิตภัณฑ์ Firebase นี้ไม่มีใน macOS, Mac Catalyst, watchOS
    import FirebaseRemoteConfig
    

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

    หมายเหตุ: ผลิตภัณฑ์ Firebase นี้ไม่มีใน macOS, Mac Catalyst, watchOS
    @import FirebaseRemoteConfig;
    
  3. ในไฟล์ AppDelegate ของคุณ ให้เพิ่มโค้ดต่อไปนี้ในคำสั่ง launchOptions ใน application:didFinishLaunchingWithOptions: instance method:

    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 หรือไฟล์การใช้งานอื่นที่แอปของคุณใช้ ให้เพิ่มโค้ดต่อไปนี้เพื่อดึงและเปิดใช้งานค่า Remote 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. หากต้องการปิดใช้งาน Performance Monitoring ในคอนโซล Firebase ให้สร้างพารามิเตอร์ perf_disable ในโครงการของแอป จากนั้นตั้งค่า true

    หากคุณตั้งค่า perf_disable false การมอนิเตอร์ประสิทธิภาพจะยังคงเปิดใช้งานอยู่

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

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

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

    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:

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