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

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

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

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

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

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

לדוגמה, פרמטר המגדיר את דף הפתיחה של אפליקציה יכול להציג תמונות שונות על סמך סוג מערכת ההפעלה באמצעות הכלל הפשוט if device_os = Android :

צילום מסך של הפרמטר 'splash_page' במסוף Firebase מציג את ערך ברירת המחדל שלו עבור iOS וערך מותנה עבור Android

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

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

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

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

ערכי פרמטרים בצד השרת מובאים לפי רשימת העדיפויות הבאה

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

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

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

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

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

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

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

תרשים המציג את הזרימה המתוארת על ידי הרשימות המסודרות לעיל

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

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

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

  • String
  • Boolean
  • Number
  • JSON

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

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

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

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

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

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

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

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

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

צור קבוצות באופן פרוגרמטי

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

  1. אחזר את התבנית הנוכחית
  2. הוסף אובייקטי JSON כדי לייצג את קבוצות הפרמטרים שלך
  3. פרסם את קבוצות הפרמטרים באמצעות בקשת HTTP PUT.

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

לדוגמה, הנה קטע מגרסה של תבנית שמוסיפה את קבוצת הפרמטרים "תפריט חדש" עם פרמטר אחד, pumpkin_spice_season :

{
  "parameters": {},
  "version": {
    "versionNumber": "1",

    …


  },
  "parameterGroups": {
    "new menu": {
      "description": "New Menu",
      "parameters": {
        "pumpkin_spice_season": {
          "defaultValue": {
            "value": "true"
          },
          "description": "Whether it's currently pumpkin spice season."
        }
      }
    }
  }
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ציין את המבנה/ים של האפליקציה שלך למיקוד.

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

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

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

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

פּלַטפוֹרמָה == iOS
דְמוּי אָדָם
אינטרנט
מערכת הפעלה ==

ציין את מערכות ההפעלה למיקוד.

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

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

ציין את הדפדפנים למיקוד.

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

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

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

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

נכס משתמש עבור ערכי מחרוזת:
מכיל,
לא מכיל,
מתאים בדיוק,
הבעה רגילה

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Firebase SDK עבור Google Analytics
  • פלטפורמות Apple SDK v9.0.0+ או Android SDK v21.1.1+ (Firebase BoM v30.3.0+)

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

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

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

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

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

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

בתוך פרויקט Firebase, אתה יכול לקבל עד 2000 פרמטרים ועד 500 תנאים. מפתחות פרמטר יכולים להיות באורך של עד 256 תווים, חייבים להתחיל בקו תחתון או בתו באנגלית (AZ, az), ועשויים לכלול גם מספרים. האורך הכולל של מחרוזות ערכי פרמטרים בתוך פרויקט אינו יכול לעלות על 1,000,000 תווים.

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

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

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

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

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

עדכוני פרמטרים

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

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

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

עדכוני מצב

בדף 'תנאי תצורה מרחוק', תוכל לראות את המשתמש האחרון ששינה את התנאי ואת התאריך שבו שינה אותו לצד 'שינוי אחרון' מתחת לכל תנאי.

הצעדים הבאים

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