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

בחירת פלטפורמה: 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 backend. הבקשה כוללת את גרסת ההגדרה ששמורה במטמון במכשיר. שרת Remote Config בזמן אמת משתמש בהודעת ביטול תוקף כדי לסמן לאפליקציה מתי צריך לאחזר גרסה חדשה יותר של הגדרה בצד השרת.

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

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

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

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

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

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

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

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

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

השלבים הבאים

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