תבניות וניהול גרסאות של הגדרת תצורה מרחוק

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

בהתאם לארכיטקטורה שלכם, אתם יכולים ליצור ולנהל תבניות בצד הלקוח, תבניות בצד השרת או את שני הסוגים:

  • תבניות לקוח: הגדרות שמועברות למופעים של אפליקציות לקוח בפלטפורמות של Apple, ‏Android, ‏Web, ‏Flutter, ‏Unity ו-C++‎. תבניות הלקוח תומכות בתנאים שמבוססים על קהלים ב-Google Analytics, גרסאות של האפליקציה, פלטפורמה, שפת המכשיר, מדינה, אחוזוני משתמשים ואותות בהתאמה אישית.

  • תבניות לשרת: הצגת הגדרות לסביבות בקצה העורפי כמו Cloud Run,‏ Cloud Functions for Firebase או שרתים בקונטיינרים באמצעות Firebase Admin SDK ל-Node.js,‏ Python,‏ Go ו-Java. תבניות בצד השרת מעריכות פרמטרים בצד השרת עם זמן אחזור כמעט אפסי, באמצעות אותות מותאמים אישית בצד השרת והשקות באחוזים אקראיים.

השוואה בין תבניות בצד הלקוח לתבניות בצד השרת

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

תכונה תבניות של לקוחות תבניות של שרתים
סביבות יעד אפליקציות לקוח (Apple, ‏ Android, ‏ אינטרנט, Flutter, ‏ Unity, ‏ C++‎) סביבות שרתים (Cloud Run,‏ Cloud Functions for Firebase,‏ GKE, שירותים לקצה העורפי)
thought ערכות SDK נתמכות ערכות Firebase SDK ללקוח Firebase Admin SDK (Node.js, ‏ Python, ‏ Go, ‏ Java)
כלי ניהול ‫מסוף Firebase, ‏CLI של Firebase, ‏API בארכיטקטורת REST, ‏Firebase Admin SDK מסוף Firebase
מיקום הקונסולה פרמטרים ותנאים פרמטרים ותנאים
הורדת ברירות המחדל של התבנית נתמך (XML ל-Android, ‏ PLIST ל-iOS, ‏ JSON לאינטרנט) לא רלוונטי (ערכי ברירת המחדל מוגדרים בקוד השרת או בקצה העורפי)
מדריך מפורט ניהול תבניות של לקוחות ניהול תבניות של שרתים

מחזור החיים של התבנית וניהול גרסאות

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

יצירה ומעקב אחר גרסאות

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

כל התבניות כוללות שדה version שמכיל מטא-נתונים על הגרסה הספציפית, כמו:

  • ‫versionNumber: מספר הגרסה של התבנית.
  • ‫updateTime: חותמת הזמן של פרסום התבנית.
  • ‫updateUser: כתובת האימייל או הזהות של המשתמש שביצע את העדכון.
  • ‫updateOrigin: איך השינוי בוצע (לדוגמה, CONSOLE,‏ REST_API או ADMIN_SDK_NODE).
  • ‫updateType: סוג השינוי (לדוגמה, INCREMENTAL_UPDATE או FORCED_UPDATE).

מגבלות על גרסאות ושמירה

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

חזרה לגרסאות קודמות

אתם יכולים לחזור לכל גרסה שמורה של תבנית בכל שלב. כשמבצעים חזרה לאחור, Remote Config יוצר גרסה חדשה שהתוכן שלה תואם לגרסה ההיסטורית שנבחרה. לדוגמה, אם חוזרים מגרסה 10 לגרסה 6, נוצרת גרסה 11 עם ההגדרות של גרסה 6.

ייבוא וייצוא

אתם יכולים להוריד את התבנית הפעילה כקובץ JSON ולפרסם אותה באותו פרויקט או בפרויקט אחר. היכולת הזו מאפשרת לכם:

  • אחסון הגדרות של תבניות בבקרת מקור (כמו Git).
  • לשלב פריסות של הגדרות אישיות בצינורות עיבוד נתונים של CI/CD.
  • להעביר הגדרות בין שלבים (לדוגמה, מפרויקט פיתוח או Staging לפרויקט ייצור).
  • להעביר הגדרות בין פרויקטים.

פרמטרים וערכי פרמטרים שנוצרו במיוחד כווריאציות בניסוי ב-A/B Testing לא נכללים בתבניות שמייצאים.

ברירות המחדל של התבנית

באפליקציות לקוח, אתם יכולים להוריד קבצים שמכילים ערכי ברירת מחדל של פרמטרים בפורמט XML,‏ PLIST או JSON כדי לצרף אותם לאפליקציה. להוראות, עיינו במאמר הורדת ערכי ברירת מחדל של תבניות Remote Config.

השלבים הבאים