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 של קונפיג 'מרחוק, וכך ערכי ברירת מחדל יהיו זמינים אם אף אחד לא מוגדר בתוכנה האחורית.

  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 ) באפליקציה שלך.

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

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

הצעדים הבאים

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