Firebase Remote Config מאפשרת גמישות רבה לגבי האופן והזמן שבהם מתבצעת אחזור של ערכים חדשים מהשרת והפעלה שלהם באפליקציה. כך אפשר לשלוט בתזמון של שינויים בהגדרות שגלויים למשתמשי הקצה, כדי להבטיח חוויית משתמש איכותית. אפשר לאחזר ערכים חדשים בהפעלת האפליקציה באמצעות fetchAndActivate()
, ולהשתמש בשיטה משלימה של Remote Config בזמן אמת כדי לאחזר באופן אוטומטי את ערכי הפרמטרים העדכניים ביותר אחרי פרסום גרסה חדשה של Remote Config.
במדריך הזה נסקור כמה אסטרטגיות טעינה ונדון בשיקולים חשובים שיעזרו לכם לבחור את האפשרות הכי טובה לאפליקציה שלכם.
אסטרטגיה 1: אחזור והפעלה בזמן הטעינה
בשיטה הזו, האפליקציה שלכם תקרא ל-fetchAndActivate()
כשהיא תופעל בפעם הראשונה כדי לאחזר ערכים חדשים מ-Remote Config ולהפעיל אותם ברגע שהטעינה שלהם תסתיים. הגישה הפשוטה הזו מתאימה לשינויים בהגדרות שלא גורמים לשינויים חזותיים דרמטיים בממשק המשתמש. מומלץ להימנע משימוש בשיטה הזו בכל מצב שבו ממשק המשתמש עלול להשתנות באופן משמעותי בזמן שהמשתמשים נמצאים באמצע השימוש בו.
אחרי שאפליקציית fetchAndActivate()
מתקשרת, היא יכולה להתחיל להאזין לעדכונים של ערכי פרמטרים בזמן אמת על ידי קריאה ל-addOnConfigUpdateListener
. השיטה הזו מתחילה להאזין לעדכונים של ערכי הפרמטרים בצד השרת, מאחזרת אותם באופן אוטומטי ואז קוראת לפונקציית ה-listener. אחת האסטרטגיות הפשוטות היא להפעיל את הערכים החדשים במאזין. עם זאת, כמו שצוין לגבי fetchAndActivate()
, כדאי להימנע מהפעלה מיידית בממשקי משתמש רגישים.
אסטרטגיה 2: הפעלה מאחורי מסך הטעינה
כדי לפתור את הבעיה הפוטנציאלית בממשק המשתמש שצוינה באסטרטגיה 1, אפשר להסתמך על מסך טעינה. במקום להפעיל את האפליקציה מיד, מציגים מסך טעינה ומפעילים את fetchAndActivate
ב-completion handler.
אחרי כן, מיד לאחר מכן – שוב באמצעות קריאה חוזרת או התראה – צריך להסתיר את מסך הטעינה ולאפשר למשתמש להתחיל באינטראקציה עם האפליקציה.
אם משתמשים בשיטה הזו, מומלץ להוסיף פסק זמן למסך הטעינה. יכול להיות שזמן הקצוב לתפוגה של דקה אחת ב-Remote Config ארוך מדי בשביל חוויית הפעלה איכותית של האפליקציה למשתמשים.
האזנה לעדכונים בזמן אמת של Remote Config באמצעות קריאה ל-addOnConfigUpdateListener
מתאימה לשיטה הזו. מוסיפים את ה-listener כשהמסך טעינה מוצג, ואז משתמשים ב-activate()
בנקודה אחת או יותר באפליקציה שבה ערכי Remote Config לא יגרמו לשינויים חזותיים דרמטיים.
אסטרטגיה 3: טעינת ערכים חדשים להפעלה הבאה
אסטרטגיה יעילה היא לטעון ערכי הגדרה חדשים כדי להפעיל אותם בהפעלה הבאה של האפליקציה. בשיטה הזו, האפליקציה מפעילה ערכים שאוחזרו בהפעלה לפני שהיא מנסה לאחזר ערכים חדשים, מתוך הנחה שאולי היא כבר אחזרה ערכים חדשים של הגדרות – אבל עדיין לא הפעילה אותם. סדר הפעולות של שיטת הבידינג הזו הוא:
- באתחול, מפעילים מיד את הערכים שאוחזרו קודם. הפעולה הזו מחילה את כל הערכים שהורדתם מהשרת בסשן קודם, והיא מתבצעת כמעט באופן מיידי.
- במהלך האינטראקציה של המשתמש עם האפליקציה, מפעילים קריאה אסינכרונית כדי לאחזר ערכים חדשים בהתאם למרווח ברירת המחדל המינימלי לאחזור, ומוסיפים מאזין לעדכון ההגדרות בזמן אמת. המאזין בזמן אמת יאחזר באופן אוטומטי את כל הערכים שפורסמו בשרת בזמן שהאפליקציה פועלת. עדכונים בזמן אמת עוקפים את ההגדרה של מרווח הזמן המינימלי לאחזור.
- ב-completion handler או ב-callback של קריאת ה-fetch, לא מבצעים שום פעולה. האפליקציה תשמור את הערכים שהורדו עד שתפעילו אותם בפעם הבאה שהאפליקציה תופעל.
שיטת הבידינג הזו מצמצמת מאוד את זמן ההמתנה של המשתמשים. שילוב של אסטרטגיות אחזור והאזנה בזמן אמת עם קריאות ל-activate()
לפי הצורך במחזור החיים של האפליקציה מבטיח שהמשתמשים יקבלו את הערכים העדכניים מ-Remote Config כשהם מבצעים אינטראקציה עם האפליקציה.
אסטרטגיות נגד טעינה
כפי שאפשר להבין מהדיון שלמעלה על היתרונות והחסרונות של טעינה, יש כמה דפוסי שימוש שכדאי להימנע מהם.
- אל תעדכנו או תשנו היבטים בממשק המשתמש בזמן שהמשתמש צופה בו או מקיים איתו אינטראקציה – אלא אם יש לכם סיבות עסקיות או סיבות שקשורות לאפליקציה לעשות זאת, כמו הסרת אפשרויות שקשורות למבצע שהסתיים.
- לא לשלוח מספר גדול של בקשות אחזור בו-זמניות, כי זה עלול לגרום להגבלת קצב הבקשות של האפליקציה בשרת. אם אתם צריכים לאחזר עדכונים בתדירות גבוהה, כדאי להשתמש בעדכונים בזמן אמת Remote Config. ברוב תרחישי הייצור, הסיכון להגבלת קצב הבקשות נמוך, אבל הוא יכול להיות בעיה במהלך פיתוח פעיל – ו-Remote Config בזמן אמת מיועד לתרחיש השימוש הזה. כדאי לעיין בהנחיות בנושא הגבלת קצב הבקשות.
- לא להסתמך על קישוריות לרשת כדי לקבל ערכים של Remote Config. חשוב להגדיר ערכי פרמטר שמוגדרים כברירת מחדל בתוך האפליקציה, כדי שהאפליקציה תמיד תתנהג כמצופה. אתם יכולים להשתמש בערכי ברירת מחדל של תבנית שהורדה כדי לסנכרן מעת לעת את ערכי ברירת המחדל של האפליקציה ושל קצה העורפי של Remote Config.
השלבים הבאים
שלוש האסטרטגיות הבסיסיות האלה לא כוללות את כל הדרכים לטעינת ערכי תצורה. בהתאם לצרכים שלכם, תוכלו לגבש אסטרטגיות מתוחכמות הרבה יותר.
כדי לקבל מידע נוסף על הקריאות הספציפיות לאחזור ולהפעלה של ערכי הגדרה, אפשר לעיין בחומר העזר בנושא API של הפלטפורמה שלכם.