הבנת הגדרת התצורה מרחוק בזמן אמת


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

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

כדי לקבל מידע נוסף על דרכים לשימוש ב-Remote Config, אפשר לעיין במאמר מה אפשר לעשות עם Remote Config?

במדריך הזה תלמדו:

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

החיבור בזמן אמת בין הלקוח לשרת

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

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

תהליך עבודה בזמן אמת של לקוח-שרת בהגדרת תצורה מרחוק
תהליך עבודה בזמן אמת Remote Config בין לקוח לשרת

החיבור בין הלקוח לשרת מתבצע באמצעות HTTP, ולכן לא נדרשות תלויות בספריות אחרות.

האזנה לעדכונים

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

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

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

הפעלה סלקטיבית של ערכי פרמטרים

כשמתקשרים אל,אפשר להמתין לשינוי ולהפעיל אותו.addOnConfigUpdateListenerAddOnConfigUpdateListenerOnConfigUpdateListeneronConfigUpdatedonConfigUpdate

הקריאה החוזרת (callback) onUpdate מופעלת כשגרסה חדשה של התבנית מאוחזרת אוטומטית, וכשיש שינויים בגרסה החדשה הזו בערכי הפרמטרים הפעילים באפליקציה.

הקריאות החוזרות האלה מופעלות עם הפרמטר configUpdate. ‫configUpdate contains updatedKeys, which is the set of changed parameter keys that initiated the real-time update and includes the following:

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

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

לפעמים, אחזור (שמופעל כשקוראים ל-method‏ fetch או על ידי Remote Config בזמן אמת) לא מוביל לעדכון של הלקוח. במקרים האלה, לא תתבצע קריאה לשיטה onUpdate או להשלמה.

הוספה והסרה של מאזינים

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

הקריאה מחזירה 'רישום של מאזין', שיש לו method שנקראת remove. כדי להפסיק את ההאזנה, מאחסנים את ההפניה לרישום של המאזין. מתקשרים אל remove כדי להפסיק את ההאזנה לרישום הזה. אם זה המאזין הרשום היחיד, קריאה ל-remove סוגרת את החיבור בזמן אמת לשרת.

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

השלבים הבאים

במאמר תחילת העבודה עם Firebase Remote Config מוסבר איך להגדיר את Firebase Remote Config ואיך להמתין לעדכונים בזמן אמת.