אתם יכולים להשתמש ב-Firebase Remote Config כדי להגדיר פרמטרים באפליקציה ולעדכן את הערכים שלהם בענן. כך תוכלו לשנות את המראה וההתנהגות של האפליקציה בלי להפיץ עדכון לאפליקציה.
ספריית Remote Config משמשת לאחסון ערכי ברירת מחדל של פרמטרים באפליקציה, לאחזור ערכים מעודכנים של פרמטרים מהקצה העורפי של Remote Config ולשליטה בזמן שבו הערכים שאוחזרו יהיו זמינים לאפליקציה. למידע נוסף, אפשר לעיין במאמר בנושא אסטרטגיות טעינה של הגדרת התצורה מרחוק.
שלב 1: מוסיפים את Firebase לאפליקציה
כדי להשתמש ב-Remote Config, צריך:
רושמים את פרויקט C++ ומגדירים אותו לשימוש ב-Firebase.
אם בפרויקט C++ שלכם כבר נעשה שימוש ב-Firebase, הוא כבר רשום ומוגדר לשימוש ב-Firebase.
מוסיפים את Firebase C++ SDK לפרויקט C++.
שימו לב שהוספת Firebase לפרויקט C++ כוללת משימות במסוף Firebase ובפרויקט C++ הפתוח (לדוגמה, הורדה של קובצי תצורה של Firebase מהמסוף והעברה שלהם לפרויקט C++).
שלב 2: מוסיפים את Remote Config לאפליקציה
Android
אחרי שמוסיפים את Firebase לאפליקציה:
יוצרים אפליקציית Firebase ומעבירים את סביבת ה-JNI והפעילות:
app = ::firebase::App::Create(::firebase::AppOptions(), jni_env, activity);
מאתחלים את הספרייה Remote Config, כמו שמוצג:
::firebase::remote_config::Initialize(app);
iOS+
אחרי שמוסיפים את Firebase לאפליקציה:
יוצרים אפליקציה ב-Firebase:
app = ::firebase::App::Create(::firebase::AppOptions());
מאתחלים את הספרייה Remote Config, כמו שמוצג:
::firebase::remote_config::Initialize(app);
שלב 3: הגדרת ערכי ברירת מחדל של פרמטרים באפליקציה
אפשר להגדיר ערכי ברירת מחדל של פרמטרים בתוך האפליקציה באובייקט Remote Config, כדי שהאפליקציה תפעל כמצופה לפני שהיא מתחברת לחלק האחורי של Remote Config, וכדי שערכי ברירת מחדל יהיו זמינים אם לא הוגדרו ערכים בחלק האחורי.
מגדירים קבוצה של שמות פרמטרים וערכי ברירת מחדל של פרמטרים באמצעות אובייקט
ConfigKeyValue*
או אובייקטConfigKeyValueVariant*
עם גודל המערך.אם כבר הגדרתם ערכים של פרמטרים של backend Remote Config, אתם יכולים להוריד קובץ שמכיל את צמדי המפתח/ערך האלה ולהשתמש בו כדי ליצור את אובייקט Remote Config.
map
מידע נוסף זמין במאמר בנושא הורדת ברירות המחדל של תבנית Remote Config.מוסיפים את הערכים האלה לאובייקט Remote Config באמצעות
SetDefaults()
.
שלב 4: מקבלים ערכי פרמטר לשימוש באפליקציה
עכשיו אפשר לקבל ערכי פרמטרים מהאובייקט Remote Config. אם הגדרתם ערכים ב-Remote Config backend, אחזרתם אותם ואז הפעלתם אותם, הערכים האלה יהיו זמינים לאפליקציה. אחרת, תקבלו את ערכי הפרמטרים בתוך האפליקציה שהוגדרו באמצעות SetDefaults()
.
כדי לקבל את הערכים האלה, צריך לקרוא לשיטה שמפורטת בהמשך, שממופה לסוג הנתונים שהאפליקציה מצפה לו, ולספק את מפתח הפרמטר כארגומנט:
שלב 5: הגדרת ערכי הפרמטרים
- במסוף Firebase, פותחים את הפרויקט.
- בתפריט, בוחרים באפשרות Remote Config כדי להציג את לוח הבקרה של Remote Config.
- מגדירים פרמטרים עם אותם שמות כמו הפרמטרים שהגדרתם באפליקציה. לכל פרמטר אפשר להגדיר ערך ברירת מחדל (שבסופו של דבר יבטל את ערך ברירת המחדל באפליקציה) וערכים מותנים. מידע נוסף זמין במאמר בנושא פרמטרים ותנאים של Remote Config.
שלב 6: מאחזרים ומפעילים את הערכים
- כדי לאחזר ערכי פרמטרים מהקצה העורפי Remote Config, קוראים לשיטה
Fetch()
. כל הערכים שאתם מגדירים בבק-אנד מאוחזרים ונשמרים במטמון באובייקט Remote Config. - כדי שערכי הפרמטרים שאוחזרו יהיו זמינים באפליקציה, צריך לקרוא ל-
ActivateFetched()
שלב 7: שומעים את העדכונים בזמן אמת
אחרי שמביאים את ערכי הפרמטרים, אפשר להשתמש ב-Remote Config בזמן אמת כדי להאזין לעדכונים מהקצה העורפי Remote Config. אותות בזמן אמת Remote Config למכשירים מחוברים כשיש עדכונים זמינים, והשינויים נשלפים אוטומטית אחרי שמפרסמים גרסה חדשה של Remote Config.
עדכונים בזמן אמת נתמכים על ידי Firebase C++ SDK בגרסה 11.0.0 ואילך לפלטפורמות Android ו-Apple.
- באפליקציה, קוראים ל-
AddOnConfigUpdateListener
כדי להתחיל להאזין לעדכונים ולאחזר באופן אוטומטי ערכים חדשים או מעודכנים של פרמטרים. בדוגמה הבאה, המערכת מאזינה לעדכונים, וכשמתבצעת קריאה ל-Activate
, היא משתמשת בערכים החדשים שאוחזרו כדי להציג הודעת ברוכים הבאים מעודכנת.
remote_config->AddOnConfigUpdateListener( [](firebase::remote_config::ConfigUpdate&& config_update, firebase::remote_config::RemoteConfigError remote_config_error) { if (remote_config_error != firebase::remote_config::kRemoteConfigErrorNone) { printf("Error listening for config updates: %d", remote_config_error); } // Search the `updated_keys` set for the key "welcome_message." // `updated_keys` represents the keys that have changed since the last // fetch. if (std::find(config_update.updated_keys.begin(), config_update.updated_keys.end(), "welcome_message") != config_update.updated_keys.end()) { remote_config->Activate().OnCompletion( [&](const firebase::Future& completed_future, void* user_data) { // The key "welcome_message" was found within `updated_keys` and // can be activated. if (completed_future.error() == 0) { DisplayWelcomeMessage(); } else { printf("Error activating config: %d", completed_future.error()); } }, nullptr); } });
בפעם הבאה שתפרסמו גרסה חדשה של Remote Config, מכשירים שבהם האפליקציה שלכם פועלת ומאזינים לשינויים יפעילו את מאזין עדכון ההגדרות.
השלבים הבאים
אם עוד לא עשיתם את זה, כדאי לעיין בRemote Config תרחישי השימוש ובמסמכי התיעוד בנושא מושגים מרכזיים ואסטרטגיות מתקדמות, כולל: