בדף הזה מופיע מידע על בניית ביטויים של תנאים באמצעות ממשקי API לקצה העורפי של Remote Config או מסוף Firebase. מידע נוסף על הגדרה ושימוש בממשקי ה-API לקצה העורפי זמין במאמר שינוי הגדרת התצורה מרחוק באופן פרוגרמטי.
רכיבים שמשמשים ליצירת תנאים
ב-API בארכיטקטורת REST של Remote Config יש תמיכה באותם רכיבים שבהם אפשר להשתמש כדי ליצור תנאים כשמגדירים את Remote Config באמצעות מסוף Firebase:
| רכיב | תיאור |
|---|---|
&& |
משמש ליצירת "וגם" לוגי של רכיבים אם משתמשים ביותר מרכיב אחד לתנאי. אם משתמשים ברכיב בתחביר REST בלי הערה: צריך להוסיף רווח לפני ואחרי סימני האמפרסנד. לדוגמה:
|
app.build |
הפונקציה מחזירה את הערך הערה: התכונה זמינה רק במכשירי אפל ו-Android. ב-Apple, משתמשים בערך של CFBundleVersion וב-Android, משתמשים בערך של versionCode. |
app.version |
הפונקציה מחזירה את הערך הערה: במכשירי Android משתמשים בערך של versionName, ובמכשירי אפל משתמשים בערך של 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 (לדוגמה, IL או US). התוצאה היא 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 באמצעות ערך ראשוני בהתאמה אישית: percent('seedName') between 60 and 80 |