| בחירת פלטפורמה: | iOS+ Android אינטרנט Flutter Unity C++ |
אתם יכולים להשתמש ב-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*עם גודל המערך.אם כבר הגדרתם ערכים לפרמטרים של הקצה העורפי של Remote Config, אתם יכולים להוריד קובץ שמכיל את צמדי המפתח/ערך האלה ולהשתמש בו כדי ליצור את האובייקט
map. מידע נוסף זמין במאמר הורדת ברירות המחדל של התבניות של Remote Config.מוסיפים את הערכים האלה לאובייקט Remote Config באמצעות
SetDefaults().
שלב 4: מקבלים ערכי פרמטר לשימוש באפליקציה
עכשיו אפשר לקבל ערכי פרמטרים מהאובייקט Remote Config. אם הגדרתם ערכים בקצה העורפי של Remote Config, אחזרתם אותם ואז הפעלתם אותם, הערכים האלה זמינים לאפליקציה. אחרת, תקבלו את ערכי הפרמטרים בתוך האפליקציה שהוגדרו באמצעות SetDefaults().
כדי לקבל את הערכים האלה, צריך להפעיל את אחת מהשיטות הבאות שממפות לסוג הנתונים שהאפליקציה מצפה לקבל, ולספק את מפתח הפרמטר כארגומנט:
שלב 5: מגדירים ערכי פרמטרים
במסוף Firebase, עוברים אל DevOps & Engagement (פיתוח ותפעול ומעורבות) > Remote Config (הגדרת תצורה מרחוק).
מגדירים פרמטרים עם שמות זהים לאלה של הפרמטרים שהגדרתם באפליקציה. לכל פרמטר אפשר להגדיר ערך ברירת מחדל (שבסופו של דבר יחליף את ערך ברירת המחדל באפליקציה) וערכים מותנים. מידע נוסף זמין במאמר פרמטרים ותנאים של Remote Config.
שלב 6: מאחזרים ומפעילים את הערכים
- כדי לאחזר ערכי פרמטרים מה-backend של Remote Config, צריך להפעיל את השיטה
Fetch(). כל הערכים שהגדרתם בקצה העורפי מאוחזרים ונשמרים במטמון באובייקט Remote Config. - כדי שערכי הפרמטרים שאוחזרו יהיו זמינים לאפליקציה, צריך להפעיל את השיטה
ActivateFetched()
שלב 7: האזנה לעדכונים בזמן אמת
אחרי שאחזרתם את ערכי הפרמטרים, אתם יכולים להשתמש ב-Remote Config בזמן אמת כדי להאזין לעדכונים מה-backend של Remote Config. Remote Config שולח אותות בזמן אמת למכשירים מחוברים כשיש עדכונים זמינים, ומאחזר באופן אוטומטי את השינויים אחרי שמפרסמים גרסה חדשה של Remote Config.
עדכונים בזמן אמת נתמכים ב-SDK של Firebase C++ מגרסה 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, מכשירים שמריצים את האפליקציה ומאזינים לשינויים יקראו למאזין של עדכון ההגדרות האישיות.