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

בחירת פלטפורמה: iOS+‎ Android Web Flutter Unity C++‎

העדכון בזמן אמת 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. מידע נוסף על הקשר בין לקוח לשרת מופיע בקטע הקודם.

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

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

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

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

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

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

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

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

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

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

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

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

השלבים הבאים

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