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

בעת שימוש Firebase קונסולה או APIs backend Config מרחוק , אתה מגדיר פרמטר אחד או יותר (זוגות מפתח-ערך) ולספק בתוך האפליקציה ערכי ברירת מחדל עבור הפרמטרים האלה. אתה יכול לעקוף ערכי ברירת מחדל בתוך האפליקציה על ידי הגדרת ערכי פרמטרים בצד השרת. מפתחות פרמטרים וערכי פרמטרים הם מחרוזות, אך ניתן להעביר ערכי פרמטרים כסוגי נתונים אחרים כאשר אתה משתמש בערכים אלה באפליקציה שלך.

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

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

תנאים, כללים וערכים מותנים

תנאי משמש למיקוד לקבוצה של מופעי אפליקציה. תנאים מורכבים כלל אחד או יותר כי חייב כול להעריך אל true את המצב כדי להעריך אל true עבור מופע יישום נתון. אם הערך עבור כלל אינו מוגדר (למשל, כאשר אין ערך זמין), הכלל כי יעריך כדי false .

לדוגמה, פרמטר המגדיר דף הפתיחה של היישום יכול להציג תמונות שונות בהתאם לסוג מערכת ההפעלה באמצעות כלל פשוט if device_os = Android :

צילום מסך של הפרמטר 'splash_page' במסוף Firebase מציג את ערך ברירת המחדל שלו עבור iOS וערך מותנה עבור Android

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

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

עדיפות ערך פרמטר

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

ערכי פרמטרים בצד השרת מובאים לפי רשימת העדיפויות הבאה

  1. ראשית, מוחלי ערכים מותנים, אם בכלל יש תנאים להעריך עד true עבור מופע יישום נתון. אם מספר תנאים להעריך את true , הראשון (עליון) אחד המוצגים Firebase קונסולת UI מקבל קדימות, וערכים מותנים הקשורים במחלה אשר סופקו כאשר אפליקציה מביאה ערכים מן backend. אתה יכול לשנות את העדיפות של תנאים על ידי גרירה ושחרור בתנאים בכרטיסיית התנאי.

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

באפליקציה שלך, ערכי פרמטרים מוחזרים על ידי get שיטות פי סדר העדיפויות הבאות

  1. אם ערך הובא מהקצה האחורי ולאחר מכן הופעל, האפליקציה משתמשת בערך שאוחזר. ערכי הפרמטרים המופעלים הם קבועים.
  2. אם לא הופעל ערך מהממשק העורפי, או אם לא הופעלו ערכים שהוחזרו מהקצה האחורי של התצורה המרוחקת, האפליקציה משתמשת בערך ברירת המחדל בתוך האפליקציה.
  3. אם אין ערך ברירת המחדל ב- app נקבע, האפליקציה משתמשת ערך מסוג סטטי (כגון 0 עבור int ו false עבור boolean ).

גרפיקה זו מסכמת כיצד ערכי פרמטר מקבלים עדיפות ב-Remote Config Backend, ובאפליקציה שלך:

תרשים המציג את הזרימה המתוארת על ידי הרשימות המסודרות לעיל

סוגי נתונים של ערכי פרמטר

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

הסוגים הנתמכים כעת הם:

  • String
  • Boolean
  • Number
  • JSON

בממשק המשתמש של מסוף Firebase ניתן לבחור את סוג הנתונים מתוך תפריט נפתח לצד מפתח הפרמטר. בשאר סוגי API ניתן להגדיר באמצעות value_type השדות בתוך אובייקט פרמטר.

קבוצות פרמטרים

Config מרחוק מאפשר לך לקבץ פרמטרים יחדיו ליצירת ממשק משתמש מאורגן יותר ומודל מנטלי.

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

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

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

צור או שנה קבוצות פרמטרים באמצעות מסוף Firebase

אתה יכול פרמטרי קבוצת הפרמטרים הלשוניים של קונסולת Firebase. כדי ליצור או לשנות קבוצה:

  1. בחרו ניהול קבוצות.
  2. תיבות סימון בחר עבור פרמטרים שברצונך להוסיף ובחר עבר לקבוצה.
  3. בחר קבוצה קיימת, או ליצור קבוצה חדשה על ידי הזנה שם ותיאור, ובחירה באפשרות צור קבוצה חדשה. אחרי שמירה של קבוצה, הוא זמין להתפרסם באמצעות הלחצן השינויים פרסמו.

