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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

על סמך הקטעים הקודמים בנושא אסטרטגיות טעינה, מומלץ להימנע מדפוסי השימוש הבאים:

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

השלבים הבאים

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

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