بدء استخدام ميزة "الإعداد عن بُعد في Firebase"


يمكنك استخدام ميزة "الإعداد عن بُعد في Firebase" لتحديد مَعلمات في تطبيقك وتعديل قيمها في السحابة الإلكترونية، ما يتيح لك تعديل مظهر تطبيقك وسلوكه بدون توزيع تحديث للتطبيق.

تُستخدم مكتبة "الإعداد عن بُعد" لتخزين قيم المَعلمات التلقائية داخل التطبيق، وجلب قيم المَعلمات المعدّلة من الواجهة الخلفية لميزة "الإعداد عن بُعد"، والتحكّم في وقت توفّر القيم التي تم استرجاعها لتطبيقك. لمزيد من المعلومات، راجِع استراتيجيات تحميل ميزة "الإعداد عن بُعد".

الخطوة 1: إضافة Firebase إلى تطبيقك

قبل أن تتمكّن من استخدام الإعداد عن بُعد، عليك إجراء ما يلي:

  • سجِّل مشروعك على C++ واضبطه لاستخدام Firebase.

    إذا كان مشروعك على C++ يستخدم Firebase بالفعل، فهذا يعني أنه تم تسجيله وإعداده بالفعل لـ Firebase.

  • أضِف حزمة تطوير البرامج (SDK) لمنصّة Firebase C++ إلى مشروع C++.

تجدر الإشارة إلى أنّ إضافة Firebase إلى مشروع C++ تتضمن المهام في وحدة تحكُّم Firebase وفي مشروع C++ المفتوح (على سبيل المثال، يمكنك تنزيل ملفات إعداد Firebase من وحدة التحكّم، ثم نقلها إلى مشروع C++ ).

الخطوة 2: إضافة ميزة "الإعداد عن بُعد" إلى تطبيقك

Android

بعد إضافة 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. عليك إعداد مكتبة "الإعداد عن بُعد"، كما هو موضّح:

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

الخطوة 3: ضبط قيم المَعلمات التلقائية داخل التطبيق

يمكنك ضبط قيم للمعلَمات التلقائية داخل التطبيق في كائن "الإعداد عن بُعد"، حتى يتصرف تطبيقك على النحو المطلوب قبل اتصاله بالخلفية الخلفية للإعداد عن بُعد، ولكي تتوفّر قيم تلقائية في حال لم يتم ضبط أي منها في الخلفية.

  1. حدّد مجموعة من أسماء المَعلمات وقيم المَعلمات التلقائية باستخدام كائن std::map<const char*, const char*> أو كائن std::map<const char*, firebase::Variant>.

    • يمكنك الاطّلاع على المزيد من المعلومات حول firebase::Variant.

    وإذا سبق لك ضبط قيم مَعلمات الخلفية في "الإعداد عن بُعد"، يمكنك تنزيل ملف يحتوي على أزواج المفتاح/القيمة هذه واستخدامه لإنشاء كائن map. لمزيد من المعلومات، راجِع تنزيل الإعدادات التلقائية لنماذج "الإعداد عن بُعد".

  2. أضِف هذه القيم إلى عنصر "الإعداد عن بُعد" باستخدام SetDefaults().

الخطوة 4: الحصول على قيم المَعلمات لاستخدامها في تطبيقك

يمكنك الآن الحصول على قيم المَعلمات من كائن "الإعداد عن بُعد". إذا ضبطت قيمًا في الواجهة الخلفية لميزة "الإعداد عن بُعد" واسترجاعتها وتفعيلها، تصبح هذه القيم متاحة لتطبيقك. وإلا، سيتم ضبط قيم المَعلمات داخل التطبيق باستخدام SetDefaults().

للحصول على هذه القيم، استدعِ الطريقة المدرجة أدناه والتي ترتبط بنوع البيانات المتوقع من تطبيقك، مع تقديم مفتاح المعلمة كوسيطة:

الخطوة 5: ضبط قيم المَعلمات

  1. افتح مشروعك في وحدة تحكُّم Firebase.
  2. اختَر الإعداد عن بُعد من القائمة لعرض لوحة بيانات "الإعداد عن بُعد".
  3. حدِّد المَعلمات بنفس أسماء المَعلمات التي حدّدتها في تطبيقك. ولكل مَعلمة، يمكنك ضبط قيمة تلقائية (ستؤدي في النهاية إلى إلغاء القيمة التلقائية داخل التطبيق) وقيم شرطية. لمزيد من المعلومات، يُرجى الاطّلاع على مَعلمات "الإعداد عن بُعد" وشروطه.

الخطوة 6: استرجاع القيم وتفعيلها

  1. لاسترجاع قيم المَعلمات من الواجهة الخلفية لميزة "الإعداد عن بُعد"، عليك طلب الإجراء Fetch(). ويتم استرجاع أي قيم تضبطها في الخلفية وتخزينها مؤقتًا في كائن "الإعداد عن بُعد".
  2. لإتاحة قيم المَعلمات التي تم استرجاعها لتطبيقك، عليك استدعاء السمة ActivateFetched().

الخطوة 7: الاستماع إلى آخر الأخبار في الوقت الفعلي

بعد استرجاع قيم المَعلمات، يمكنك استخدام ميزة "الإعداد عن بُعد" في الوقت الفعلي للاستماع إلى آخر الأخبار من الواجهة الخلفية لميزة "الإعداد عن بُعد". في الوقت الفعلي تُرسِل ميزة "الإعداد عن بُعد" إشارات إلى الأجهزة المتصلة عند توفّر التحديثات، وتجلب التغييرات تلقائيًا بعد نشر إصدار جديد من ميزة "الإعداد عن بُعد".

ويتم دعم التحديثات في الوقت الفعلي من خلال حزمة تطوير البرامج (SDK) لمنصّة Firebase C++، الإصدار 11.0.0 أو الإصدارات الأحدث للأنظمة الأساسية Android وApple.

  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);
      }
    });

في المرة التالية التي تنشر فيها إصدارًا جديدًا من ميزة "الإعداد عن بُعد"، ستطلب الأجهزة التي تشغِّل تطبيقك وتستمع إلى التغييرات من خلالها أداة معالجة التحديث.

الخطوات التالية

استكشِف حالات الاستخدام لميزة "الإعداد عن بُعد" إذا لم يسبق لك ذلك، وألقِ نظرة على بعض المفاهيم الرئيسية ومستندات الاستراتيجيات المتقدّمة، بما في ذلك: