התחל עם Firebase Remote Config

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

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

מדריך זה מנחה אותך בשלבים לתחילת העבודה ומספק קוד לדוגמה, שכל זה זמין לשכפול או הורדה ממאגר GitHub של Firebase/Quickstart-unity .

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

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

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

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

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

  • הוסף את Firebase Unity SDK (באופן ספציפי, FirebaseRemoteConfig.unitypackage ) לפרויקט Unity שלך.

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

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

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

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

(מאפיינים שאינם מחרוזים יומרו לסוג המאפיין כאשר 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. אם אתה מגדיר ערכים ב-Remote Config Backend, אחזר אותם ואז הפעלת אותם, הערכים האלה זמינים לאפליקציה שלך. אחרת, אתה מקבל את ערכי הפרמטרים בתוך האפליקציה מוגדרים באמצעות SetDefaultsAsync() .

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

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

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

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

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

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

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

// 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 , והסתכל על כמה מהמושגים המרכזיים ותיעוד האסטרטגיות המתקדמות, כולל: