התחל עם Firebase Remote Config


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

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

שלב 1: הוסף את Firebase לאפליקציה שלך

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

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

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

  • הוסף את Firebase C++ SDK לפרויקט C++ שלך.

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

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

דְמוּי אָדָם

לאחר שהוספת את Firebase לאפליקציה שלך:

  1. צור אפליקציית Firebase, עוברת בסביבת JNI ופעילות:

    app = ::firebase::App::Create(::firebase::AppOptions(), jni_env, activity);

  2. אתחל את ספריית התצורה המרוחקת, כפי שמוצג:

    ::firebase::remote_config::Initialize(app);

iOS+

לאחר שהוספת את Firebase לאפליקציה שלך:

  1. צור אפליקציית Firebase:

    app = ::firebase::App::Create(::firebase::AppOptions());

  2. אתחל את ספריית Config Remote, כפי שמוצג:

    ::firebase::remote_config::Initialize(app);

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

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

  1. הגדר קבוצה של שמות פרמטרים, וערכי ברירת מחדל של פרמטרים באמצעות אובייקט std::map<const char*, const char*> או אובייקט std::map<const char*, firebase::Variant> .

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

  2. הוסף ערכים אלה לאובייקט Remote Config באמצעות SetDefaults() .

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

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

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

שלב 5: הגדר ערכי פרמטרים

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

שלב 6: אחזר והפעל ערכים

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

שלב 7: האזן לעדכונים בזמן אמת

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

עדכונים בזמן אמת נתמכים על ידי Firebase C++ SDK v11.0.0+ ואילך עבור פלטפורמות אנדרואיד ואפל.

  1. באפליקציה שלך, התקשר ל- 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);
      }
    });

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

הצעדים הבאים

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