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

בחירת סוג התבנית: תבניות בצד הלקוח תבניות בצד השרת


אפשר להעביר פרמטרים וערכים של Remote Config מתבניות ספציפיות לשרת אל הטמעות של Remote Config (כולל Cloud Run ו-Cloud Functions for Firebase) שמשתמשות בסביבות השרת הבאות:

  • ‫Firebase Admin Node.js SDK v12.1.0+‎
  • Firebase Admin Python SDK גרסה 6.7.0 ואילך
  • ‫Firebase Admin Go SDK v4.17.0+‎
  • ‫Firebase Admin Java SDK גרסה 9.7.0 ואילך

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

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

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

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

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

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

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

הוספה, עריכה, סידור מחדש או מחיקה של תנאים באמצעות מסוף Firebase

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

  1. במסוף Firebase, עוברים אל DevOps & Engagement (פיתוח אפליקציות ואינטראקציה עם משתמשים) > Remote Config (הגדרת תצורה מרחוק) > הדף Conditions (תנאים) (או בוחרים באפשרות Manage conditions (ניהול תנאים) בדף Parameters (פרמטרים)).
  2. הוספת תנאי: לוחצים על הוספת תנאי (או על יצירת התנאי הראשון), מזינים שם שמגדיר את יעד הטירגוט ובוחרים כלל טירגוט אחד או יותר.
  3. עריכת תנאי: לוחצים על שם התנאי או על סמל העריכה, משנים את הכללים לפי הצורך ולוחצים על שמירה.
  4. שינוי העדיפות של התנאים: בדף תנאים, גוררים את התנאים באמצעות נקודת האחיזה שלהם כדי לשנות את הסדר שלהם. תנאים שמופיעים גבוה יותר ברשימה מקבלים עדיפות על פני תנאים שמופיעים נמוך יותר ברשימה.
  5. מחיקת תנאי: לוחצים על סמל המחיקה לצד התנאי שרוצים להסיר. אם יש פרמטר שמפנה לתנאי, הסרת התנאי תגרום גם להסרת הערכים המותנים שמשויכים אליו.

אחרי ששומרים את השינויים בתנאי, מפרסמים את התבנית באמצעות פרסום השינויים.

מגבלת IPv6 בבקרת גישה מבוססת-IP

‫Remote Config תומך באופן מוגבל ב-IPv6 כשמשתמשים בו עם מדיניות גישה מבוססת-IP. אם הארגון שלכם מגביל את הגישה לטווחים ספציפיים של כתובות IP ציבוריות, התחברות דרך רשת IPv6 עלולה לגרום לבעיות הבאות:

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

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

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

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

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

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

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

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

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

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

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

  1. במסוף Firebase, עוברים אל DevOps & Engagement (פיתוח אפליקציות ואינטראקציה עם משתמשים) > הגדרת תצורה מרחוק > הדף Parameters (פרמטרים).
  2. לוחצים על ניהול קבוצות.
  3. מסמנים את תיבות הסימון לצד הפרמטרים שרוצים להוסיף ולוחצים על העברה לקבוצה.
  4. בוחרים קבוצה קיימת או יוצרים קבוצה חדשה על ידי הזנת שם ותיאור, ולוחצים על יצירת קבוצה חדשה. אחרי ששומרים קבוצה, אפשר לפרסם אותה באמצעות הלחצן פרסום שינויים.

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

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

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

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

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

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

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

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

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

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

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

  • ‫Firebase Admin Node.js SDK v12.1.0+‎
  • Firebase Admin Python SDK גרסה 6.7.0 ואילך
  • ‫Firebase Admin Go SDK v4.17.0+‎
  • ‫Firebase Admin Java SDK גרסה 9.7.0 ואילך

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

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

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

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

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

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

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

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

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

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

אפשר לחפש את מפתחות הפרמטרים, ערכי הפרמטרים והתנאים של הפרויקט ממסוף Firebase באמצעות תיבת החיפוש בחלק העליון של הדף DevOps & Engagement > הגדרת תצורה מרחוק > Parameters.

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

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

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

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

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

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

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

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

במסוף Firebase, עוברים אל DevOps & Engagement (פיתוח אפליקציות ואינטראקציה עם משתמשים) > הגדרת תצורה מרחוק > הדף Parameters (פרמטרים). בעמודה Last published מוצג המשתמש האחרון ששינה כל פרמטר והתאריך האחרון שבו השינוי פורסם:

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

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

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

במסוף Firebase, עוברים אל DevOps & Engagement > הגדרת תצורה מרחוק > הדף תנאים. בקטע השינוי האחרון שמתחת לכל תנאי, אפשר לראות את המשתמש האחרון ששינה את התנאי ואת התאריך שבו הוא שינה אותו.

השלבים הבאים

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