Firebase Remote Config מספק הרבה גמישות לגבי האופן והזמן שבהם אפשר לאחזר ערכים חדשים מהשרת ולהפעיל אותם באפליקציה. כך אפשר לשלוט בתזמון של שינויים גלויים בהגדרות, כדי להבטיח חוויית משתמש איכותית. אפשר לאחזר ערכים חדשים בהפעלת האפליקציה באמצעות fetchAndActivate, ולהשתמש ב-real-time
Remote Config כשיטה משלימה לאחזור אוטומטי של ערכי הפרמטרים העדכניים ביותר אחרי שמפרסמים גרסה חדשה של Remote Config.
במדריך הזה נסקור כמה אסטרטגיות טעינה ונציג שיקולים חשובים שיעזרו לכם לבחור את האפשרות הכי טובה לאפליקציה שלכם.
אסטרטגיה 1: אחזור והפעלה בזמן הטעינה
בשיטה הזו, האפליקציה שלכם קוראת ל-fetchAndActivate כשהיא מתחילה לפעול כדי לאחזר ערכים חדשים מ-Remote Config ולהפעיל אותם ברגע שהטעינה מסתיימת. הגישה הזו מתאימה לשינויים בהגדרות שלא גורמים לשינויים חזותיים משמעותיים בממשק המשתמש. כדאי להימנע מהגישה הזו בכל מצב שבו ממשק המשתמש עשוי להשתנות באופן משמעותי בזמן שהמשתמשים משתמשים בו.
אחרי שהאפליקציה קוראת ל-fetchAndActivate, היא יכולה להתחיל להאזין לעדכונים של ערכי פרמטרים בזמן אמת על ידי קריאה ל-addOnConfigUpdateListener. השיטה הזו מתחילה להאזין לעדכונים של ערכי הפרמטרים בצד השרת, מאחזרת אותם באופן אוטומטי ואז קוראת לפונקציית ה-listener. אחת האסטרטגיות היא להפעיל את הערכים החדשים ב-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 של הפלטפורמה שלכם.