אסטרטגיות טעינה של הגדרת תצורה מרחוק ב-Firebase

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

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

אסטרטגיה 1: אחזור והפעלה בזמן הטעינה

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

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

אסטרטגיה 2: הפעלה מאחורי מסך הטעינה

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

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

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

אסטרטגיה 3: טוענים ערכים חדשים להפעלה הבאה

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

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

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

טעינה של אסטרטגיות נגד

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

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

השלבים הבאים

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

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