Firebase Remote Config מספק גמישות רבה לגבי האופן והמועד שבו מאחזרים ערכים חדשים מהשרת ומפעילים אותם באפליקציה. כך אתם יכולים לשלוט בתזמון של כל שינוי גלוי בהגדרות האישיות, כדי להבטיח חוויית משתמש קצה איכותית. אפשר לאחזר ערכים חדשים כשהאפליקציה מופעלת באמצעות fetchAndActivate, ולהשתמש בRemote Config בזמן אמת כשיטה משלימה לאחזור אוטומטי של ערכי הפרמטרים העדכניים אחרי שמפרסמים גרסה חדשה של Remote Config.
במדריך הזה נסקור כמה אסטרטגיות טעינה ונדון בנקודות מרכזיות לבחירת האפשרות הטובה ביותר לאפליקציה שלכם.
אסטרטגיה 1: אחזור והפעלה בזמן הטעינה
בשיטה הזו, האפליקציה קוראת ל-fetchAndActivate כשהיא מופעלת בפעם הראשונה כדי לאחזר ערכים חדשים מ-Remote Config ולהפעיל אותם ברגע שהם מסיימים להיטען. הגישה הזו שימושית במיוחד לשינויים בהגדרות שלא גורמים לשינויים חזותיים דרמטיים בממשק המשתמש. כדאי להימנע מהגישה הזו בכל מצב שבו ממשק המשתמש עשוי להשתנות באופן ניכר בזמן שהמשתמשים משתמשים בו.
אחרי שהאפליקציה קוראת ל-fetchAndActivate, היא יכולה להתחיל להאזין לעדכונים של ערכי הפרמטרים בזמן אמת על ידי קריאה ל-addOnConfigUpdateListener. השיטה הזו מתחילה להאזין לעדכונים בצד השרת של ערכי הפרמטרים, מאחזרת אותם באופן אוטומטי ואז קוראת למאזין. אסטרטגיה אחת היא להפעיל את הערכים החדשים ב-listener. עם זאת, כמו שצוין לגבי fetchAndActivate,
כדאי להימנע מהפעלה מיידית בממשקי משתמש רגישים.
אסטרטגיה 2: הפעלה מאחורי מסך הטעינה
כדי לפתור את הבעיה הפוטנציאלית בממשק המשתמש שנתקלים בה באסטרטגיה 1, אפשר להסתמך על מסך טעינה. במקום להפעיל את האפליקציה מיד, מציגים מסך טעינה וקוראים ל-fetchAndActivate ב-completion handler. מיד לאחר מכן, שוב באמצעות קריאה חוזרת (callback) או התראה, סוגרים את מסך הטעינה ומאפשרים למשתמש להתחיל להשתמש באפליקציה.
אם אתם משתמשים בשיטה הזו, מומלץ להוסיף זמן קצוב לתפוגה למסך הטעינה. זמן הקצוב לתפוגה של דקה אחת בהגדרת התצורה מרחוק עשוי להיות ארוך מדי לחוויית הפעלה איכותית של האפליקציה למשתמשים.
כדי להשתמש באסטרטגיה הזו, כדאי להאזין לעדכונים בזמן אמת על Remote Config באמצעות קריאה ל-addOnConfigUpdateListener. מוסיפים את המאזין כשמסך הטעינה מוצג, ואז משתמשים ב-activate() בנקודה אחת או יותר באפליקציה שבהן ערכי Remote Config לא יגרמו לשינויים חזותיים דרמטיים.
אסטרטגיה 3: טעינת ערכים חדשים להפעלה הבאה
אסטרטגיה יעילה היא לטעון ערכי הגדרות אישיות חדשים שיופעלו בהפעלה הבאה של האפליקציה. בשיטה הזו, האפליקציה מפעילה את הערכים שאוחזרו בזמן ההפעלה לפני שהיא מנסה לאחזר ערכים חדשים, בהנחה שהיא כבר אחזרה ערכי הגדרות אישיות חדשים אבל עדיין לא הפעילה אותם. סדר הפעולות של האסטרטגיה הזו הוא:
- בזמן ההפעלה, מפעילים מיד את הערכים שאוחזרו קודם. הפעולה הזו מחילה את כל הערכים שהורדתם מהשרת בסשן קודם, והיא מתבצעת כמעט באופן מיידי.
- בזמן שהמשתמש מבצע אינטראקציה עם האפליקציה, מפעילים קריאה אסינכרונית כדי לאחזר ערכים חדשים בהתאם למרווח האחזור המינימלי שמוגדר כברירת מחדל, ומוסיפים מאזין לעדכוני הגדרות בזמן אמת. המאזין בזמן אמת יאחזר באופן אוטומטי את כל הערכים שמתפרסמים בשרת בזמן שהאפליקציה פועלת. עדכונים בזמן אמת עוקפים את ההגדרה של מרווח האחזור המינימלי.
- ב-completion handler או ב-callback של הקריאה לאחזור, לא עושים כלום. האפליקציה תשמור את הערכים שהורדו עד שתפעילו אותם בפעם הבאה שהאפליקציה תופעל.
השיטה הזו מקצרת משמעותית את זמן ההמתנה של המשתמשים. שילוב של אסטרטגיות האזנה בזמן אמת ואחזור עם קריאות ל-activate() לפי הצורך במחזור החיים של האפליקציה, מבטיח שלמשתמשים יהיו הערכים העדכניים ביותר מ-Remote Config בזמן שהם משתמשים באפליקציה.
האסטרטגיות הנגדיות נטענות
בהתאם למה שכתוב בקטעים הקודמים לגבי אסטרטגיות טעינה, כדאי להימנע מדפוסי השימוש הבאים:
- אל תעדכנו או תחליפו חלקים בממשק המשתמש בזמן שהמשתמש צופה בו או מקיים איתו אינטראקציה, אלא אם יש לכם סיבות עסקיות או סיבות שקשורות לאפליקציה שמצדיקות את זה, כמו הסרת אפשרויות שקשורות למבצע שהסתיים.
- אל תשלחו מספר גדול של בקשות אחזור בו-זמנית, כי זה עלול לגרום לשרת להגביל את האפליקציה. אם אתם צריכים לאחזר עדכונים לעיתים קרובות, השתמשו בRemote Config בזמן אמת. הסיכון לוויסות נתונים נמוך ברוב התרחישים בסביבת הייצור, אבל הוא יכול להיות בעייתי במהלך פיתוח פעיל – ו-Remote Config בזמן אמת מיועד לתרחיש לדוגמה הזה. הנחיות בנושא ויסות נתונים
- אל תסתמכו על החיבור לרשת כדי לקבל ערכי Remote Config. חשוב להגדיר ערכי פרמטרים כברירת מחדל בתוך האפליקציה, כדי שהאפליקציה תמיד תפעל כצפוי. אתם יכולים לסנכרן מדי פעם את ערכי ברירת המחדל של האפליקציה ושל הקצה העורפי של Remote Config באמצעות ערכי ברירת המחדל של התבנית שהורדתם.
השלבים הבאים
שלוש האסטרטגיות הבסיסיות האלה הן לא רשימה מלאה של הדרכים לטעון ערכי הגדרות. בהתאם לצרכים שלכם, אתם יכולים לתכנן אסטרטגיות הרבה יותר מתוחכמות.
כדי לקבל מידע נוסף על הקריאות הספציפיות לאחזור ולהפעלה של ערכי הגדרות אישיות, עיינו במאמרי העזרה של ה-API של הפלטפורמה שלכם.