תחילת העבודה עם הגדרת תצורה מרחוק ב-Firebase


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

שלב 1: מוסיפים את Firebase ואת ה-SDK של הגדרת התצורה מרחוק לאפליקציה

  1. מתקינים ומפעילים את ערכות Firebase SDK של Flutter, אם עדיין לא עשו זאת.

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

  3. בתיקיית השורש של פרויקט Flutter, מריצים את הפקודה הבאה כדי להתקין את הפלאגין של הגדרת התצורה מרחוק:

    flutter pub add firebase_remote_config
    

    בנוסף, כחלק מההגדרה של הגדרת התצורה מרחוק, צריך להוסיף את Firebase SDK של Google Analytics לאפליקציה:

    flutter pub add firebase_analytics
    
  4. בונים מחדש את הפרויקט:

    flutter run
    
  5. אם אתם משתמשים ב-Remote Config ב-macOS, צריך להפעיל את שיתוף צרור המפתחות ב-Xcode.

שלב 2: אחזור של אובייקט ה-singleton של הגדרת התצורה מרחוק

משיגים מופע של אובייקט הגדרת תצורה מרחוק ומגדירים את מרווח זמן מינימלי לאחזור שמאפשר לבצע רענון בתדירות גבוהה:

final remoteConfig = FirebaseRemoteConfig.instance;
await remoteConfig.setConfigSettings(RemoteConfigSettings(
    fetchTimeout: const Duration(minutes: 1),
    minimumFetchInterval: const Duration(hours: 1),
));

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

במהלך הפיתוח, מומלץ להגדיר מרווח אחזור מינימלי נמוך יחסית. מידע נוסף זמין במאמר ויסות נתונים (throttle).

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

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

await remoteConfig.setDefaults(const {
    "example_param_1": 42,
    "example_param_2": 3.14159,
    "example_param_3": true,
    "example_param_4": "Hello, world!",
});

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

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

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

  • getBool()
  • getDouble()
  • getInt()
  • getString()

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

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

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

שלב 6: מאחזרים ומפעילים ערכים

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

  2. כדי שערכי הפרמטרים שאוחזרו יהיו זמינים לאפליקציה, צריך להפעיל את השיטה activate().

    במקרים שבהם רוצים לאחזר ולהפעיל ערכים בקריאה אחת, אפשר להשתמש בבקשה fetchAndActivate() כדי לאחזר ערכים מקצה העורפי של הגדרת התצורה מרחוק ולהפוך אותם לזמינים לאפליקציה:

    await remoteConfig.fetchAndActivate();
    

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

שלב 7: האזנה לעדכונים בזמן אמת

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

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

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

     remoteConfig.onConfigUpdated.listen((event) async {
       await remoteConfig.activate();
    
       // Use the new config values here.
     });
    
  2. בפעם הבאה שתפרסמו גרסה חדשה של הגדרת התצורה מרחוק, המכשירים שפועלת בהם האפליקציה ומקשיבים לשינויים יפעילו את ההגדרה החדשה.

ויסות נתונים (throttle)

אם אפליקציה מבצעת אחזור פעמים רבות מדי בפרק זמן קצר, קריאות האחזור יוגבלו והערך של המאפיין lastFetchStatus של FirebaseRemoteConfig יהיה RemoteConfigFetchStatus.throttle.

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

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

final remoteConfig = FirebaseRemoteConfig.instance;
await remoteConfig.setConfigSettings(RemoteConfigSettings(
    fetchTimeout: const Duration(minutes: 1),
    minimumFetchInterval: const Duration(minutes: 5),
));

השלבים הבאים

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