צור קבוצות באופן פרוגרמטי

API REST Config מרחוק מספק דרך אוטומטית ליצור ולפרסם קבוצות פרמטר. בהנחה שאתה מכיר את REST ומוגדר לאשר בקשות ל-API, תוכל לבצע את השלבים הבאים כדי לנהל קבוצות באופן פרוגרמטי:

  1. אחזר את התבנית הנוכחית
  2. הוסף אובייקטי JSON כדי לייצג את קבוצות הפרמטרים שלך
  3. פרסם את קבוצות הפרמטרים באמצעות בקשת HTTP PUT.

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

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

{
  "parameters": {},
  "version": {
    "versionNumber": "1",

    …


  },
  "parameterGroups": {
    "new menu": {
      "description": "New Menu",
      "parameters": {
        "pumpkin_spice_season": {
          "defaultValue": {
            "value": "true"
          },
          "description": "Whether it's currently pumpkin spice season."
        }
      }
    }
  }
}

סוגי כללי תנאי

סוגי הכללים הבאים נתמכים במסוף Firebase. פונקציונליות Equivalent זמין API REST Config מרחוק, כמפורט התייחסות ביטוי מותנה .

סוג כלל מפעיל(ים) ערכים הערה
אפליקציה == בחר מתוך רשימה של מזהי אפליקציות עבור אפליקציות המשויכות לפרויקט Firebase שלך. כשמוסיפים אפליקציה Firebase, תזין זיהוי חבילה או שם חבילה אנדרואיד שמגדירה תכונה אשר נחשף כפי App ID בכללים Config מרחוק.

השתמש בתכונה זו באופן הבא:
  • עבור פלטפורמות אפלות: השימוש באפליקציה של CFBundleIdentifier . אתה יכול למצוא את מזהה החבילה בלשונית הכללית עבור היעד העיקרי של האפליקציה ב- Xcode.
  • עבור אנדרואיד: השתמש באפליקציה applicationId . אתה יכול למצוא את applicationId ביישום שלך ברמת build.gradle קובץ.
גרסת האפליקציה עבור ערכי מחרוזת:
מתאים בדיוק,
מכיל,
לא מכיל,
הבעה רגילה

עבור ערכים מספריים:
=, ≠, >, ≥, <, ≤

ציין את הגרסאות של האפליקציה שלך למיקוד.

לפני השימוש הכלל הזה, אתה חייב להשתמש בכלל App ID כדי לבחור אפליקציה אנדרואיד / אפל הקשורים בפרויקט Firebase שלך.

עבור פלטפורמות אפלות: השתמש באפליקציה CFBundleShortVersionString .

הערה: ודא שאפליקציית האפלה שלך משתמשת פלטפורמות Firebase אפל גרסת SDK 6.24.0 ומעלה, כפי CFBundleShortVersionString הוא לא נשלח בגרסות קודמות (ראה הערות שחרור ).

עבור אנדרואיד: השתמש באפליקציה שם גרסה .

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

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

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

עבור ערכים מספריים:
=, ≠, >, ≥, <, ≤

ציין את המבנה/ים של האפליקציה שלך למיקוד.

לפני השימוש הכלל הזה, אתה חייב להשתמש בכלל App ID כדי לבחור אפליקציה אפל או אנדרואיד משויכת לפרויקט Firebase שלך.

מפעיל זה זמין עבור אפליקציות אפל ואנדרואיד בלבד. זה מתאים של האפליקציה CFBundleVersion עבור אפל versionCode עבור אנדרואיד. השוואות מחרוזות לכלל זה הן תלויות רישיות.

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

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

פּלַטפוֹרמָה == iOS
דְמוּי אָדָם
אינטרנט
מערכת הפעלה ==

ציין את מערכות ההפעלה למיקוד.

לפני שימוש הכלל הזה, אתה חייב להשתמש בכלל App ID לבחור אפליקצית אינטרנט הקשורים בפרויקט Firebase שלך.

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

ציין את הדפדפנים למיקוד.

לפני שימוש הכלל הזה, אתה חייב להשתמש בכלל App ID לבחור אפליקצית אינטרנט הקשורים בפרויקט Firebase שלך.

כלל זה מוערך true עבור מופע יישום האינטרנט נתון אם הדפדפן והגרסה שלו מתאים לערך יעד ברשימה שצוינה.
תאריך שעה <=, > תאריך ושעה מוגדרים, בין אם באזור הזמן של המכשיר או באזור זמן מוגדר כגון "(GMT+11) זמן סידני." משווה את השעה הנוכחית לזמן אחזור המכשיר.
משתמש באחוזון אקראי <=, > 0-100

