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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

השלבים הבאים

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

כדי לקבל מידע נוסף על לאחזור ולהפעיל ערכי תצורה.