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


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

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

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

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

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

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

  3. אם לא הוגדר ערך ברירת מחדל בתוך האפליקציה, האפליקציה משתמשת בערך מסוג סטטי (לדוגמה, 0 עבור int ו-false עבור boolean).

בתרשים הזה מוצג סיכום של סדר העדיפויות של ערכי הפרמטרים ב-Remote Config backend ובאפליקציה:

דיאגרמה שמציגה את התהליך שמתואר ברשימות המסודרות שלמעלה

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

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. בוחרים קבוצה קיימת או יוצרים קבוצה חדשה על ידי הזנת שם ותיאור, ובוחרים באפשרות יצירת קבוצה חדשה. אחרי ששומרים קבוצה, אפשר לפרסם אותה באמצעות הלחצן פרסום שינויים.

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

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

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

כך משתמשים במאפיין הזה:
  • בפלטפורמות של אפל: משתמשים ב-CFBundleIdentifier של האפליקציה. אפשר למצוא את מזהה החבילה בכרטיסייה כללי של היעד הראשי של האפליקציה ב-Xcode.
  • ב-Android: משתמשים ב-applicationId של האפליקציה. אפשר למצוא את applicationId בקובץ build.gradle(.kts) ברמת האפליקציה.
גרסת אפליקציה לערכי מחרוזת:
התאמה מדויקת,
מכיל,
לא מכיל,
מכיל ביטוי רגולרי

לערכים מספריים:
<, <=, =, !=, >, >=

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

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

בפלטפורמות של אפל: משתמשים ב-CFBundleShortVersionString של האפליקציה.

הערה: חשוב לוודא שבאפליקציה שלכם ל-Apple נעשה שימוש ב-Firebase Apple platforms SDK בגרסה 6.24.0 ואילך, כי CFBundleShortVersionString לא נשלח בגרסאות קודמות (ראו הערות על הגרסה).

ב-Android: משתמשים ב-versionName של האפליקציה.

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

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

מספר Build לערכי מחרוזת:
תואם בדיוק,
מכיל,
לא מכיל,
ביטוי רגולרי

לערכים מספריים:
=, ‏≠, ‏>, ‏≥, ‏<, ‏≤

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

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

האופרטור הזה זמין רק לאפליקציות ל-Apple ול-Android. הוא תואם ל-CFBundleVersion של האפליקציה ב-Apple ול-versionCode ב-Android. השוואות המחרוזות בכלל הזה הן תלויות-רישיות.

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

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

פלטפורמה == ‫iOS
Android
אינטרנט
 
מערכת הפעלה ==

מציינים את מערכות ההפעלה לטירגוט.

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

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

מציינים את הדפדפנים לטירגוט.

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

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

הכלל הזה מחייב כלל של מזהה אפליקציה כדי לבחור אפליקציה שמשויכת לפרויקט Firebase.

הערה: הרבה קהלים ב-Analytics מוגדרים על סמך אירועים או מאפייני משתמשים, שיכולים להתבסס על פעולות של משתמשי האפליקציה. לכן, יכול להיות שיעבור זמן עד שכלל מסוג User in audience ייכנס לתוקף עבור מופע נתון של אפליקציה.

מאפיין משתמש לערכי מחרוזת:
contains,
does not contain,
exactly matches,
contains regex

לערכים מספריים:
=, ≠, >, ≥, <, ≤

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

מידע נוסף על מאפייני משתמש זמין במדריכים הבאים:

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

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

הערה: מאפייני משתמשים שנאספים באופן אוטומטי לא זמינים כשיוצרים תנאים של Remote Config.
משתמש באחוז אקראי פס ההזזה (במסוף Firebase). ‫REST API משתמש באופרטורים <=, > ו-between). 0-100

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

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

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

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

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

פלח שיובא נמצא ב- בוחרים פלח מיובא אחד או יותר. כדי להשתמש בכלל הזה, צריך להגדיר פלחים מיובאים בהתאמה אישית.
תאריך/שעה לפני, אחרי תאריך ושעה שצוינו, באזור הזמן של המכשיר או באזור זמן שצוין, כמו '(GMT+11) שעון סידני'. השוואה בין השעה הנוכחית לבין שעת האחזור של המכשיר.
פתיחה ראשונה לפני, אחרי תאריך ושעה ספציפיים, באזור הזמן שצוין.

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

נדרשות ערכות ה-SDK הבאות:

  • Firebase SDK for Google Analytics
  • ‫Apple platforms SDK v9.0.0+ או Android SDK v21.1.1+‎ (Firebase BoM v30.3.0+)
מזהה ההתקנה נמצא ב- מציינים מזהה התקנה אחד או יותר (עד 50) לטירגוט. הערך של הכלל הזה הוא true עבור התקנה מסוימת אם המזהה של ההתקנה הזו נמצא ברשימת הערכים המופרדים בפסיקים.

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

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

אות מותאם אישית לערכי מחרוזת:
contains,
does not contain,
exactly matches,
contains regex

לערכים מספריים:
=, ≠, >, ≥, <, ≤

לערכי גרסה:
=, ≠, >, ≥, <, ≤

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

יש תמיכה בסוגי הנתונים הבאים בסביבות לקוח:
  • ‫iOS: ‏ int, ‏ double
  • ‫Android: ‏ int, ‏ long, ‏ double
  • אינטרנט: מספר

ספרה שמייצגת את מספרי הגרסאות שצריך להתאים (לדוגמה, 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, אפשר לעיין במאמר תחילת העבודה עם Firebase Remote Config.