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


يمكنك استخدام ميزة "الإعداد عن بُعد في Firebase" لتحديد المعلَمات في تطبيقك وتحديث قيمها في السحابة، مما يسمح لك بتعديل مظهر تطبيقك بدون توزيع تحديث للتطبيق. يرشدك هذا الدليل الخطوات التي يجب اتّباعها للبدء وتوفر بعض التعليمات البرمجية النموذجية، للاستنساخ أو التنزيل من firebase/quickstart-js مستودع جيت هب.

الخطوة 1: إضافة حزمة تطوير البرامج (SDK) لميزة "الإعداد عن بُعد" وإعدادها

  1. إذا لم تكن قد قمت بذلك بالفعل، تثبيت حزمة تطوير البرامج (SDK) لـ Firebase JS وإعداد Firebase

  2. إضافة حزمة تطوير برامج JavaScript لميزة "الإعداد عن بُعد" وإعداد ميزة "الإعداد عن بُعد":

Web

import { initializeApp } from "firebase/app";
import { getRemoteConfig } from "firebase/remote-config";

// TODO: Replace the following with your app's Firebase project configuration
// See: https://firebase.google.com/docs/web/learn-more#config-object
const firebaseConfig = {
  // ...
};

// Initialize Firebase
const app = initializeApp(firebaseConfig);


// Initialize Remote Config and get a reference to the service
const remoteConfig = getRemoteConfig(app);

Web

import firebase from "firebase/compat/app";
import "firebase/compat/remote-config";

// TODO: Replace the following with your app's Firebase project configuration
// See: https://firebase.google.com/docs/web/learn-more#config-object
const firebaseConfig = {
  // ...
};

// Initialize Firebase
firebase.initializeApp(firebaseConfig);


// Initialize Remote Config and get a reference to the service
const remoteConfig = firebase.remoteConfig();

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

الخطوة 2: ضبط الحدّ الأدنى للفاصل الزمني للاسترجاع

أثناء التطوير، يُنصح بضبط حدّ أدنى منخفض نسبيًا للاسترجاع الفاصل. عرض Throttling لـ مزيد من المعلومات.

Web

remoteConfig.settings.minimumFetchIntervalMillis = 3600000;

Web

remoteConfig.settings.minimumFetchIntervalMillis = 3600000;

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

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

Web

remoteConfig.defaultConfig = {
  "welcome_message": "Welcome"
};

Web

remoteConfig.defaultConfig = {
  "welcome_message": "Welcome"
};

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

REST

curl --compressed -D headers -H "Authorization: Bearer token" -X GET https://firebaseremoteconfig.googleapis.com/v1/projects/my-project-id/remoteConfig:downloadDefaults?format=JSON -o remote_config_defaults.json

وحدة تحكُّم Firebase

  1. في علامة التبويب المَعلمات، افتح القائمة، واختَر تنزيل القيم التلقائية
  2. فعِّل .json للويب عندما يُطلب منك ذلك، ثم انقر على تنزيل الملف.

توضِّح الأمثلة التالية طريقتَين مختلفتَين يمكنك من خلالهما الاستيراد وضبط الإعدادات التلقائية. والقيم في تطبيقك. يستخدم المثال الأول الدالة fetch، والتي ستنشئ طلب HTTP إلى ملف الإعدادات التلقائية المضمّن في حِزمة تطبيقك:


  const rcDefaultsFile = await fetch('remote_config_defaults.json');
  const rcDefaultsJson = await rcDefaultsFile.json();
  remoteConfig.defaultConfig = rcDefaultsJson;
  

يستخدم المثال التالي دالة require التي تجمع القيم في تطبيقك. في وقت التصميم:

  let rcDefaults = require('./remote_config_defaults.json');
  remoteConfig.defaultConfig = rcDefaults;

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

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

Web

import { getValue } from "firebase/remote-config";

const val = getValue(remoteConfig, "welcome_messsage");

Web

const val = remoteConfig.getValue("welcome_messsage");

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

باستخدام وحدة تحكُّم Firebase أو واجهات برمجة التطبيقات للواجهة الخلفية للإعداد عن بُعد يمكنك إنشاء قيم تلقائية جديدة من جهة الخادم تلغي القيم داخل التطبيق. وفقًا لمنطقك الشرطي أو استهداف المستخدم المطلوب هذا القسم يرشدك عبر خطوات وحدة تحكم Firebase لإنشاء هذه القيم.

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

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

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

وبالنسبة إلى الحالات التي تريد فيها استرجاع القيم وتفعيلها في مكالمة واحدة، استخدِم fetchAndActivate() كما هو موضح في هذا المثال:

Web

import { fetchAndActivate } from "firebase/remote-config";

fetchAndActivate(remoteConfig)
  .then(() => {
    // ...
  })
  .catch((err) => {
    // ...
  });

Web

remoteConfig.fetchAndActivate()
  .then(() => {
    // ...
  })
  .catch((err) => {
    // ...
  });

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

تقييد

إذا جلب أحد التطبيقات مرات كثيرة جدًا خلال فترة زمنية قصيرة، قد تكون الطلبات التي يتم استرجاعها تقييد. في هذه الحالات، تعرض حزمة تطوير البرامج (SDK) الخطأ FETCH_THROTTLE. ننصحك بالتعرف على هذا الخطأ وإعادة المحاولة في وضع الرقود الأسي، الانتظار في فترات زمنية أطول بين طلبات الاسترجاع اللاحقة.

أثناء تطوير التطبيق، قد تحتاج إلى تحديث ذاكرة التخزين المؤقت بشكل متكرر للغاية (عدة مرات في الساعة) للسماح لك بالتكرار بسرعة أثناء تطوير واختبار التطبيق. لاستيعاب التكرار السريع في مشروع مع العديد من المطورين، يمكنك يمكن أن تضيف مؤقتًا موقع إلكتروني بحدّ أدنى منخفض من الفاصل الزمني للجلب (Settings.minimumFetchIntervalMillis) في تطبيقك

الفاصل الزمني التلقائي والمقترَح لاسترجاع الفيديوهات في ميزة "الإعداد عن بُعد" 12 ساعة، وبالتالي يعني أنّه لن يتم استرجاع الإعدادات من الخلفية أكثر من مرة خلال 12 ساعة بغض النظر عن عدد استدعاءات الجلب التي يتم إجراؤها بالفعل. وعلى وجه التحديد، يتم تحديد الحد الأدنى للفاصل الزمني للجلب بالترتيب التالي:

  1. المَعلمة في Settings.minimumFetchIntervalMillis.
  2. القيمة التلقائية هي 12 ساعة.

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

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