Catch up on everthing we announced at this year's Firebase Summit. Learn more

התחל בעבודה עם תצורה מרחוק של Firebase

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

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

מדריך זה יסביר לך דרך שלבים לתחילת העבודה ומספק בקוד לדוגמה, כל אחד מהם זמין לשבט או להורדה firebase / QuickStart-האחדות מאגר GitHub.

הוסף Config מרחוק לאפליקציה שלך

לפני שתוכל להשתמש Config מרחוק , עליך:

  • רשום את פרויקט Unity שלך והגדר אותו לשימוש ב-Firebase.

    • אם פרויקט Unity שלך כבר משתמש ב-Firebase, אז הוא כבר רשום ומוגדר עבור Firebase.

    • אם אין לך פרויקט אחדות, אתה יכול להוריד אפליקציה לדוגמא .

  • מוסיפים את SDK האחדות Firebase (במיוחד, FirebaseRemoteConfig.unitypackage ) לפרויקט האחדות שלך.

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

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

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

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

System.Collections.Generic.Dictionary<string, object> defaults =
  new System.Collections.Generic.Dictionary<string, object>();

// These are the values that are used if we haven't fetched data from the
// server
// yet, or if we ask for values that the server doesn't have:
defaults.Add("config_test_string", "default local string");
defaults.Add("config_test_int", 1);
defaults.Add("config_test_float", 1.0);
defaults.Add("config_test_bool", false);

Firebase.RemoteConfig.FirebaseRemoteConfig.DefaultInstance.SetDefaultsAsync(defaults)
  .ContinueWithOnMainThread(task => {

קבל ערכי פרמטרים לשימוש באפליקציה שלך

כעת אתה יכול לקבל ערכי פרמטרים מאובייקט התצורה המרוחקת. אם אתה מגדיר ערכים ב-Remote Config Backend, אחזר אותם ואז הפעלת אותם, הערכים האלה זמינים לאפליקציה שלך. אחרת, אתה מקבל את ערכי פרמטרים בתוך האפליקציה המוגדרת באמצעות SetDefaultsAsync() .

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

חבר את האפליקציה שלך למסוף Firebase

בשנות ה קונסולת Firebase , להוסיף את האפליקציה אל הפרויקט Firebase שלך.

הגדר ערכי פרמטרים

  1. בשנות ה קונסולת Firebase , לפתוח את הפרויקט שלך.
  2. בחר מרחוק Config מהתפריט כדי להציג את לוח המחוונים Config מרחוק.
  3. הגדר פרמטרים עם אותם שמות כמו הפרמטרים שהגדרת באפליקציה שלך. עבור כל פרמטר, אתה יכול להגדיר ערך ברירת מחדל (שבסופו של דבר יעקוף את ערך ברירת המחדל בתוך האפליקציה) וערכים מותנים. כדי ללמוד עוד, ראה פרמטרים Config מרחוק ומצבים .

אחזר והפעל ערכים (לפי הצורך)

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

// Start a fetch request.
// FetchAsync only fetches new data if the current data is older than the provided
// timespan.  Otherwise it assumes the data is "recent enough", and does nothing.
// By default the timespan is 12 hours, and for production apps, this is a good
// number. For this example though, it's set to a timespan of zero, so that
// changes in the console will always show up immediately.
public Task FetchDataAsync() {
  DebugLog("Fetching data...");
  System.Threading.Tasks.Task fetchTask =
  Firebase.RemoteConfig.FirebaseRemoteConfig.DefaultInstance.FetchAsync(
      TimeSpan.Zero);
  return fetchTask.ContinueWithOnMainThread(FetchComplete);
}

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

(אופציונלי) הפעל מצב מפתח

כדי להפעיל את מצב מפתח, אשר ניתן להשתמש בהם כדי ויסות להשבית במהלך הפיתוח, אתה יכול להשתמש FirebaseRemoteConfig.Setting רכוש, קביעת חדש ConfigSettings עם IsDeveloperMode מוגדר כ- True.

הצעדים הבאים

אם לא עשית זאת עדיין, לחקור את Remote Config מקרי שימוש , ו תסתכל כמה ממושגי המפתח ותיעוד אסטרטגיות מתקדמים, כולל: