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

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

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

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

  1. התקן את ה- SDK Firebase עבור פלטפורמות אפלות.

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

    מָהִיר

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

    Objective-C

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

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

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

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

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

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

מָהִיר

remoteConfig.setDefaults(fromPlist: "RemoteConfigDefaults")

Objective-C

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

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

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

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

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

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

אחזר והפעל ערכים

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

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

דוגמה זו מביאה ערכים מן backend 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()
}

Objective-C

[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];
}];

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

מצערת

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

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

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

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

הצעדים הבאים

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