אסטרטגיות טעינה של Firebase Remote Config

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

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

אסטרטגיה 1: אחזר והפעל בעומס

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

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

אסטרטגיה 2: הפעל מאחורי מסך טעינה

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

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

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

אסטרטגיה 3: טען ערכים חדשים עבור ההפעלה הבאה

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

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

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

טוען אנטי אסטרטגיות

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

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

הצעדים הבאים

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

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