Firebase की परफ़ॉर्मेंस मॉनिटर करने की सुविधा बंद करें

अपने उपयोगकर्ताओं को Firebase परफ़ॉर्मेंस मॉनिटर करने की सुविधा का इस्तेमाल करने से ऑप्ट-इन या ऑप्ट-आउट करने की सुविधा देने के लिए, हो सकता है कि आप अपना ऐप्लिकेशन कॉन्फ़िगर करना चाहें, ताकि आप परफ़ॉर्मेंस मॉनिटर करने की सुविधा को चालू और बंद कर सकें. ऐप्लिकेशन डेवलपमेंट और टेस्टिंग के दौरान भी आपको यह क्षमता काम की लग सकती है.

यहां दिए गए कुछ विकल्प को ध्यान में रखा जा सकता है:

  • अपना ऐप्लिकेशन बनाते समय, परफ़ॉर्मेंस मॉनिटर करने वाले SDK टूल को बंद किया जा सकता है. आपके पास इसे रनटाइम के दौरान फिर से चालू करने का विकल्प भी होता है.

  • ऐप्लिकेशन को परफ़ॉर्मेंस मॉनिटर करने वाले SDK टूल की मदद से बनाया जा सकता है. हालांकि, Firebase रिमोट कॉन्फ़िगरेशन का इस्तेमाल करके इसे रनटाइम के दौरान बंद भी किया जा सकता है.

  • आपके पास परफ़ॉर्मेंस मॉनिटर करने वाले SDK टूल को हमेशा के लिए बंद करने का विकल्प है. इसके अलावा, रनटाइम के दौरान इसे चालू करने का कोई विकल्प भी नहीं होता.

ऐप्लिकेशन बनाने की प्रोसेस के दौरान परफ़ॉर्मेंस मॉनिटर करने की सुविधा बंद करें

अपने ऐप्लिकेशन की बिल्ड प्रोसेस के दौरान परफ़ॉर्मेंस मॉनिटर करने की सुविधा को बंद करने से, यह सुविधा काम आ सकती है कि ऐप्लिकेशन डेवलपमेंट और जांच के दौरान, अपने ऐप्लिकेशन के रिलीज़ से पहले वाले वर्शन से परफ़ॉर्मेंस डेटा रिपोर्ट न किया जाए.

परफ़ॉर्मेंस मॉनिटर करने की सुविधा को बंद या बंद करने के लिए, अपने Apple ऐप्लिकेशन के लिए प्रॉपर्टी की सूची वाली फ़ाइल (Info.plist) में, दो में से कोई एक कुंजी जोड़ी जा सकती है:

  • परफ़ॉर्मेंस मॉनिटर करने की सुविधा को बंद करने और अपने ऐप्लिकेशन को रनटाइम के दौरान इसे चालू करने की अनुमति देने के लिए, अपने ऐप्लिकेशन की Info.plist फ़ाइल में firebase_performance_collection_enabled को false पर सेट करें.

  • अगर परफ़ॉर्मेंस मॉनिटर करने की सुविधा को पूरी तरह से बंद करना है और रनटाइम के दौरान इसे चालू करने का कोई विकल्प नहीं है, तो अपने ऐप्लिकेशन की Info.plist फ़ाइल में firebase_performance_collection_deactivated को true पर सेट करें.

रिमोट कॉन्फ़िगरेशन का इस्तेमाल करके, रनटाइम के दौरान अपना ऐप्लिकेशन बंद करें

Firebase रिमोट कॉन्फ़िगरेशन की मदद से अपने ऐप्लिकेशन के काम करने के तरीके और लुक में बदलाव किए जा सकते हैं. इससे, ऐप्लिकेशन के डिप्लॉय किए गए इंस्टेंस में परफ़ॉर्मेंस मॉनिटर करने की सुविधा को बंद करने का बेहतर तरीका मिल जाता है.

अगली बार Apple ऐप्लिकेशन के चालू होने पर, परफ़ॉर्मेंस मॉनिटर करने से जुड़ा डेटा इकट्ठा करने की सुविधा बंद करने के लिए, नीचे दिए गए उदाहरण के कोड का इस्तेमाल करें. Apple ऐप्लिकेशन में रिमोट कॉन्फ़िगरेशन इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, Apple प्लैटफ़ॉर्म पर Firebase रिमोट कॉन्फ़िगरेशन इस्तेमाल करना लेख पढ़ें.

  1. पक्का करें कि आपके Podfile में रिमोट कॉन्फ़िगरेशन का इस्तेमाल किया गया हो:

    pod 'Firebase/RemoteConfig'
    
  2. अपने ऐप्लिकेशन की AppDelegate फ़ाइल में सबसे ऊपर यह जोड़ें:

    Swift

    ध्यान दें: Firebase का यह प्रॉडक्ट, macOS, Mac Catalyst, औरwatchOS टारगेट पर उपलब्ध नहीं है.
    import FirebaseRemoteConfig
    

    Objective-C

    ध्यान दें: Firebase का यह प्रॉडक्ट, macOS, Mac Catalyst, औरwatchOS टारगेट पर उपलब्ध नहीं है.
    @import FirebaseRemoteConfig;
    
  3. अपनी AppDelegate फ़ाइल में, application:didFinishLaunchingWithOptions: इंस्टेंस तरीके में launchOptions स्टेटमेंट में यह कोड जोड़ें:

    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()
    

    Objective-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 या आपके ऐप्लिकेशन के लिए इस्तेमाल की जाने वाली किसी दूसरी फ़ाइल में, रिमोट कॉन्फ़िगरेशन की वैल्यू को फ़ेच और चालू करने के लिए, यह कोड जोड़ें:

    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)")
      }
    }
    

    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);
      }
    }];
    
  5. Firebase कंसोल में, परफ़ॉर्मेंस मॉनिटर करने की सुविधा बंद करने के लिए, अपने ऐप्लिकेशन के प्रोजेक्ट में perf_disable पैरामीटर बनाएं. इसके बाद, इसकी वैल्यू true पर सेट करें.

    अगर perf_disable वैल्यू को false पर सेट किया जाता है, तो परफ़ॉर्मेंस मॉनिटर करने की सुविधा चालू रहती है.

अपने-आप या कस्टम डेटा इकट्ठा करने की सुविधा को अलग-अलग बंद करना

ऊपर और Firebase कंसोल में दिखाए गए कोड में कुछ बदलाव किए जा सकते हैं. इससे कस्टम मॉनिटरिंग की सुविधा को अलग से बंद करके, ऑटोमैटिक (पहले से अलग) वाली मॉनिटरिंग की सुविधा बंद की जा सकती है.

  1. application:didFinishLaunchingWithOptions: इंस्टेंस वाले तरीके में launchOptions स्टेटमेंट में, नीचे दिया गया कोड जोड़ें (इसके बजाय कि इसी इंस्टेंस तरीके के लिए ऊपर जो कोड दिखाया गया है उसे जोड़ें):

    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()
    

    Objective-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 पर सेट करें.