פרמטרים ותנאים של הגדרת תצורה מרחוק


אפשר להגדיר תבניות גם לתרחישי לדוגמה של לקוחות וגם לתרחישי לדוגמה של שרתים. תבניות הלקוח מוצגות לכל מכונות האפליקציות שמטמיעות את ערכות ה-SDK של לקוחות Firebase ל-Remote Config, כולל אפליקציות ל-Android, ל-Apple, לאינטרנט, ל-Unity, ל-Flutter ול-C++‎. פרמטרים וערכים של Remote Config מתבניות ספציפיות לשרת מוצגים להטמעות של Remote Config (כולל Cloud Run ו-Cloud Functions) שמשתמשות ב-Firebase Admin Node.js SDK בגרסה 12.1.0 ואילך.

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

אפשר ליצור ערכי ברירת מחדל חדשים לפרמטרים, וגם ערכים מותנים שמשמשים לטירגוט קבוצות של מכונות אפליקציה, באמצעות מסוף Firebase, ‏ Admin SDK או Remote Config REST API. בכל פעם שמעדכנים את ההגדרות במסוף Firebase, מערכת Firebase יוצרת ומפרסמת גרסה חדשה של התבנית Remote Config. הגרסה הקודמת נשמרה כדי לאפשר לך לאחזר או לחזור למצב הקודם לפי הצורך. הפעולות האלה זמינות במסוף Firebase, ב-Firebase Admin SDK וב-API ל-REST, ומתוארות בהרחבה במאמר ניהול גרסאות של תבניות Remote Config.

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

תנאים, כללים וערכים מותנים

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

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

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

העדיפות של ערך הפרמטר

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

הכללים הבאים קובעים איזה ערך יוקצה במהלך הערכת התבנית בנקודת זמן מסוימת:

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

  2. אם אין ערכים מותנים עם תנאים שמתקבלים כ-true, ערך ברירת המחדל של Remote Config מסופק במהלך הערכת התבנית. אם פרמטר לא קיים בתבנית, או אם ערך ברירת המחדל מוגדר כ-Use in-app default, לא יסופק ערך לפרמטר הזה כשהתבנית תבוצע.

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

סוגי הנתונים של ערכי הפרמטרים

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

סוגי הנתונים הנתמכים הם:

  • String
  • Boolean
  • Number
  • JSON

בממשק המשתמש של מסוף Firebase, אפשר לבחור את סוג הנתונים בתפריט הנפתח שליד מפתח הפרמטר. ב-API ל-REST אפשר להגדיר את הסוגים באמצעות השדה value_type שבתוך אובייקט הפרמטר.

קבוצות פרמטרים

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

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

אפשר ליצור קבוצות פרמטרים באמצעות מסוף Firebase או באמצעות ה-API ל-REST של Remote Config. לכל קבוצת פרמטרים שיוצרים יש שם ייחודי בתבנית Remote Config. כשיוצרים קבוצות של פרמטרים, חשוב לזכור:

  • אפשר לכלול פרמטרים בקבוצה אחת בלבד בכל רגע נתון, ומפתח פרמטר עדיין צריך להיות ייחודי בכל הפרמטרים.
  • שמות של קבוצות פרמטרים מוגבלים ל-256 תווים.
  • אם אתם משתמשים גם ב-API ל-REST וגם במסוף Firebase, חשוב לוודא שהלוגיקה של ה-API ל-REST מעודכנת כדי לטפל בקבוצות של פרמטרים במהלך הפרסום.

יצירה או שינוי של קבוצות פרמטרים באמצעות המסוף Firebase

אפשר לקבץ פרמטרים בכרטיסייה Parameters במסוף Firebase. כדי ליצור או לשנות קבוצה:

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

סוגי כללי תנאים

תבניות Remote Config לאפליקציות שרת תומכות בסוגי התנאים הבאים:

משתמש באחוז אקראי

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

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

המערכת תשתמש במפתח ברירת המחדל (שמוצג בתור Edit seed במסוף Firebase) אלא אם תשנו את ערך המקור. כדי להחזיר כלל לשימוש במפתח ברירת המחדל, צריך למחוק את השדה Seed.

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

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

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

אותות בהתאמה אישית

