Check out what’s new from Firebase@ Google I/O 2021, and join our alpha program for early access to the new Remote Config personalization feature. Learn more

התחל בעבודה עם תצורה מרחוק של Firebase

אתה יכול להשתמש ב- Firebase Remote Config כדי להגדיר פרמטרים באפליקציה שלך ולעדכן את הערכים שלהם בענן, ומאפשר לך לשנות את המראה וההתנהגות של האפליקציה שלך מבלי להפיץ עדכון אפליקציה. מדריך זה מנחה את השלבים להתחלה ומספק קוד לדוגמא כלשהו, ​​שכולם זמינים לשיבוט או להורדה ממאגר GitHub של firebase / quickstart-ios .

הוסף תצורה מרחוק לאפליקציה שלך

  1. התקן את ה- SDK של Firebase עבור iOS.

  2. צור את אובייקט ה- Config Remote מרחוק, כפי שמוצג בדוגמה הבאה:

    מָהִיר

    remoteConfig = RemoteConfig.remoteConfig()
    let settings = RemoteConfigSettings()
    settings.minimumFetchInterval = 0
    remoteConfig.configSettings = settings

    מטרה-ג

    self.remoteConfig = [FIRRemoteConfig remoteConfig];
    FIRRemoteConfigSettings *remoteConfigSettings = [[FIRRemoteConfigSettings alloc] init];
    remoteConfigSettings.minimumFetchInterval = 0;
    self.remoteConfig.configSettings = remoteConfigSettings;

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

במהלך הפיתוח, מומלץ להגדיר מרווח אחזור מינימלי נמוך יחסית. לקבלת מידע נוסף, עיין במצערת .

הגדר ערכי פרמטרים המוגדרים כברירת מחדל באפליקציה

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

  1. הגדר קבוצה של שמות פרמטרים וערכי ברירת מחדל של פרמטרים באמצעות אובייקט NSDictionary או קובץ plist .
  2. הוסף ערכים אלה לאובייקט Config מרחוק באמצעות setDefaults: הדוגמה הבאה מגדירה ערכי ברירת מחדל באפליקציה מקובץ plist:

מָהִיר

remoteConfig.setDefaults(fromPlist: "RemoteConfigDefaults")

מטרה-ג

[self.remoteConfig setDefaultsFromPlistFileName:@"RemoteConfigDefaults"];

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

עכשיו אתה יכול לקבל ערכי פרמטרים מהאובייקט Remote Config. אם מאוחר יותר תגדיר ערכים בתוכנה האחורית של תצורה מרחוק, תביא אותם ואז תפעיל אותם, ערכים אלה זמינים לאפליקציה שלך. אחרת, אתה מקבל את ערכי הפרמטר בתוך האפליקציה שהוגדרו באמצעות setDefaults: כדי לקבל ערכים אלה, התקשר configValueForKey: את מפתח הפרמטר כארגומנט.

הגדר ערכי פרמטר

באמצעות קונסולת Firebase או ממשקי ה- API של Backend Remote Config , אתה יכול ליצור ערכי ברירת מחדל של backend חדשים אשר עוקפים את הערכים בתוך האפליקציה על פי ההיגיון המותנה הרצוי שלך או מיקוד המשתמש. סעיף זה מנחה אותך בשלבי קונסולת Firebase ליצירת ערכים אלה.

  1. במסוף Firebase , פתח את הפרויקט שלך.
  2. בחר Config Remote מהתפריט כדי להציג את לוח המחוונים של Config Remote.
  3. הגדר פרמטרים עם אותם שמות כמו הפרמטרים שהגדרת באפליקציה שלך. עבור כל פרמטר, תוכלו להגדיר ערך ברירת מחדל (שבסופו של דבר יעקוף את ערך ברירת המחדל בתוך האפליקציה) ותוכלו גם להגדיר ערכים מותנים. למידע נוסף, ראה פרמטרים ותנאים להגדרת תצורה מרחוק .

להביא ולהפעיל ערכים

כדי להביא ערכי פרמטרים מ- Config מרחוק, התקשר ל- fetchWithCompletionHandler: או fetchWithExpirationDuration:completionHandler: השיטה. כל הערכים שהגדרת בתוכנה האחורית נאספים ושומרים במטמון באובייקט Config מרחוק.

במקרים בהם ברצונך להביא ולהפעיל ערכים בשיחה אחת, השתמש ב- fetchAndActivateWithCompletionHandler:

דוגמה זו מביאה ערכים מה- back-Config מרחוק (לא ערכים במטמון) והשיחות activateWithCompletionHandler: כדי להפוך אותם לזמינים לאפליקציה:

מָהִיר

remoteConfig.fetch() { (status, error) -> Void in
  if status == .success {
    print("Config fetched!")
    self.remoteConfig.activate() { (changed, error) in
      // ...
    }
  } else {
    print("Config not fetched")
    print("Error: \(error?.localizedDescription ?? "No error available.")")
  }
  self.displayWelcome()
}

מטרה-ג

[self.remoteConfig fetchWithCompletionHandler:^(FIRRemoteConfigFetchStatus status, NSError *error) {
    if (status == FIRRemoteConfigFetchStatusSuccess) {
        NSLog(@"Config fetched!");
      [self.remoteConfig activateWithCompletion:^(BOOL changed, NSError * _Nullable error) {
        // ...
      }];
    } else {
        NSLog(@"Config not fetched");
        NSLog(@"Error %@", error.localizedDescription);
    }
    [self displayWelcome];
}];

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

חנק

אם אפליקציה מחזירה פעמים רבות מדי בפרק זמן קצר, שיחות אחזור FIRRemoteConfigFetchStatusThrottled SDK מחזיר את FIRRemoteConfigFetchStatusThrottled . לפני SDK גרסה 6.3.0, המגבלה הייתה 5 בקשות אחזור בחלון של 60 דקות (בגרסאות החדשות יש מגבלות מותרות יותר).

במהלך פיתוח האפליקציה, ייתכן שתרצה לרענן את המטמון בתדירות גבוהה מאוד (פעמים בשעה) כדי לאפשר לך לחזור במהירות בזמן שאתה מפתח את האפליקציה שלך ובודקת אותה. כדי להתאים איטרציה מהירה בפרויקט עם מספר מפתחים, באפשרותך להוסיף מאפיין FIRRemoteConfigSettings באופן זמני עם מרווח אחזור מינימלי נמוך ( MinimumFetchInterval ) באפליקציה שלך.

מרווח האחזור להפקה המוגדר כברירת מחדל ומומלץ עבור תצורה מרחוק הוא 12 שעות, מה שאומר שהתצורות לא יועברו מהגב האחורי יותר מפעם אחת בחלון של 12 שעות, ללא קשר למספר שיחות האחזור שבוצעו. באופן ספציפי, מרווח האחזור המינימלי נקבע בסדר הבא:

  1. הפרמטר fetch(long)
  2. הפרמטר ב- FIRRemoteConfigSettings.MinimumFetchInterval
  3. ערך ברירת המחדל הוא 12 שעות

הצעדים הבאים

אם עדיין לא עשית זאת, חקור את מקרי השימוש ב- Remote Config, והסתכל בכמה ממושגי המפתח ותיעוד האסטרטגיות המתקדמות, כולל: