بدء استخدام ميزة "الإعداد عن بُعد في 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>.

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

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

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

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

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

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

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

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

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

الخطوة 7: الاستماع إلى أحدث المعلومات في الوقت الفعلي

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

تتوفّر التحديثات في الوقت الفعلي من خلال حزمة تطوير البرامج (SDK) C++ لمنصّة Firebase الإصدار 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);
      }
    });

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

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

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