בדף הזה מופיע מידע עזר ליצירת ביטויים של תנאים באמצעות ממשקי קצה עורפיים של Remote Config או מסוף Firebase. מידע נוסף על הגדרה ושימוש בממשקי ה-API של ה-Backend זמין במאמר שינוי הגדרת התצורה מרחוק באופן פרוגרמטי.
רכיבים שמשמשים ליצירת תנאים
Remote Config REST API תומך באותם רכיבים שאפשר להשתמש בהם כדי ליצור תנאים כשמגדירים את Remote Config באמצעות מסוף Firebase:
רכיב | תיאור |
---|---|
&& |
משמש ליצירת לוגיקת 'וגם' בין אלמנטים אם משתמשים ביותר מאלמנט אחד בתנאי. אם משתמשים ברכיב בתחביר REST בלי הערה: צריך להוסיף רווח לפני ואחרי סימני האמפרסנד. לדוגמה:
|
app.build |
הפונקציה מחזירה את הערך הערה: התכונה זמינה רק במכשירי Apple ו-Android. ב-Apple, משתמשים בערך של CFBundleVersion וב-Android, משתמשים בערך של versionCode. |
app.version |
הפונקציה מחזירה את הערך הערה: במכשירי Android משתמשים בערך של versionName, ובמכשירי Apple משתמשים בערך של CFBundleShortVersionString. |
app.id |
רכיב שמבוסס על מזהה האפליקציה ב-Firebase |
app.audiences |
רכיב שהערך שלו הוא TRUE או FALSE על סמך הנוכחות או היעדרות של המשתמש בקהל אחד או יותר ב-Firebase Analytics. |
app.firstOpenTimestamp |
רכיב שמבוסס על הפעם הראשונה שבה המשתמש מפעיל אפליקציה, ומתקבל מהאירוע Google Analytics first_open . הפורמט הוא תאריך ISO עם אפשרות לציין אזור זמן קבוע. לדוגמה, app.firstOpenTimestamp >= ('2022-10-31T14:37:47', 'America/Los_Angeles') .
אם לא מציינים אזור זמן, המערכת משתמשת ב-GMT.
|
app.userProperty |
רכיב שערך ההערכה שלו הוא TRUE או FALSE על סמך הערך המספרי או ערך המחרוזת של Google Analytics
מאפיין משתמש. |
app.operatingSystemAndVersion |
רכיב שמבוסס על מערכת ההפעלה שבה האפליקציה פועלת.
הערך שמתקבל הוא הערה: האפשרות הזו זמינה רק לאפליקציות אינטרנט. |
app.browserAndVersion |
רכיב שמבוסס על הדפדפן שבו האפליקציה פועלת.
הערך שמתקבל הוא הערה: האפשרות הזו זמינה רק לאפליקציות אינטרנט. |
app.firebaseInstallationId |
רכיב שמבוסס על המזהים של התקנות ספציפיות של מכשירים.
הערך שמתקבל הוא TRUE אם מזהה ההתקנה תואם לאחד ממזהי ההתקנה שצוינו. |
app.customSignal |
רכיב ששווה ל-TRUE או ל-FALSE על סמך הערך המספרי, הסמנטי או המחרוזתי של תנאי האותות המותאמים אישית. |
device.country |
רכיב שמבוסס על האזור או המדינה שבהם נמצא המכשיר, באמצעות תקן ISO 3166-1 alpha-2 (לדוגמה, US או UK). התוצאה היא
TRUE אם המדינה תואמת לקוד המדינה הצפוי. |
device.dateTime |
רכיב שמבוסס על הזמן של האחזור האחרון שהמכשיר מבצע.
משתמש בפורמט תאריך ISO עם האפשרות לציין אזור זמן קבוע, לדוגמה, dateTime('2017-03-22T13:39:44', 'America/Los_Angeles') . |
device.language |
רכיב שמבוסס על השפה שנבחרה במכשיר. השפה מיוצגת באמצעות תג שפה של IETF, כמו es-ES, pt-BR או en-US.
הפונקציה מחזירה את הערך TRUE אם השפה תואמת לקוד שפה צפוי. |
device.os |
רכיב שמבוסס על מערכת ההפעלה שמשמשת במכשיר (Apple או Android).
הערך שמתקבל הוא TRUE כשמערכת ההפעלה של המכשיר היא מהסוג הצפוי. |
percent |
הערך שמתקבל הוא TRUE על סמך הכללת משתמש באחוז שברירי שהוקצה באופן אקראי (עם גודלי מדגם קטנים כמו 0.000001%). |
תנאי של רכיב יחיד מכיל שלושה שדות:
name
(עד 100 תווים)- ביטוי מותנה שהערך המחושב שלו הוא
TRUE
אוFALSE
, שמורכב מהרכיבים שמוצגים למעלה. - (אופציונלי) הערך
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 אם any ביטוי רגולרי של יעד ברשימה תואם למחרוזת משנה של הערך בפועל או לערך כולו. כדי לאלץ התאמה של המחרוזת כולה, מוסיפים את התו ^ לפני הביטוי הרגולרי ואת התו $ אחריו. נעשה שימוש בתחביר של RE2. |
app.id |
== |
הפונקציה מחזירה את הערך TRUE אם הערך שצוין תואם למזהה האפליקציה. |
app.build |
< , <= , == , != ,
>= , > |
הפונקציה מחזירה את הערך TRUE אם הגרסה בפועל של האפליקציה שווה לערך שצוין, בהתאם לאופרטור. |
app.build |
.contains([...]) |
הפונקציה מחזירה את הערך TRUE אם אחד מערכי היעד הוא מחרוזת משנה של גרסת האפליקציה בפועל – לדוגמה, 'a' ו-'bc' הן מחרוזות משנה של 'abc'. |
app.build |
.notContains([...]) |
הפונקציה מחזירה את הערך TRUE אם אף אחד מערכי היעד לא נמצא כמחרוזת משנה בגרסת ה-build בפועל של האפליקציה. |
app.build |
.exactlyMatches([...]) |
הפונקציה מחזירה את הערך TRUE אם הגרסה בפועל של האפליקציה זהה בדיוק לאחד מערכי היעד ברשימה. |
app.build |
.matches([...]) |
הפונקציה מחזירה TRUE אם any ביטוי רגולרי של יעד ברשימה תואם למחרוזת משנה של הערך בפועל או לערך כולו. כדי לאלץ התאמה של המחרוזת כולה, צריך להוסיף לפני הביטוי הרגולרי את התו ^ ואחריו את התו $. נעשה שימוש בתחביר
RE2. |
app.version |
< , <= , == , != ,
>= , > |
הפונקציה מחזירה את הערך TRUE אם הגרסה בפועל של האפליקציה שווה לערך שצוין, או גדולה או קטנה ממנו, בהתאם לאופרטור. |
app.version |
.contains([...]) |
הפונקציה מחזירה TRUE אם אחד מערכי היעד הוא מחרוזת משנה של גרסת האפליקציה בפועל – לדוגמה, 'a' ו-'bc' הן מחרוזות משנה של 'abc'. |
app.version |
.notContains([...]) |
הפונקציה מחזירה את הערך TRUE אם אף אחד מערכי היעד הוא מחרוזת משנה של גרסת האפליקציה בפועל. |
app.version |
.exactlyMatches([...]) |
הפונקציה מחזירה את הערך TRUE אם הגרסה בפועל של האפליקציה זהה בדיוק לאחד מערכי היעד ברשימה. |
app.version |
.matches([...]) |
הפונקציה מחזירה TRUE אם any ביטוי רגולרי של יעד ברשימה תואם למחרוזת משנה של הערך בפועל או לערך כולו. כדי לאלץ התאמה של המחרוזת כולה, צריך להוסיף לפני הביטוי הרגולרי את התו ^ ואחריו את התו $. נעשה שימוש בתחביר
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'] |
app.customSignal |
< , <= , == , != ,
>= , > |
הפונקציה מחזירה את הערך TRUE אם התנאי של האות המותאם אישית שווה מבחינה מספרית לערך שצוין, בהתאם לאופרטור.
|
app.customSignal |
.contains([...]) |
הפונקציה מחזירה TRUE אם אחד מערכי היעד הוא מחרוזת משנה של התנאי בפועל של האות המותאם אישית.
|
app.customSignal |
.notContains([...]) |
הפונקציה מחזירה TRUE אם אחד מערכי היעד הוא מחרוזת משנה של
התנאי בפועל של האות המותאם אישית.
|
app.customSignal |
.exactlyMatches([...]) |
הפונקציה מחזירה את הערך TRUE אם התנאי של האות המותאם אישית תואם בדיוק (case-sensitive) לאחד מערכי היעד ברשימה.
|
app.customSignal |
.matches([...]) |
הפונקציה מחזירה TRUE אם ביטוי רגולרי כלשהו ברשימת הביטויים הרגולריים של היעד תואם למחרוזת משנה של התנאי בפועל של האות המותאמת אישית, או לכל התנאי בפועל. כדי
לכפות התאמה של המחרוזת כולה, מוסיפים לפני הביטוי הרגולרי את התו ^ ואחריו את התו $. נעשה שימוש בתחביר של
RE2.
|
version(app.customSignal) |
< , <= , == , != ,
>= , > |
הפונקציה מחזירה את הערך TRUE אם התנאי של האות המותאם אישית דומה מבחינה סמנטית לערך שצוין באופן שתואם לאופרטור.
|
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 כדי להגדיר טווח ספציפי, אפשר להשתמש באופרטור percent between 20 and 60 כדי להגדיר טווח של משתמשים בין 60 ל-80 באמצעות seed בהתאמה אישית: percent('seedName') between 60 and 80 |