התחל עם Firebase Remote Config


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

שלב 1: הוסף את Firebase ואת ה-Remote Config SDK לאפליקציה שלך

  1. התקן ואתחל את ערכות ה-SDK של Firebase עבור Flutter אם עדיין לא עשית זאת.

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

  3. מספריית השורש של פרויקט Flutter שלך, הפעל את הפקודה הבאה כדי להתקין את התוסף Remote Config:

    flutter pub add firebase_remote_config
    

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

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

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

שלב 2: קבל את אובייקט ה-Remote Config Singleton

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

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

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

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

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

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

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

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

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

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

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

שלב 5: הגדר ערכי פרמטרים ב-Remote Config Backend

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

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

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

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

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

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

    await remoteConfig.fetchAndActivate();
    

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

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

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

שים לב ש-Remote Config בזמן אמת אינו זמין עבור האינטרנט.

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

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

מצערת

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

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

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

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

הצעדים הבאים

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