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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

כשמבצעים את הפונקציות הבאות: addOnConfigUpdateListener, אפשר להמתין לשינוי ולהפעיל אותו.

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

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

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

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

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

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

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

הקריאה מחזירה 'רישום מאזין', שיש לו method שנקרא remove.

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

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

השלבים הבאים

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