| בחירת פלטפורמה: | iOS+ Android אינטרנט Flutter Unity C++ |
אתם יכולים להשתמש ב-Firebase Remote Config כדי להגדיר פרמטרים באפליקציה ולעדכן את הערכים שלהם בענן, וכך לשנות את המראה וההתנהגות של האפליקציה בלי להפיץ עדכון לאפליקציה.
הספרייה Remote Config משמשת לאחסון ערכי פרמטרים שמוגדרים כברירת מחדל באפליקציה, לאחזור ערכי פרמטרים מעודכנים מה-backend של 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 (DevOps ומעורבות) > 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, מכשירים שמריצים את האפליקציה ומאזינים לשינויים יקראו למאזין של עדכון ההגדרות האישיות.