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 של הפלטפורמה תוכלו לקרוא מידע נוסף על הקריאות הספציפיות לאחזור ולהפעלה של ערכי ההגדרות.