Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

השבת ניטור ביצועי Firebase

כדי לאפשר למשתמשים שלך להצטרף או לבטל את הסכמתך להשתמש ב- Firebase Performance Monitoring, ייתכן שתרצה להגדיר את האפליקציה שלך כך שתוכל להפעיל ולבטל את ניטור הביצועים. ייתכן שתמצא גם יכולת זו שימושית במהלך פיתוח ובדיקות אפליקציות.

להלן מספר אפשרויות שכדאי לשקול:

  • אתה יכול להשבית את SDK ניטור הביצועים בעת בניית האפליקציה שלך, עם אפשרות להפעיל אותה מחדש בזמן ריצה.

  • אתה יכול לבנות את האפליקציה שלך כאשר SDK ניטור ביצועים מופעל, אך יש לך אפשרות להשבית אותה בזמן ריצה באמצעות Firebase Config Remote.

  • אתה יכול לבטל לחלוטין את SDK ניטור הביצועים, ללא אפשרות להפעיל אותו בזמן ריצה.

השבת את ניטור הביצועים במהלך תהליך בניית האפליקציות שלך

מצב אחד בו השבתת ניטור ביצועים במהלך תהליך בניית האפליקציות שלך יכולה להיות שימושית היא להימנע מדיווח על נתוני ביצועים מגרסה מוקדמת של האפליקציה שלך במהלך פיתוח ובדיקת אפליקציות.

ניטור ביצועי להשבית או לבטל, אתה יכול להוסיף אחד משני מפתחות את קובץ רשימת הרכוש ( Info.plist ) עבור אפליקציית ה- iOS שלך:

  • ניטור ביצועי להשבית, אבל מרשה לאפליקציה שלך כדי להפעיל אותו בזמן ריצה, סט firebase_performance_collection_enabled כדי false ב באפליקציה Info.plist קובץ.

  • ניטור ביצועי שבת לחלוטין, ללא אפשרות להפעיל אותה בזמן הריצה, סט firebase_performance_collection_deactivated כדי true ב באפליקצית Info.plist קובץ.

השבת את האפליקציה שלך בזמן ריצה באמצעות Config Remote

תצורה מרחוק של Firebase מאפשרת לך לבצע שינויים בהתנהגות ובמראה האפליקציה שלך, כך שהיא מספקת דרך אידיאלית לאפשר לך להשבית את ניטור הביצועים במקרים הפרוסים של האפליקציה שלך.

כדי להשבית את איסוף נתוני ניטור הביצועים בפעם הבאה שאפליקציית iOS שלך תתחיל, השתמש בקוד הדוגמה המוצג להלן. לקבלת מידע נוסף אודות השימוש Config מרחוק באפליקציית iOS, לראות השתמש Firebase Config מרחוק על iOS .

  1. ודא מרחוק כי Config משמש שלך Podfile :

    pod 'Firebase/RemoteConfig'
    
  2. מוסיפים את הבאה לחלק העליון של האפליקציה שלכם AppDelegate הקובץ:

    מָהִיר

    import FirebaseRemoteConfig
    

    Objective-C

    @import FirebaseRemoteConfig;
    
  3. בשינה שלך AppDelegate הקובץ, להוסיף את הקוד הבא launchOptions הצהרות application:didFinishLaunchingWithOptions: השיטה למשל:

    מָהִיר

    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

    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 מרחוק:

    מָהִיר

    //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

    //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: שיטת למשל (במקום מה שמוצג למעלה עבור אותה שיטה למשל):

    מָהִיר

    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

    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-of-the-box) ניטור, ליצור פרמטר perf_disable_auto בפרויקט של האפליקציה שלך, אז לקבוע את ערכו ל true .
    • כדי להשבית את כל ניטור מותאם אישית, ליצור פרמטר perf_disable_manual בפרויקט של האפליקציה שלך, אז לקבוע את ערכו ל true .