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

הוסף אפליקציית Config Remote

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

  2. צור את האובייקט Singleton 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;

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

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

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

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

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

מָהִיר

remoteConfig.setDefaults(fromPlist: "RemoteConfigDefaults")

Objective-C

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

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

כעת תוכל לקבל ערכי פרמטרים מהאובייקט Config Remote. אם מאוחר יותר תגדיר ערכים במערך האחורי של הגדרות מרוחקות, תביא אותם ולאחר מכן תפעיל אותם, ערכים אלה יהיו זמינים לאפליקציה שלך. אחרת, אתה מקבל את ערכי הפרמטרים בתוך אפליקציה מוגדר באמצעות 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 שעות, מה שאומר ש- configs לא ייאספו מה- backend יותר מפעם אחת בחלון של 12 שעות, ללא קשר לכמה שיחות אחזור שמתבצעות בפועל. באופן ספציפי, מרווח הבקשות המינימלי נקבע בסדר הבא:

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

הצעדים הבאים

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