| בחירת פלטפורמה: | iOS+ Android אינטרנט Flutter Unity C++ |
אתם יכולים להשתמש בהגדרת תצורה מרחוק ב-Firebase כדי להגדיר פרמטרים באפליקציה ולעדכן את הערכים שלהם בענן. כך אתם יכולים לשנות את המראה וההתנהגות של האפליקציה בלי להפיץ עדכון לאפליקציה. במדריך הזה נסביר איך להתחיל לעבוד עם ה-API ונציג כמה דוגמאות קוד.
שלב 1: מוסיפים לאפליקציה את Firebase ואת ה-SDK של הגדרת התצורה מרחוק
אם עדיין לא עשיתם זאת, התקינו והפעילו את ערכות ה-SDK של Firebase ל-Flutter.
צריך להשתמש ב-Google Analytics עבור הגדרת התצורה מרחוק, כדי להגדיר טירגוט מותנה של מופעי האפליקציה למאפייני משתמשים וקהלים. חשוב להפעיל את Google Analytics בפרויקט.
מתיקיית השורש של פרויקט Flutter, מריצים את הפקודה הבאה כדי להתקין את הפלאגין של הגדרת התצורה מרחוק:
flutter pub add firebase_remote_configבנוסף, כחלק מהגדרת התצורה מרחוק, צריך להוסיף לאפליקציה את Firebase SDK for Google Analytics:
flutter pub add firebase_analyticsבונים מחדש את הפרויקט:
flutter runאם אתם משתמשים בהגדרת תצורה מרחוק ב-macOS, הפעילו את Keychain Sharing ב-Xcode.
שלב 2: משיגים את אובייקט singleton של הגדרת התצורה מרחוק
משיגים מופע של אובייקט הגדרת תצוגה מרחוק ומגדירים מרווח זמן מינימלי לאחזור כדי לאפשר למערכת לבצע רענון בתדירות גבוהה:
final remoteConfig = FirebaseRemoteConfig.instance;
await remoteConfig.setConfigSettings(RemoteConfigSettings(
fetchTimeout: const Duration(minutes: 1),
minimumFetchInterval: const Duration(hours: 1),
));
אובייקט ה-singleton משמש לאחסון ערכי פרמטרים שמוגדרים כברירת מחדל באפליקציה, לאחזור ערכי פרמטרים מעודכנים מה-backend ולשליטה במועד שבו הערכים שאוחזרו יהיו זמינים לאפליקציה.
במהלך הפיתוח, מומלץ להגדיר מרווח אחזור מינימלי נמוך יחסית. מידע נוסף זמין בקטע ויסות נתונים.
שלב 3: מגדירים ערכי פרמטרים כברירת מחדל בתוך האפליקציה
אתם יכולים להגדיר ערכי פרמטרים כברירת מחדל באפליקציה באובייקט הגדרת התצורה מרחוק, כדי שהאפליקציה תפעל כמתוכנן לפני שהיא מתחברת לקצה העורפי של הגדרת התצורה מרחוק, וכדי שערכי ברירת המחדל יהיו זמינים אם לא הוגדרו ערכים בקצה העורפי.
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.
במסוף Firebase, עוברים אל DevOps & Engagement (DevOps ומעורבות) > Remote Config (הגדרת תצורה מרחוק).
מגדירים פרמטרים עם שמות זהים לאלה של הפרמטרים שהגדרתם באפליקציה. לכל פרמטר אפשר להגדיר ערך ברירת מחדל (שבסופו של דבר יחליף את ערך ברירת המחדל התואם באפליקציה), ואפשר גם להגדיר ערכים מותנים. מידע נוסף זמין במאמר פרמטרים ותנאים של הגדרת תצורה מרחוק.
שלב 6: מאחזרים ומפעילים את הערכים
כדי לאחזר ערכי פרמטרים מהקצה העורפי של הגדרת התצורה מרחוק, צריך להפעיל את השיטה
fetch(). כל הערכים שאתם מגדירים בקצה העורפי מאוחזרים ונשמרים באובייקט הגדרת התצורה מרחוק.כדי שערכי הפרמטרים שאוחזרו יהיו זמינים לאפליקציה, צריך להפעיל את השיטה
activate().אם רוצים לאחזר ולהפעיל ערכים בקריאה אחת, אפשר להשתמש בבקשת
fetchAndActivate()כדי לאחזר ערכים מהקצה העורפי של הגדרת התצורה מרחוק ולהפוך אותם לזמינים לאפליקציה:await remoteConfig.fetchAndActivate();
ערכי הפרמטרים המעודכנים האלה משפיעים על ההתנהגות והמראה של האפליקציה, לכן כדאי להפעיל את הערכים שאוחזרו בזמן שיבטיח חוויית משתמש חלקה, למשל בפעם הבאה שהמשתמש יפתח את האפליקציה. מידע נוסף ודוגמאות זמינים במאמר אסטרטגיות טעינה של הגדרת תצורה מרחוק.
שלב 7: האזנה לעדכונים בזמן אמת
אחרי שמאחזרים את ערכי הפרמטרים, אפשר להשתמש בהגדרת תצורה מרחוק בזמן אמת כדי להאזין לעדכונים מהקצה העורפי של הגדרת התצורה מרחוק. התכונה "הגדרת תצורה מרחוק בזמן אמת" שולחת אותות למכשירים מחוברים כשיש עדכונים זמינים, ומאחזרת באופן אוטומטי את השינויים אחרי שמפרסמים גרסה חדשה של הגדרת התצורה מרחוק.
שימו לב: הגדרת תצורה מרחוק בזמן אמת לא זמינה באינטרנט.
באפליקציה, משתמשים ב-
onConfigUpdatedכדי להתחיל להאזין לעדכונים ולאחזר באופן אוטומטי ערכי פרמטרים חדשים.remoteConfig.onConfigUpdated.listen((event) async { await remoteConfig.activate(); // Use the new config values here. });בפעם הבאה שתפרסמו גרסה חדשה של הגדרת התצורה מרחוק, מכשירים שמריצים את האפליקציה ומאזינים לשינויים יפעילו את ההגדרה החדשה.
ויסות נתונים (throttle)
אם אפליקציה מבצעת יותר מדי אחזורים בפרק זמן קצר, קריאות האחזור יוגבלו והערך של המאפיין lastFetchStatus של FirebaseRemoteConfig יהיה RemoteConfigFetchStatus.throttle.
מרווח האחזור המינימלי שמוגדר כברירת מחדל להגדרת תצורה מרחוק הוא 12 שעות. כלומר, המערכת לא תאחזר הגדרות מה-backend יותר מפעם אחת בחלון של 12 שעות, בלי קשר למספר קריאות האחזור שבוצעו בפועל.
במהלך פיתוח האפליקציה, אם אתם לא משתמשים בהגדרת תצורה מרחוק בזמן אמת (אנחנו ממליצים להשתמש בה), יכול להיות שתרצו לאחזר ולהפעיל הגדרות תצורה בתדירות גבוהה מאוד (הרבה פעמים בשעה) כדי שתוכלו לבצע איטרציות במהירות בזמן הפיתוח והבדיקה של האפליקציה. כדי לאפשר איטרציה מהירה בפרויקט עם עד 10 מפתחים, אתם יכולים להגדיר באופן זמני מרווח אחזור מינימלי נמוך באמצעות setConfigSettings().
final remoteConfig = FirebaseRemoteConfig.instance;
await remoteConfig.setConfigSettings(RemoteConfigSettings(
fetchTimeout: const Duration(minutes: 1),
minimumFetchInterval: const Duration(minutes: 5),
));