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


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

  • ‫Firebase Admin Node.js SDK v12.1.0+
  • ‫Firebase Admin Python SDK v6.7.0+

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • String
  • Boolean
  • Number
  • JSON

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

תנאים מותאמים אישית לאותות

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

בדף Remote Config תנאים אפשר לראות את המשתמש האחרון ששינה את התנאי ואת התאריך שבו הוא שינה אותו לצד השינוי האחרון מתחת לכל תנאי.

השלבים הבאים

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