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

Nonaktifkan Pemantauan Kinerja Firebase

Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.

Untuk mengizinkan pengguna Anda memilih atau tidak menggunakan Firebase Performance Monitoring, Anda mungkin ingin mengonfigurasi aplikasi Anda sehingga Anda dapat mengaktifkan dan menonaktifkan Performance Monitoring. Anda mungkin juga menemukan kemampuan ini berguna selama pengembangan dan pengujian aplikasi.

Berikut ini adalah beberapa opsi untuk dipertimbangkan:

  • Anda dapat menonaktifkan Performance Monitoring SDK saat membuat aplikasi, dengan opsi untuk mengaktifkannya kembali saat runtime.

  • Anda dapat membuat aplikasi dengan Performance Monitoring SDK diaktifkan, tetapi memiliki opsi untuk menonaktifkannya saat runtime menggunakan Firebase Remote Config.

  • Anda dapat sepenuhnya menonaktifkan Performance Monitoring SDK, tanpa opsi untuk mengaktifkannya saat runtime.

Nonaktifkan Pemantauan Kinerja selama proses pembuatan aplikasi Anda

Satu situasi di mana penonaktifan Performance Monitoring selama proses pembuatan aplikasi dapat berguna adalah untuk menghindari pelaporan data kinerja dari versi pra-rilis aplikasi Anda selama pengembangan dan pengujian aplikasi.

Untuk menonaktifkan atau menonaktifkan Performance Monitoring, Anda dapat menambahkan salah satu dari dua kunci ke file daftar properti ( Info.plist ) untuk aplikasi Apple Anda:

  • Untuk menonaktifkan Performance Monitoring, tetapi mengizinkan aplikasi Anda untuk mengaktifkannya saat runtime, setel firebase_performance_collection_enabled ke false di file Info.plist aplikasi Anda.

  • Untuk menonaktifkan Performance Monitoring sepenuhnya, tanpa opsi untuk mengaktifkannya saat runtime, setel firebase_performance_collection_deactivated ke true di file Info.plist aplikasi Anda.

Nonaktifkan aplikasi Anda saat runtime menggunakan Remote Config

Firebase Remote Config memungkinkan Anda membuat perubahan pada perilaku dan tampilan aplikasi Anda, jadi ini menyediakan cara yang ideal untuk memungkinkan Anda menonaktifkan Performance Monitoring dalam instance aplikasi yang diterapkan.

Untuk menonaktifkan pengumpulan data Performance Monitoring saat berikutnya aplikasi Apple Anda dimulai, gunakan kode contoh yang ditunjukkan di bawah ini. Untuk informasi selengkapnya tentang menggunakan Remote Config di aplikasi Apple, lihat Menggunakan Firebase Remote Config di platform Apple .

  1. Pastikan bahwa Remote Config digunakan di Podfile Anda :

    pod 'Firebase/RemoteConfig'
    
  2. Tambahkan yang berikut ini ke bagian atas file AppDelegate aplikasi Anda:

    Cepat

    Catatan: Produk Firebase ini tidak tersedia di macOS, Mac Catalyst, target watchOS.
    import FirebaseRemoteConfig
    

    Objective-C

    Catatan: Produk Firebase ini tidak tersedia di macOS, Mac Catalyst, target watchOS.
    @import FirebaseRemoteConfig;
    
  3. Di file AppDelegate Anda, tambahkan kode berikut ke pernyataan launchOptions di application:didFinishLaunchingWithOptions: metode instance:

    Cepat

    Catatan: Produk ini tidak tersedia di macOS, Mac Catalyst, target 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

    Catatan: Produk Firebase ini tidak tersedia di macOS, Mac Catalyst, target 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. Di ViewController.m , atau file implementasi lain yang digunakan oleh aplikasi Anda, tambahkan kode berikut untuk mengambil dan mengaktifkan nilai Remote Config:

    Cepat

    Catatan: Produk Firebase ini tidak tersedia di macOS, Mac Catalyst, target 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

    Catatan: Produk Firebase ini tidak tersedia di macOS, Mac Catalyst, target 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. Untuk menonaktifkan Performance Monitoring di Firebase console, buat parameter perf_disable di project aplikasi Anda, lalu setel nilainya ke true .

    Jika Anda menyetel nilai perf_disable ke false , Performance Monitoring tetap diaktifkan.

Nonaktifkan pengumpulan data otomatis atau khusus secara terpisah

Anda dapat membuat beberapa perubahan pada kode yang ditampilkan di atas dan di Firebase console untuk memungkinkan Anda menonaktifkan semua pemantauan otomatis (out-of-the-box) secara terpisah dari pemantauan khusus.

  1. Tambahkan kode berikut ke pernyataan launchOptions di application:didFinishLaunchingWithOptions: metode instance (bukan yang ditampilkan di atas untuk metode instance yang sama):

    Cepat

    Catatan: Produk Firebase ini tidak tersedia di macOS, Mac Catalyst, target 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

    Catatan: Produk Firebase ini tidak tersedia di macOS, Mac Catalyst, target 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. Selesaikan hal berikut di Firebase console:

    • Untuk menonaktifkan semua pemantauan otomatis (out-of-the-box), buat parameter perf_disable_auto di proyek aplikasi Anda, lalu setel nilainya ke true .
    • Untuk menonaktifkan semua pemantauan khusus, buat parameter perf_disable_manual di proyek aplikasi Anda, lalu setel nilainya ke true .