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

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

אלמנטים המשמשים ליצירת תנאים

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

אֵלֵמֶנט תיאור
&&

משמש ליצירת "ו" לוגי של אלמנטים אם משתמשים ביותר מאלמנט אחד עבור תנאי. אם נעשה שימוש באלמנט בתחביר REST ללא ה && , הרכיב הזה יטופל כתנאי.

הערה: נדרש רווח לפני ואחרי האמפרסנד. לדוגמה: element1 && element2 .

app.build

מוערך ל- TRUE או FALSE על סמך הערך של מספר ה-build של אפליקציה.

הערה: זמין רק במכשירי אפל ואנדרואיד. עבור Apple, השתמש בערך של CFBundleVersion ועבור Android, השתמש בערך של versionCode .

app.version

מוערך ל- TRUE או FALSE על סמך הערך של מספר הגרסה של אפליקציה.

הערה: עבור מכשירי אנדרואיד השתמש בערך של versionName , ועבור מכשירי Apple השתמש בערך של CFBundleShortVersionString .

app.id רכיב המבוסס על מזהה האפליקציה Firebase של האפליקציה
app.audiences רכיב שמעריך כ- TRUE או FALSE על סמך נוכחות או היעדרות של המשתמש בקהל אחד או יותר של Firebase Analytics .
app.firstOpenTimestamp אלמנט המבוסס על הפעם הראשונה שהמשתמש משיק אפליקציה, המתקבל מהאירוע first_open של Google Analytics. משתמש בפורמט תאריך ISO עם אפשרות לציין אזור זמן קבוע; לדוגמה, app.firstOpenTimestamp >= ('2022-10-31T14:37:47', 'America/Los_Angeles') . אם לא צוין אזור זמן, נעשה שימוש ב-GMT.
app.userProperty רכיב שמוערך ל- TRUE או FALSE על סמך הערך המספרי או המחרוזת של נכס משתמש של Firebase Analytics .
app.operatingSystemAndVersion

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

הערה: זמין רק עבור אפליקציות אינטרנט.

app.browserAndVersion

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

הערה: זמין רק עבור אפליקציות אינטרנט.

