| בחירת סוג התבנית: | תבניות בצד הלקוח תבניות בצד השרת |
אפשר להציג פרמטרים וערכים של Remote Config מתבניות ספציפיות לשרת להטמעות של Remote Config (כולל Cloud Run ו-Cloud Functions for Firebase) שמשתמשות בסביבות השרת הבאות:
- Firebase Admin Node.js SDK בגרסה 12.1.0 ואילך
- Firebase Admin Python SDK בגרסה 6.7.0 ואילך
- Firebase Admin Go SDK בגרסה 4.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 (DevOps ומעורבות) > Remote Config (הגדרת תצורה מרחוק) > Parameters (פרמטרים) כדי לראות את אחוז השליפה של הערכים המותנים של כל פרמטר. המדד הזה מציין את אחוז הבקשות ב-24 השעות האחרונות שקיבלו כל ערך.
הוספה, עריכה, סידור מחדש או מחיקה של תנאים באמצעות מסוף Firebase
אתם יכולים ליצור, לערוך, לשנות את הסדר ולמחוק תנאי טירגוט במסוף Firebase. התנאים משותפים בין הפרמטרים בפרויקט. כך מנהלים את התנאים:
- במסוף Firebase, עוברים אל DevOps & Engagement (פיתוח ותפעול ומעורבות) > Remote Config (הגדרת תצורה מרחוק) > הדף Conditions (תנאים) (או בוחרים באפשרות Manage conditions (ניהול תנאים) בדף Parameters (פרמטרים)).
- הוספת תנאי: לוחצים על הוספת תנאי (או על יצירת התנאי הראשון), מזינים שם שמגדיר את יעד הטירגוט ובוחרים כלל טירגוט אחד או יותר.
- עריכת תנאי: לוחצים על שם התנאי או על סמל העריכה, משנים את הכללים לפי הצורך ולוחצים על שמירה.
- שינוי העדיפות של התנאים: בדף Conditions, גוררים את התנאים באמצעות נקודת האחיזה שלהם כדי לשנות את הסדר שלהם. לתנאים שמופיעים גבוה יותר ברשימה יש עדיפות על פני תנאים שמופיעים נמוך יותר ברשימה.
- מחיקת תנאי: לוחצים על סמל המחיקה לצד התנאי שרוצים להסיר. אם התנאי מקושר לפרמטר כלשהו, הסרת התנאי תסיר גם את הערכים המותנים המשויכים.
אחרי ששומרים את השינויים בתנאים, מפרסמים את התבנית באמצעות Publish changes (פרסום השינויים).
מגבלת IPv6 עם בקרת גישה מבוססת-IP
ל-Remote Config יש תמיכה מוגבלת ב-IPv6 כשמשתמשים בו עם כללי מדיניות גישה שמבוססים על IP. אם הארגון שלכם מגביל את הגישה לטווחי כתובות IP ציבוריות ספציפיות, התחברות דרך רשת IPv6 עלולה לגרום לבעיות הבאות:
- גישה למסוף: יכול להיות שלא תוכלו להשתמש בתכונות מסוימות של Remote Config במסוף Firebase, כמו טעינת נתונים או הגדרת טירגוט.
- גישת לקוח: יכול להיות שבאפליקציות לקוח יופיעו שגיאות PERMISSION_DENIED.
כדי למנוע את הבעיות האלה, צריך להגדיר את הרשת כך שתשתמש ב-IPv4 או להוסיף את טווחי ה-IP הנדרשים של Firebase לרשימת ההיתרים של הארגון.
עדיפות של ערך הפרמטר
כשמשתמשים ב-Remote Config באפליקציות שרת באמצעות Firebase Admin SDK, מאחזרים וטוענים את התבנית כולה כדי לחלץ ערכי פרמטרים מתאימים על פי דרישה לכל בקשת לקוח. לפרמטר יכולים להיות כמה ערכים מותנים שמשויכים אליו.
הכללים הבאים קובעים איזה ערך יוקצה במהלך הערכת התבנית בנקודת זמן מסוימת:
קודם, ערכים מותנים מוחלים על כל התנאים שמוערכים ל-
trueעבור בקשת לקוח נתונה. אם כמה תנאים מקבלים את הערךtrue, התנאי העליון שמוצג בממשק המשתמש של מסוף Firebase מקבל קדימות, והערכים המותנים שמשויכים לתנאי הזה מסופקים כשהתבנית נבדקת. כדי לשנות את העדיפות של התנאים, גוררים ומשחררים אותם בדף Conditions.אם אין ערכים מותנים עם תנאים שמוערכים כ-
true, ערך ברירת המחדל של Remote Config מסופק במהלך הערכת התבנית. אם פרמטר לא קיים בתבנית, או אם ערך ברירת המחדל מוגדר כ-Use in-app default, לא יסופק ערך לפרמטר הזה כשהתבנית תעבור הערכה.
מידע נוסף על טעינה והערכה של תבניות Remote Config באפליקציות שרת זמין במאמר שימוש ב-Remote Config בסביבות שרת.
סוגי נתונים של ערכי פרמטרים
Remote Config מאפשר לבחור סוג נתונים לכל פרמטר, ומאמת את כל הערכים של Remote Config לפי הסוג הזה לפני עדכון התבנית. סוג הנתונים נשמר ומוחזר בבקשת getRemoteConfig.
סוגי הנתונים הנתמכים הם:
StringBooleanNumberJSON
בממשק המשתמש של מסוף Firebase, אפשר לבחור את סוג הנתונים בתפריט נפתח לצד מפתח הפרמטר. ב-API בארכיטקטורת REST, אפשר להגדיר סוגים באמצעות השדה value_type באובייקט הפרמטר.
קבוצות של פרמטרים
בעזרת Remote Config אפשר לקבץ פרמטרים כדי לשפר את הארגון של ממשק המשתמש ואת נוחות השימוש.
לדוגמה, נניח שאתם צריכים להפעיל או להשבית שלושה סוגים שונים של אימות בזמן שאתם משיקים תכונה חדשה של התחברות. ב-Remote Config, אתם יכולים ליצור את שלושת הפרמטרים כדי להפעיל את הסוגים שאתם רוצים, ואז לארגן אותם בקבוצה בשם "New login", בלי להוסיף קידומות או מיון מיוחד.
אפשר ליצור קבוצות פרמטרים באמצעות מסוף Firebase או ה-API בארכיטקטורת REST של Remote Config. לכל קבוצת פרמטרים שיוצרים יש שם ייחודי בתבנית Remote Config. כשיוצרים קבוצות של פרמטרים, חשוב לזכור את הנקודות הבאות:
- אפשר לכלול פרמטרים רק בקבוצה אחת בכל פעם, ומפתח הפרמטר עדיין צריך להיות ייחודי בכל הפרמטרים.
- שמות של קבוצות פרמטרים מוגבלים ל-256 תווים.
- אם אתם משתמשים גם ב-API בארכיטקטורת REST וגם במסוף Firebase, חשוב לוודא שכל לוגיקה של API בארכיטקטורת REST מעודכנת כך שתטפל בקבוצות פרמטרים בזמן הפרסום.
יצירה או שינוי של קבוצות פרמטרים באמצעות מסוף Firebase
אפשר לקבץ פרמטרים במסוף Firebase. כך יוצרים או משנים קבוצה:
- במסוף Firebase, נכנסים לדף DevOps & Engagement > הגדרת תצורה מרחוק > Parameters.
- לוחצים על ניהול קבוצות.
- מסמנים את התיבות של הפרמטרים שרוצים להוסיף ולוחצים על העברה לקבוצה.
- בוחרים קבוצה קיימת או יוצרים קבוצה חדשה: נותנים לה שם ומוסיפים תיאור, ולוחצים על יצירת קבוצה חדשה. אחרי ששומרים קבוצה, אפשר לפרסם אותה באמצעות הלחצן פרסום השינויים.
סוגי כללי תנאים
בתבניות של Remote Config לאפליקציות שרת אפשר להשתמש בסוגי התנאים הבאים:
משתמש באחוז אקראי
אפשר להשתמש בשדה הזה כדי להחיל שינוי על מדגם אקראי של מופעי אפליקציה (עם גודלי מדגם קטנים עד 0 .0001%), באמצעות ווידג'ט של פס הזזה כדי לפלח משתמשים (מופעי אפליקציה) שסודרו באופן אקראי לקבוצות.
כל מופע של אפליקציה ממופה באופן קבוע למספר שלם או שבר אקראי, בהתאם לseed שמוגדר בפרויקט.
הכלל ישתמש במפתח ברירת המחדל (שמוצג בתור Edit seed במסוף Firebase), אלא אם תשנו את ערך הבסיס. כדי להחזיר כלל לשימוש במפתח ברירת המחדל, צריך לנקות את השדה Seed.
כדי לטרגט באופן עקבי את אותם מופעי אפליקציה בטווחי אחוזים נתונים, צריך להשתמש באותו ערך בסיס בכל התנאים. אפשר גם לבחור קבוצה חדשה של מופעי אפליקציה שמוקצים באופן אקראי לטווח אחוזים נתון, על ידי ציון ערך seed חדש.
לדוגמה, כדי ליצור שני תנאים קשורים שכל אחד מהם חל על 5% ממשתמשי האפליקציה ללא חפיפה, אפשר להגדיר תנאי אחד שיתאים לאחוזים שבין 0% ל-5%, ולהגדיר תנאי אחר שיתאים לטווח שבין 5% ל-10%. כדי לאפשר למשתמשים מסוימים להופיע באופן אקראי בשתי הקבוצות, צריך להשתמש בערכי בסיס שונים לכללים בכל תנאי.
במאמר הגדרת אפליקציית השרת מוסבר איך להוסיף תנאים של אחוזים אקראיים לאפליקציה.
תנאים של אותות בהתאמה אישית
אתם יכולים להשתמש בערכים המותנים של אות מותאם אישית כדי להתאים לתנאים שרירותיים שאתם מגדירים באפליקציה. כך אתם יכולים להתאים אישית את תגובת השרת לכל בקשה של לקוח. תנאים של אותות בהתאמה אישית נתמכים בגרסאות הבאות של סביבות השרת:
- Firebase Admin Node.js SDK בגרסה 12.1.0 ואילך
- Firebase Admin Python SDK בגרסה 6.7.0 ואילך
- Firebase Admin Go SDK בגרסה 4.17.0 ואילך
- Firebase Admin Java SDK בגרסה 9.7.0 ואילך
לדוגמה, אם אתם עובדים על אפליקציית שרת שמשתמשת ב-AI גנרטיבי כדי ליצור תשובות באמצעות מודלים שונים שמותאמים לפלטפורמות ספציפיות, אתם יכולים:
- מוסיפים את הפרמטרים
promptו-model_nameלתבנית השרת Remote Config. - מוסיפים תנאים של אותות בהתאמה אישית עם הערך
platformלכל פלטפורמה שרוצים לטרגט. - מוסיפים ערכי ברירת מחדל לתבנית Remote Config הספציפית לשרת, וערכים מותנים לכל תנאי שהגדרתם לפלטפורמה.
- מעדכנים את קוד האפליקציה כדי להגדיר את האות המותאם אישית
platformולהשתמש בו.
עכשיו האפליקציה יכולה לחלץ את ההנחיה והמודל המתאימים במהלך הערכת התבנית, ולהשתמש בהם כדי להחזיר תשובות בהתאמה אישית לכל לקוח.
אתם יכולים להשתמש בסוגי הכללים הבאים כדי ליצור תנאים לאותות בהתאמה אישית במסוף Firebase.
| קטגוריית המפעיל | אופרטורים | ערך |
|---|---|---|
| טקסט | תואם בדיוק, מכיל, לא מכיל, מכיל ביטוי רגולרי (regex) |
השוואות של מחרוזות בכלל הזה הן תלויות אותיות רישיות. כשמשתמשים באופרטורים תואם בדיוק, מכיל, לא מכיל או מכיל ביטוי רגולרי, אפשר לבחור כמה ערכים. כשמשתמשים באופרטור מכיל ביטוי רגולרי, אפשר ליצור ביטויים רגולריים בפורמט RE2. הביטוי הרגולרי יכול להתאים לכל מחרוזת גרסת היעד או לחלק ממנה. אפשר גם להשתמש בעוגנים ^ ו-$ כדי להתאים את ההתחלה, הסוף או כל מחרוזת היעד. |
| מספרים | <, <=, =, !=, >, >= | מספר עם עד 10 ספרות בכל צד של הנקודה העשרונית. |
| גירסאות | <, <=, =, !=, >, >= | מספר שמייצג את מספרי הגרסאות שצריכים להתאים (לדוגמה, 2.1.0). |
איך מוסיפים אותות בהתאמה אישית לאפליקציה
פרמטרים ותנאים של חיפוש
אתם יכולים לחפש את מפתחות הפרמטרים, ערכי הפרמטרים והתנאים של הפרויקט במסוף Firebase באמצעות תיבת החיפוש שבחלק העליון של הדף DevOps & Engagement (DevOps ומעורבות) > Remote Config (הגדרת תצורה מרחוק) > Parameters (פרמטרים).
מגבלות על פרמטרים ותנאים
בפרויקט Firebase, אפשר להגדיר עד 3,000 פרמטרים ועד 2,000 תנאים. מפתחות הפרמטרים יכולים להיות באורך של עד 256 תווים, חייבים להתחיל בקו תחתון או באות באנגלית (A-Z, a-z) ויכולים לכלול גם מספרים. האורך הכולל של מחרוזות ערכי הפרמטרים בפרויקט לא יכול להיות יותר ממיליון תווים. בנוסף, כללי תנאים שמבוססים על מאפייני משתמשים יכולים לכלול עד 100 ערכים של מאפייני משתמשים. לרשימה המלאה של המגבלות, ראו מכסות ומגבלות.
הצגת השינויים בפרמטרים ובתנאים
אפשר לראות את השינויים האחרונים בתבניות של Remote Config במסוף Firebase. לכל פרמטר ותנאי בנפרד, אתם יכולים:
הצגת השם של המשתמש ששינה לאחרונה את הפרמטר או התנאי.
אם השינוי בוצע באותו יום, מוצג מספר הדקות או השעות שחלפו מאז שהשינוי פורסם בתבנית הפעילה של Remote Config.
אם השינוי בוצע לפני יום אחד או יותר, צריך לבדוק את התאריך שבו השינוי פורסם בתבנית הפעילה של Remote Config.
היסטוריית השינויים של הפרמטרים
במסוף Firebase, נכנסים לדף DevOps & Engagement > הגדרת תצורה מרחוק > Parameters. בעמודה Last published מוצג המשתמש האחרון ששינה כל פרמטר ותאריך הפרסום האחרון של השינוי:
כדי לראות את המטא-נתונים של השינויים בפרמטרים מקובצים, מרחיבים את קבוצת הפרמטרים.
כדי למיין בסדר עולה או יורד לפי תאריך הפרסום, לוחצים על תווית העמודה פורסם לאחרונה.
היסטוריית השינויים של התנאים
במסוף Firebase, נכנסים לדף DevOps & Engagement > הגדרת תצורה מרחוק > תנאים. ליד השינוי האחרון מתחת לכל תנאי, אפשר לראות את המשתמש האחרון ששינה את התנאי ואת התאריך שבו הוא שינה אותו.
השלבים הבאים
כדי להגדיר את פרויקט Firebase ואת אפליקציית השרת לשימוש ב-Remote Config, קראו את המאמר שימוש ב-Remote Config בסביבות שרת.