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: טעינת ערכים חדשים להפעלה הבאה
אסטרטגיה יעילה היא לטעון ערכים חדשים של הגדרות כדי להפעיל אותם בפעם הבאה שהאפליקציה מופעלת. בשיטה הזו, האפליקציה מפעילה ערכים שאוחזרו בזמן ההפעלה לפני שהיא מנסה לאחזר ערכים חדשים, מתוך הנחה שאולי היא כבר אחזרה ערכים חדשים של הגדרות, אבל עדיין לא הפעילה אותם. סדר הפעולות של השיטה הזו הוא:
- בזמן ההפעלה, מפעילים באופן מיידי ערכים שאוחזרו בעבר. הפעולה הזו מחילה את כל הערכים שהורדתם מהשרת בסשן קודם, והיא מתבצעת כמעט באופן מיידי.
- בזמן שהמשתמש מבצע אינטראקציה עם האפליקציה, מפעילים קריאה אסינכררונית לאחזור ערכים חדשים בהתאם למרווח האחזור המינימלי שמוגדר כברירת מחדל, ומוסיפים מאזין לעדכוני תצורה בזמן אמת. המאזין בזמן אמת יגרוף באופן אוטומטי את כל הערכים שפורסמו בשרת בזמן שהאפליקציה פועלת. עדכונים בזמן אמת עוקפים את ההגדרה של מרווח האחזור המינימלי.
- בטיפול בהשלמה או בקריאה החוזרת (callback) של קריאת האחזור, לא מבצעים שום פעולה. האפליקציה תמשיך לשמור את הערכים שהורדתם עד שתפעילו אותם בפעם הבאה שהאפליקציה תופעל.
בעזרת האסטרטגיה הזו, משך ההמתנה של המשתמשים מצטמצם מאוד. שילוב של אסטרטגיות האחזור והאזנה בזמן אמת עם קריאות ל-activate()
לפי הצורך במחזור החיים של האפליקציה מבטיח שהמשתמשים יקבלו את הערכים העדכניים ביותר מ-Remote Config במהלך האינטראקציה שלהם עם האפליקציה.
טעינה של אסטרטגיות נגד
כפי שיכול להיות שהבנתם מהדיון שלמעלה על היתרונות והחסרונות של טעינת נתונים, יש כמה דפוסי שימוש שכדאי להימנע מהם.
- אל תשנו או תעדכנו היבטים של ממשק המשתמש בזמן שהמשתמש צופה בו או מבצע איתו פעולות – אלא אם יש לכם סיבות טובות לכך מבחינת האפליקציה או העסק, כמו הסרה של אפשרויות שקשורות למבצע שזה עתה הסתיים.
- אין לשלוח מספר גדול של בקשות אחזור בו-זמניות, כי הן עלולות לגרום לשרת לצמצם את קצב האפליקציה. אם אתם צריכים לאחזר עדכונים בתדירות גבוהה, השתמשו בזמן אמת Remote Config. הסיכון לכך נמוך ברוב התרחישים בסביבת הייצור, אבל הוא עלול להוות בעיה במהלך הפיתוח הפעיל. Remote Config בזמן אמת מיועד לתרחיש לדוגמה הזה. כדאי לעיין בהנחיות בנושא הגבלת קצב העברת הנתונים.
- אל תסתמכו על קישוריות לרשת כדי לקבל ערכים של Remote Config. צריך להגדיר ערכי ברירת מחדל של פרמטרים באפליקציה כדי שהאפליקציה תמיד תפעל כמצופה. מדי פעם אפשר לשמור על סנכרון בין ערכי ברירת המחדל של האפליקציה לבין ערכי ברירת המחדל של הקצה העורפי של Remote Config באמצעות ערכי ברירת מחדל של תבניות שהורדתם.
השלבים הבאים
שלוש האסטרטגיות הבסיסיות האלה לא מהוות רשימה מלאה של הדרכים לטעינת ערכי תצורה. בהתאם לצרכים שלכם, תוכלו לפתח אסטרטגיות מתוחכמות הרבה יותר.
במסמכי העזרה של ה-API של הפלטפורמה תוכלו לקרוא מידע נוסף על הקריאות הספציפיות לאחזור ולהפעלה של ערכי ההגדרות.