app.firebaseInstallationId אלמנט המבוסס על המזהים של התקנות מכשיר ספציפיות. מוערך ל- TRUE כאשר מזהה ההתקנה תואם לאחד ממזהי ההתקנה שצוינו.
device.country רכיב המבוסס על האזור/המדינה שהמכשיר נמצא בו, תוך שימוש בתקן ISO 3166-1 alpha-2 (לדוגמה, ארה"ב או בריטניה). מוערך ל- TRUE כאשר מדינה תואמת לקוד מדינה צפוי.
device.dateTime רכיב המבוסס על זמן האחזור האחרון שהמכשיר מבצע. משתמש בפורמט תאריך ISO עם אפשרות לציין אזור זמן קבוע; לדוגמה, dateTime('2017-03-22T13:39:44', 'America/Los_Angeles') .
device.language רכיב המבוסס על השפה שנבחרה במכשיר. השפה מיוצגת באמצעות תג IETF Language כגון es-ES, pt-BR או en-US. מוערך ל- TRUE כאשר שפה תואמת לקוד שפה צפוי.
device.os רכיב המבוסס על מערכת ההפעלה המשמשת במכשיר (אפל או אנדרואיד). מוערך ל- TRUE כאשר מערכת ההפעלה של המכשיר היא מהסוג הצפוי.
percent מוערך ל- TRUE בהתבסס על הכללת משתמש באחוז חלקי שהוקצה אקראית (עם גודל מדגם קטן כמו 0.000001%).

תנאי של רכיב בודד מכיל שלושה שדות:

  1. name מוגדר באופן שרירותי (עד 100 תווים)
  2. ביטוי מותנה המוערך ל- TRUE או FALSE , המורכב מהאלמנטים המוצגים למעלה.
  3. (אופציונלי) tagColor , שיכול להיות " BLUE ", " BROWN ", " CYAN ", " DEEP_ORANGE ", " GREEN ", " INDIGO ", " LIME ", " ORANGE ", " PINK ", " PURPLE ", או " TEAL ". הצבע אינו תלוי רישיות, ומשפיע רק על אופן הצגת התנאים במסוף Firebase.

מפעילים נתמכים

לדוגמה, app.build.notContains([123, 456]) מחזיר TRUE אם בניית האפליקציה בפועל היא 123 או 492, אך מחזירה FALSE אם בניית האפליקציה בפועל היא 999. לדוגמה, app.version.notContains([123, 456]) מחזירה TRUE אם גרסת האפליקציה בפועל היא 123 או 492, אך מחזירה FALSE אם גרסת האפליקציה בפועל היא 999.
אֵלֵמֶנט מפעילים נתמכים תיאור
app.audiences .inAtLeastOne([...]) מחזירה TRUE אם הקהל בפועל תואם לפחות שם קהל אחד ברשימה.
לדוגמה:

app.audiences.inAtLeastOne(['Audience 1', 'Audience 2'])

app.audiences .notInAtLeastOne([...]) מחזירה TRUE אם הקהל בפועל אינו תואם לפחות שם קהל אחד ברשימה.
app.audiences .inAll([...]) מחזירה TRUE אם הקהל בפועל הוא חבר בכל שם קהל ברשימה.
app.audiences .notInAll([...]) מחזירה TRUE אם הקהל בפועל אינו חבר באף קהל ברשימה.
app.firstOpenTimestamp <=, > משווה את הזמן של אירוע first_open עם הזמן שצוין בתנאי ומחזיר TRUE או FALSE בהתבסס על האופרטור.
שימוש לדוגמה:
app.firstOpenTimestamp >= ('2022-10-31T14:37:47', 'America/Los_Angeles') .
כדי לציין טווח:
app.firstOpenTimestamp >= ('2022-11-01T00:00:00') && app.firstOpenTimestamp < ('2022-12-01T00:00:00') אם לא צוין אזור זמן, נעשה שימוש ב-GMT.
app.userProperty < , <= , == , != , >= , > מחזירה TRUE אם מאפיין המשתמש בפועל משווה מספרית לערך שצוין בצורה שתואמת לאופרטור.
app.userProperty .contains([...]) מחזירה TRUE אם אחד מערכי היעד הוא מחרוזת משנה של מאפיין המשתמש בפועל.
app.userProperty .notContains([...]) מחזירה TRUE אם אף אחד מערכי היעד אינו מחרוזת משנה של מאפיין המשתמש בפועל.
app.userProperty .exactlyMatches([...]) מחזירה TRUE אם מאפיין המשתמש בפועל תואם במדויק (תלוי רישיות) לכל אחד מערכי היעד ברשימה.
app.userProperty .matches([...]) מחזירה TRUE אם ביטוי רגולרי יעד כלשהו ברשימה תואם למחרוזת משנה של הערך האמיתי, או לכל הערך. כדי לכפות התאמה של המחרוזת כולה, הקדמת הביטוי הרגולרי ב-"^" וסיומו ב-"$". משתמש בתחביר RE2 .
app.id == מחזירה TRUE אם הערך שצוין תואם לזהות האפליקציה של האפליקציה.
app.build < , <= , == , != , >= , > מחזירה TRUE אם בניית האפליקציה בפועל משווה מספרית לערך שצוין בצורה שתואמת לאופרטור.
app.build .contains([...]) מחזירה TRUE אם אחד מערכי היעד הוא מחרוזת משנה של בניית האפליקציה בפועל - לדוגמה, "a" ו-"bc" הן מחרוזות משנה של "abc".
app.build .notContains([...]) מחזירה TRUE אם אף אחד מערכי היעד אינו מחרוזת משנה של בניית האפליקציה בפועל.
app.build .exactlyMatches([...]) מחזירה TRUE אם בניית האפליקציה בפועל תואמת בדיוק לכל אחד מערכי היעד ברשימה.
app.build .matches([...]) מחזירה TRUE אם ביטוי רגולרי יעד כלשהו ברשימה תואם למחרוזת משנה של הערך האמיתי, או לכל הערך. כדי לכפות התאמה של המחרוזת כולה, הקדמת הביטוי הרגולרי ב-"^" וסיומו ב-"$". משתמש בתחביר RE2 .
app.version < , <= , == , != , >= , > מחזירה TRUE אם גרסת האפליקציה בפועל משתווה מספרית לערך שצוין בצורה שתואמת לאופרטור.
app.version .contains([...]) מחזירה TRUE אם אחד מערכי היעד הוא מחרוזת משנה של גרסת האפליקציה בפועל - לדוגמה, "a" ו-"bc" הן מחרוזות משנה של "abc".
app.version .notContains([...]) מחזירה TRUE אם אף אחד מערכי היעד אינו מחרוזת משנה של גרסת האפליקציה בפועל.
app.version .exactlyMatches([...]) מחזירה TRUE אם גרסת האפליקציה בפועל תואמת בדיוק לכל אחד מערכי היעד ברשימה.
app.version .matches([...]) מחזירה TRUE אם ביטוי רגולרי יעד כלשהו ברשימה תואם למחרוזת משנה של הערך האמיתי, או לכל הערך. כדי לכפות התאמה של המחרוזת כולה, הקדמת הביטוי הרגולרי ב-"^" וסיומו ב-"$". משתמש בתחביר RE2 .
app.operatingSystemAndVersion .inOne([...]) מחזירה TRUE אם מערכת ההפעלה והגרסה תואמות לכל אחד מערכי היעד ברשימה.
לדוגמה:

    app.operatingSystemAndVersion.inOne([operatingSystemName('Macintosh').version.==('10.15')])
    

app.browserAndVersion .inOne([...]) מחזירה TRUE אם הדפדפן והגרסה תואמים לכל אחד מערכי היעד ברשימה.
לדוגמה:

    app.browserAndVersion.inOne([browserName('Chrome').anyVersion])
    

app.firebaseInstallationId in [...] מחזירה TRUE אם מזהה ההתקנה תואם למישהו שצוין ברשימה. שימוש לדוגמה: app.firebaseInstallationId in ['eyJhbGciOiJFUzI1N_iIs5', 'eapzYQai_g8flVQyfKoGs7']
device.country in [...] מחזירה TRUE אם מדינת המכשיר תואמת לאחת שצוינה ברשימה. שימוש לדוגמה: device.country in ['gb', 'us'] . קוד המדינה של המכשיר נקבע באמצעות כתובת ה-IP של המכשיר בבקשה או קוד המדינה שנקבע על ידי Firebase Analytics (אם נתוני Analytics משותפים עם Firebase).
device.dateTime <= , > משווה את הזמן הנוכחי לזמן היעד של המצב ומעריך ל- TRUE או FALSE בהתבסס על האופרטור. שימוש לדוגמה: dateTime < dateTime('2017-03-22T13:39:44') .
device.language in [...] מחזירה TRUE אם אחת מהשפות של האפליקציה תואמת לשפה ברשימה. שימוש לדוגמה: device.language in ['en-UK', 'en-US'] .
device.os == , != מחזירה TRUE אם מערכת ההפעלה של המכשיר משתווה לערך באותו שדה התואם למפעיל.
percent <= , > , between מחזירה TRUE אם הערך בשדה percent משתווה לערך שהוקצה באקראי התואם לאופרטור.

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

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

percent('keyName') <= 10

כדי להגדיר טווח ספציפי, אתה יכול להשתמש באופרטור between . כדי להגדיר טווח משתמשים בין 20 ל-60 באמצעות ה- Seed ברירת המחדל :

percent between 20 and 60

כדי להגדיר טווח משתמשים בין 60 ל-80 באמצעות סיד מותאם אישית:

percent('seedName') between 60 and 80