ב-Firebase Admin Admin Node.js SDK מגרסה 12.5.0 ואילך, אפשר להשתמש בתנאי מסוג אות מותאם אישית כדי להתאים לתנאים שרירותיים שמגדירים באפליקציה. כך אפשר להתאים אישית את התגובה של השרת לכל בקשה של לקוח.

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

  1. מוסיפים את הפרמטרים prompt ו-model_name לתבנית השרת Remote Config.
  2. מוסיפים אותות מותאמים אישית עם הערך platform לכל פלטפורמה שרוצים לטרגט.
  3. מוסיפים את ערכי ברירת המחדל לתבנית Remote Config הספציפיים לשרת ולערכים התנאי לכל תנאי פלטפורמה שהגדרתם.
  4. מעדכנים את קוד האפליקציה כדי להגדיר את האות המותאם אישית platform ולהשתמש בו.

עכשיו האפליקציה יכולה לחלץ את ההנחיה והמודל המתאימים במהלך הערכת התבנית, ולהשתמש בהם כדי להחזיר תשובות בהתאמה אישית לכל לקוח.

אפשר להשתמש בסוגי הכללים הבאים כדי ליצור אותות בהתאמה אישית במסוף Firebase.

קטגוריית המפעיל מפעילים ערך הערה
טקסט התאמה מדויקת, מכיל, לא מכיל, מכיל ביטוי רגולרי (regex)

השוואות המחרוזות של הכלל הזה תלויות אותיות רישיות. כשמשתמשים באופרטורים תואם בדיוק, מכיל, לא מכיל או מכיל ביטוי רגולרי (regex), אפשר לבחור כמה ערכים.

כשמשתמשים באופרטור contains regex, אפשר ליצור ביטויים רגולריים בפורמט RE2. הביטוי הרגולרי יכול להתאים לכל מחרוזת הגרסה של היעד או לחלק ממנה. אפשר גם להשתמש בעוגנים ^ ו-$ כדי להתאים להתחלה, לסיום או לשלמות של מחרוזת יעד.

מספרים <, <=, =, !=, >, >= מספר עם לא יותר מעשר ספרות בכל צד של הנקודה העשרונית.
גירסאות <, <=, =, !=, >, >= ערך מספרי שמייצג את מספרי הגרסאות להתאמה (לדוגמה, 2.1.0).

במאמר הגדרת אפליקציית השרת מוסבר איך מוסיפים אותות מותאמים אישית לאפליקציה.

חיפוש תנאים ופרמטרים

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

מגבלות על פרמטרים ועל תנאים

בפרויקט Firebase יכולים להיות עד 2,000 פרמטרים ועד 500 תנאים. המפתחות של הפרמטרים יכולים להיות באורך של עד 256 תווים, הם חייבים להתחיל בקו תחתון או בתו של אות באנגלית (A-Z, a-z) ויכולים לכלול גם מספרים. האורך הכולל של מחרוזות ערכי הפרמטרים בפרויקט לא יכול לחרוג מ-1,000,000 תווים.

הצגת שינויים בפרמטרים ובתנאים

אפשר לראות את השינויים האחרונים בתבניות של Remote Config במסוף Firebase. לכל פרמטר ותנאי ספציפיים, אפשר:

  • בודקים את שם המשתמש ששונה לאחרונה את הפרמטר או את התנאי.

  • אם השינוי התרחש באותו יום, בודקים את מספר הדקות או השעות שחלפו מאז פרסום השינוי בתבנית הפעילה Remote Config.

  • אם השינוי התרחש לפני יום אחד או יותר, תוכלו לראות את התאריך שבו השינוי פורסם בתבנית הפעילה Remote Config.

היסטוריית השינויים של פרמטרים

בדף Remote Config פרמטרים, בעמודה Last published תוכלו לראות את המשתמש האחרון ששינה כל פרמטר ואת תאריך הפרסום האחרון של השינוי:

  • כדי להציג את המטא-נתונים של השינויים בפרמטרים מקובצים, מרחיבים את קבוצת הפרמטרים.

  • כדי למיין בסדר עולה או יורד לפי תאריך הפרסום, לוחצים על התווית של העמודה Last published.

היסטוריית השינויים של התנאים

בדף Remote Config Conditions אפשר לראות את המשתמש האחרון ששינה את התנאי ואת התאריך שבו הוא שינה אותו, לצד Last modified (שינוי אחרון) שמופיע מתחת לכל תנאי.

השלבים הבאים

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