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

फायरबेस प्रदर्शन निगरानी अक्षम करें

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

विचार करने के लिए निम्नलिखित कुछ विकल्प हैं:

  • आप अपना ऐप बनाते समय प्रदर्शन निगरानी एसडीके को अक्षम कर सकते हैं, इसे रनटाइम पर फिर से सक्षम करने के विकल्प के साथ।

  • आप सक्षम प्रदर्शन निगरानी एसडीके के साथ अपना ऐप बना सकते हैं लेकिन फायरबेस रिमोट कॉन्फिग का उपयोग करके इसे रनटाइम पर अक्षम करने का विकल्प है।

  • आप निष्पादन निगरानी एसडीके को पूरी तरह से निष्क्रिय कर सकते हैं, इसे रनटाइम पर सक्षम करने का कोई विकल्प नहीं है।

अपनी ऐप निर्माण प्रक्रिया के दौरान प्रदर्शन निगरानी अक्षम करें

एक स्थिति जहां आपके ऐप निर्माण प्रक्रिया के दौरान प्रदर्शन निगरानी को अक्षम करना उपयोगी हो सकता है, वह है ऐप डेवलपमेंट और परीक्षण के दौरान अपने ऐप के रिलीज़-पूर्व संस्करण से प्रदर्शन डेटा की रिपोर्ट करने से बचना।

अक्षम या निष्क्रिय प्रदर्शन की निगरानी के लिए, आपको संपत्ति सूची फ़ाइल (करने के लिए दो कुंजियों में से एक में जोड़ सकते हैं Info.plist अपने Apple अनुप्रयोग के लिए):

  • अक्षम प्रदर्शन की निगरानी करने के लिए, लेकिन अपने अनुप्रयोग रनटाइम पर इसे सक्षम करने के लिए अनुमति देते हैं, सेट firebase_performance_collection_enabled को false यदि आपके ऐप की में Info.plist फ़ाइल।

  • पूरी तरह से निष्क्रिय प्रदर्शन की निगरानी करने के लिए, क्रम में यह सक्षम करने के लिए विकल्प के साथ, सेट firebase_performance_collection_deactivated को true को अपने ऐप्लिकेशन के में Info.plist फ़ाइल।

रिमोट कॉन्फिग का उपयोग करके अपने ऐप को रनटाइम पर अक्षम करें

फायरबेस रिमोट कॉन्फिग आपको अपने ऐप के व्यवहार और उपस्थिति में बदलाव करने देता है, इसलिए यह आपको अपने ऐप के परिनियोजित इंस्टेंस में प्रदर्शन निगरानी को अक्षम करने का एक आदर्श तरीका प्रदान करता है।

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

  1. सुनिश्चित करें कि रिमोट कॉन्फ़िग अपने में प्रयोग किया जाता है Podfile :

    pod 'Firebase/RemoteConfig'
    
  2. यदि आपके ऐप की के शीर्ष करने के निम्नलिखित जोड़े AppDelegate फ़ाइल:

    तीव्र

    नोट: यह Firebase उत्पाद MacOS पर उपलब्ध नहीं है, मैक उत्प्रेरक, watchOS लक्ष्य।
    import FirebaseRemoteConfig
    

    उद्देश्य सी

    नोट: यह Firebase उत्पाद MacOS पर उपलब्ध नहीं है, मैक उत्प्रेरक, watchOS लक्ष्य।
    @import FirebaseRemoteConfig;
    
  3. अपने में AppDelegate फ़ाइल, के लिए निम्न कोड जोड़ने launchOptions में बयान application:didFinishLaunchingWithOptions: उदाहरण विधि:

    तीव्र

    ध्यान दें: यह उत्पाद MacOS पर उपलब्ध नहीं है, मैक उत्प्रेरक, 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()
    

    उद्देश्य सी

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

    तीव्र

    नोट: यह Firebase उत्पाद MacOS पर उपलब्ध नहीं है, मैक उत्प्रेरक, 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)")
      }
    }
    

    उद्देश्य सी

    नोट: यह Firebase उत्पाद MacOS पर उपलब्ध नहीं है, मैक उत्प्रेरक, 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 , प्रदर्शन की निगरानी अवशेष सक्षम होना चाहिए।

स्वचालित या कस्टम डेटा संग्रह को अलग से अक्षम करें

आप कस्टम मॉनिटरिंग से अलग से सभी स्वचालित (आउट-ऑफ-द-बॉक्स) मॉनिटरिंग को अक्षम करने के लिए ऊपर दिखाए गए कोड और फायरबेस कंसोल में कुछ बदलाव कर सकते हैं।

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

    तीव्र

    नोट: यह Firebase उत्पाद MacOS पर उपलब्ध नहीं है, मैक उत्प्रेरक, 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()
    

    उद्देश्य सी

    नोट: यह Firebase उत्पाद MacOS पर उपलब्ध नहीं है, मैक उत्प्रेरक, 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. फायरबेस कंसोल में निम्नलिखित को पूरा करें:

    • करने के लिए सभी स्वत: अपने मूल्य (आउट-ऑफ-द-बॉक्स) पर नज़र रखने, अपने ऐप के परियोजना में एक perf_disable_auto पैरामीटर बनाते हैं, तो अक्षम करने के लिए true
    • सभी कस्टम निगरानी अक्षम करने के लिए, अपने ऐप के परियोजना में एक perf_disable_manual पैरामीटर बनाते हैं, तो करने के लिए अपने मूल्य सेट true