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

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

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

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

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

תנאי משמש למיקוד לקבוצה של מופעי אפליקציה. תנאים מורכבים מכללים אחד או יותר שכולם חייבים להעריך כ- 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. אם לא הופעל ערך מהממשק האחורי, או אם ערכים שהובאו מהקצה האחורי של התצורה המרוחקת לא הופעלו, האפליקציה משתמשת בערך ברירת המחדל בתוך האפליקציה.
  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 עבור מופע נתון של אפליקציית אינטרנט אם הדפדפן והגרסה שלו תואמים לערך יעד ברשימה שצוינה.
תאריך שעה <=, > תאריך ושעה מוגדרים, בין אם באזור הזמן של המכשיר או באזור זמן מוגדר כגון "(GMT+11) זמן סידני." משווה את השעה הנוכחית לזמן אחזור המכשיר.
משתמש באחוזון אקראי <=, > 0-100

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

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

לדוגמה, כדי ליצור שני תנאים קשורים שכל אחד מהם חל על 5% שאינם חופפים ממשתמשי האפליקציה, יכול להיות שתנאי אחד יכלול כלל <= 5% , ותנאי אחר יכלול גם כלל > 5% וגם <= כלל 10% . כדי לאפשר לחלק מהמשתמשים להופיע באופן אקראי בשתי הקבוצות, השתמש במפתחות שונים לכללים בכל תנאי.

משתמש בקהל == בחר אחד או יותר מתוך רשימה של קהלים של Google Analytics שהגדרת עבור הפרויקט שלך.

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

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

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

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

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

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

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

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

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

כדי ללמוד כיצד ניתן לקבל מזהי התקנה, ראה אחזור מזהי לקוח .

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

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

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

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

הצעדים הבאים

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