השתמש בשדה זה כדי להחיל שינוי מדגם אקראי של מקרי אפליקציה (עם גודל מדגם קטן כמו 0.0001%), באמצעות <= ו> מפעילים כדי לפלח את המשתמשים (מקרי אפליקציה) לקבוצות.

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

לדוגמא, כדי ליצור שני תנאים נלווים שכול חלים על 5% שאינו חופפים של המשתמשים באפליקציה, אתה יכול להיות בתנאי אחד כולל <שלטון = 5%, ומצבו אחר תכלול גם> כלל 5% ו <= 10% כלל. כדי לאפשר לחלק מהמשתמשים להופיע באופן אקראי בשתי הקבוצות, השתמש במפתחות שונים לכללים בכל תנאי.

משתמש בקהל == בחר אחד או יותר מתוך רשימה של קהלים של Google Analytics שהגדרת עבור הפרויקט שלך.

כלל זה מחייב כלל App ID כדי לבחור אפליקציה המשויכת לפרויקט Firebase שלך.

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

מכשיר באזור/מדינה == בחר אזור או ארץ אחד או יותר. כלל זה מוערך true עבור מופע יישום מסויים, אם למשל הוא בכל האזורים או המדינות שברשימה. קוד המדינה של המכשיר נקבע באמצעות כתובת ה-IP של המכשיר בבקשה או קוד המדינה שנקבע על ידי Firebase Analytics (אם נתוני Analytics משותפים עם Firebase).
שפת המכשיר == בחר שפה אחת או יותר. מעריך כלל זה כדי true עבור מופע יישום נתון אם כי במקרה שהאפליקציה מותקן במכשיר משתמשת באחת השפות המפורטות.
נכס משתמש עבור ערכי מחרוזת:
מכיל,
לא מכיל,
מתאים בדיוק,
הבעה רגילה

עבור ערכים מספריים:
=, ≠, >, ≥, <, ≤

הערה: בלקוח, אתה יכול להגדיר רק ערכי מחרוזת עבור מאפייני משתמש. עבור תנאים המשתמשים באופרטורים מספריים, Config מרחוק ממירה את הערך של מאפיין המשתמש המתאים למספר שלם/צף.
בחר מתוך רשימה של נכסי משתמש זמינים של Google Analytics. כדי ללמוד כיצד אתה יכול להשתמש מאפייני משתמש כדי להתאים אישית את האפליקציה עבור מגזרים ספציפיים מאוד של בסיס המשתמשים שלך, לראות תכונות Config ומשתמש מרחוק .

למידע נוסף על מאפייני משתמש, עיין במדריכים הבאים:

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

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

הערה: מאפייני המשתמש נאסף אוטומטית אינם זמינים כעת בעת יצירת תנאים Config מרחוק.
פלח מיובא == בחר פלח מיובא אחד או יותר. כלל זה מחייב הקמת מנהג מגזרים מיובאים .
מזהה התקנה == ציין מזהה התקנה אחד או יותר (עד 50) למיקוד. כלל זה מוערך true בהתקנה נתונה אם זה מזהה ההתקנה נמצאת רשימה מופרדת בפסיקים של ערכים.

כדי ללמוד כיצד אתה יכול לקבל תעודות זהות התקנה, לראות אחזור identifers הלקוח .

חיפוש פרמטרים ותנאים

ניתן לחפש מפתחות הפרמטרים של הפרויקט שלך, ערכי פרמטרים, ותנאים מן מסוף Firebase באמצעות תיבת החיפוש בחלק העליון של הלשונית מרחוק פרמטרי Config.

מגבלות על פרמטרים ותנאים

בתוך פרויקט Firebase, אתה יכול לקבל עד 2000 פרמטרים ועד 500 תנאים. מפתחות פרמטר יכולים להיות באורך של עד 256 תווים, חייבים להתחיל בקו תחתון או בתו באנגלית (AZ, az), ועשויים לכלול גם מספרים. האורך הכולל של מחרוזות ערכי פרמטרים בתוך פרויקט אינו יכול לעלות על 1,000,000 תווים.

הצעדים הבאים

כדי להתחיל תצורת פרויקט Firebase שלך, ראה הגדרה Firebase מרחוק פרויקט Config .