בדף הזה מופיע חומר עזר ליצירת ביטויים של תנאים באמצעות ממשקי Remote Config backend API או מסוף Firebase. מידע נוסף על הגדרה ושימוש בממשקי ה-API של ה-Backend זמין במאמר שינוי הגדרת התצורה מרחוק באופן פרוגרמטי.
רכיבים שמשמשים ליצירת תנאים
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 על סמך הערך המספרי או ערך המחרוזת של 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.audiences |
.inAtLeastOne([...]) |
הפונקציה מחזירה את הערך app.audiences.inAtLeastOne(['Audience 1', 'Audience 2']) |
app.audiences |
.notInAtLeastOne([...]) |
הפונקציה מחזירה |
app.audiences |
.inAll([...]) |
הפונקציה מחזירה את הערך |
app.audiences |
.notInAll([...]) |
הפונקציה מחזירה את הערך |
app.firstOpenTimestamp |
<=, > |
משווה את השעה של אירוע |
app.userProperty |
<, <=, ==, !=,
>=, > |
הפונקציה מחזירה את הערך |
app.userProperty |
.contains([...]) |
הפונקציה מחזירה |
app.userProperty |
.notContains([...]) |
הפונקציה מחזירה |
app.userProperty |
.exactlyMatches([...]) |
הפונקציה מחזירה |
app.userProperty |
.matches([...]) |
הפונקציה מחזירה את הערך |
app.id |
== |
הפונקציה מחזירה את הערך |
app.build |
<, <=, ==, !=,
>=, > |
הפונקציה מחזירה את הערך |
app.build |
.contains([...]) |
הפונקציה מחזירה את הערך |
app.build |
.notContains([...]) |
הפונקציה מחזירה את הערך |
app.build |
.exactlyMatches([...]) |
הפונקציה מחזירה את הערך |
app.build |
.matches([...]) |
הפונקציה מחזירה את הערך |
app.version |
<, <=, ==, !=,
>=, > |
הפונקציה מחזירה את הערך הערה: אופרטורים להשוואה מספרית תומכים רק בגרסאות סמנטיות מספריות (למשל, |
app.version |
.contains([...]) |
הפונקציה מחזירה את הערך |
app.version |
.notContains([...]) |
הפונקציה מחזירה את הערך |
app.version |
.exactlyMatches([...]) |
הפונקציה מחזירה את הערך |
app.version |
.matches([...]) |
הפונקציה מחזירה את הערך |
app.operatingSystemAndVersion |
.inOne([...]) |
הפונקציה מחזירה את הערך app.operatingSystemAndVersion.inOne([operatingSystemName('Macintosh')
.version.==('10.15')]) |
app.browserAndVersion |
.inOne([...]) |
הפונקציה מחזירה את הערך app.browserAndVersion.inOne([browserName('Chrome').anyVersion]) |
app.firebaseInstallationId |
in [...] |
הפונקציה מחזירה את הערך |
app.customSignal |
<, <=, ==, !=,
>=, > |
הפונקציה מחזירה את הערך |
app.customSignal |
.contains([...]) |
הפונקציה מחזירה את הערך |
app.customSignal |
.notContains([...]) |
הפונקציה מחזירה את הערך |
app.customSignal |
.exactlyMatches([...]) |
הפונקציה מחזירה את הערך |
app.customSignal |
.matches([...]) |
הפונקציה מחזירה את הערך |
version(app.customSignal) |
<, <=, ==, !=,
>=, > |
הפונקציה מחזירה את הערך |
device.country |
in [...] |
הפונקציה מחזירה |
device.dateTime |
<=, > |
הפונקציה משווה בין השעה הנוכחית לבין שעת היעד של התנאי ומחזירה את הערך |
device.language |
in [...] |
הפונקציה מחזירה |
device.os |
==, != |
הפונקציה מחזירה את הערך TRUE אם מערכת ההפעלה של המכשיר תואמת לערך בשדה הזה בהתאם לאופרטור. |
percent |
<=, >, between |
הפונקציה מחזירה את הערך אפשר לציין ערך התחלתי כדי לבחור קבוצה חדשה של מופעי אפליקציות שהוקצו באופן אקראי לטווח אחוזים נתון, כמו שמתואר במאמר בנושא סוגים של כללי תנאים. כדי לעשות זאת, צריך לציין את שם ה-seed לפני האופרטור, כמו בדוגמה הבאה: percent('keyName') <= 10כדי להגדיר טווח ספציפי, אפשר להשתמש באופרטור percent between 20 and 60 כדי להגדיר טווח של משתמשים בין 60 ל-80 באמצעות seed בהתאמה אישית: percent('seedName') between 60 and 80 |