בדף הזה מופיע מידע עזר בנושא יצירה של ביטויים מותנים באמצעות ממשקי API לקצה העורפי של Remote Config או באמצעות מסוף Firebase. מידע נוסף על הגדרה ושימוש בממשקי ה-API לקצה העורפי זמין במאמר שינוי של Remote Config באופן פרוגרמטי.
רכיבים המשמשים ליצירת תנאים
ב-API ל-REST של Remote Config יש תמיכה באותם אלמנטים שאפשר להשתמש בהם כדי ליצור תנאים כשמגדירים את 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 על סמך הערך המספרי או המחרוזת של מאפיין משתמש ב-Firebase Analytics. |
app.operatingSystemAndVersion |
רכיב שמבוסס על מערכת ההפעלה שבה פועלת אפליקציה.
הפונקציה מבצעת הערכה מול הערה: האפשרות הזו זמינה רק באפליקציות אינטרנט. |
app.browserAndVersion |
רכיב שמבוסס על הדפדפן שבו פועלת האפליקציה.
הפונקציה מחזירה ערך הערה: האפשרות הזו זמינה רק באפליקציות אינטרנט. |
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, כמו 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
אם גרסת build האפליקציה בפועל היא 123 או 492, אבל מחזירה את הערך FALSE
אם גרסת build האפליקציה בפועל היא 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 אם גרסת ה-build של האפליקציה בפועל משווה בין המספרים
לערך שצוין באופן שתואם לאופרטור. |
app.build |
.contains([...]) |
הפונקציה מחזירה את הערך TRUE אם אחד מערכי היעד הוא מחרוזת משנה של
את גרסת ה-build של האפליקציה, לדוגמה, ו-bc הן מחרוזות משנה של
'abc'. |
app.build |
.notContains([...]) |
הפונקציה מחזירה את הערך TRUE אם אף אחד מערכי היעד הוא מחרוזת משנה של
את גרסת ה-build בפועל של האפליקציה. |
app.build |
.exactlyMatches([...]) |
הפונקציה מחזירה את הערך TRUE אם גרסת ה-build של האפליקציה בפועל תואמת בדיוק
כל אחד מערכי היעד ברשימה. |
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 כדי להגדיר טווח ספציפי, אפשר להשתמש בפונקציה percent between 20 and 60 כדי להגדיר טווח של משתמשים בין 60 ל-80 באמצעות מקור מותאם אישית: percent('seedName') between 60 and 80 |