مَعلمات وشروط الإعداد عن بُعد


يمكنك ضبط النماذج لكلٍّ من حالات استخدام العميل والخادم. يتم عرض نماذج العميل لأيّ نُسخ من التطبيقات تُنفِّذ حِزم تطوير البرامج (SDK) لبرنامج Remote Config العميل من Firebase، بما في ذلك تطبيقات Android وApple والويب وUnity وFlutter وC++. يتم عرض مَعلمات Remote Config وقيمها من النماذج الخاصة بالخادم على عمليات تنفيذ Remote Config (بما في ذلك Cloud Run وCloud Functions) التي تستخدم الإصدار 12.1.0 أو الإصدارات الأحدث من حزمة تطوير البرامج (SDK) لنظام التشغيل Node.js من "مشرف Firebase".

عند استخدام وحدة تحكّم Firebase أو واجهات برمجة تطبيقات الخلفية، يمكنك تحديد مَعلمة واحدة أو أكثر (أزواج مفاتيح وقيَم) وتقديم قيم تلقائية داخل التطبيق لهذه المَعلمات.Remote Config يمكنك إلغاء القيم التلقائية داخل التطبيق من خلال تحديد قيم المَعلمات. مفاتيح المَعلمات وقيم المَعلمات هي سلاسل، ولكن يمكن تحويل قيم المَعلمات إلى أنواع بيانات أخرى عند استخدام هذه القيم في تطبيقك.

باستخدام وحدة تحكّم Firebase، Admin SDK أو Remote Config REST API، يمكنك إنشاء قيم تلقائية جديدة لملفاتك المَعلمات، بالإضافة إلى القيم الشَرطية التي تُستخدَم لاستهداف مجموعات من مثيلات التطبيق. في كل مرة تعدّل فيها الإعدادات في وحدة تحكّم Firebase، تنشئ Firebase إصدارًا جديدًا من نموذج Remote Config وتنشره. يتم تخزين النسخة السابقة، ما يتيح لك استردادها أو التراجع عنها حسب الحاجة. تتوفّر لك هذه العمليات في وحدة تحكّم Firebase وFirebase Admin SDK وواجهة برمجة التطبيقات REST API، كما يمكنك الاطّلاع على وصف أكثر تفصيلاً في مقالة إدارة إصدارات نموذج Remote Config.

يوضّح هذا الدليل المَعلمات والشروط والقواعد والقيمة الشَرطية وكيفية تحديد أولوية قيم المَعلمات المختلفة في خلفيّة Remote Config وفي تطبيقك، كما يقدّم تفاصيل عن أنواع القواعد المستخدَمة لإنشاء الشروط.

الشروط والقواعد والقيم الشَرطية

يُستخدَم الشرط لاستهداف مجموعة من نُسخ التطبيق. تتألف الشروط من قاعدة واحدة أو أكثر يجب أن تُحتسب جميعها على أنّها true لكي يتم احتساب الشرط على أنّه true لمثيل تطبيق معيّن. إذا كانت قيمة القاعدة غير محدّدة (على سبيل المثال، عندما لا تتوفّر أي قيمة)، سيتم تقييم هذه القاعدة على أنّها false.

على سبيل المثال، يمكنك إنشاء مَعلمة تحدّد اسم نموذج لغوي كبير (LLM) وسلسلة الإصدار، وعرض ردود من نماذج مختلفة استنادًا إلى قواعد إشارة مخصّصة. في حالة الاستخدام هذه، يمكنك استخدام إصدار نموذج ثابت كقيمة تلقائية لمعالجة معظم الطلبات، واستخدام الإشارة المخصّصة لاستخدام نموذج تجريبي لمعالجة طلبات عملاء الاختبار.

يمكن أن تحتوي المَعلمة على قيم مشروطة متعددة تستخدم شروطًا مختلفة، ويمكن للمَعلمات مشاركة الشروط ضمن أحد المشاريع. في علامة التبويب "المَعلمات" في وحدة تحكّم Firebase، يمكنك الاطّلاع على النسبة المئوية لعمليات الجلب لكلٍّ من القيم الشَرطية للمَعلمة. يشير هذا المقياس إلى النسبة المئوية للطلبات التي تلقّت كل قيمة في آخر 24 ساعة.

أولوية قيمة المَعلمة

عند استخدام Remote Config في تطبيقات الخادم باستخدام Firebase Admin SDK، يتم جلب النموذج بالكامل وتحميله لاستخراج قيم المَعلمات المناسبة عند الطلب لكل طلب عميل. قد يكون للمَعلمة عدة قيم شرطية مرتبطة بها.

تحدِّد القواعد التالية القيمة التي يتمّ تعيينها أثناء تقييم النموذج في وقت معيّن:

  1. أولاً، يتم تطبيق القيم الشَرطية على أي شروط يتم تقييمها على أنّها true لطلب عميل معيّن. إذا كان تقييم شروط متعدّدة هو true، تكون الأولوية للّافتة الأولى (الأعلى) المعروضة في واجهة مستخدمconsole Firebase، ويتم تقديم القيم الشَرطية المرتبطة بهذا الشرط عند تقييم النموذج. يمكنك تغيير أولوية الشروط من خلال سحب الشروط وإفلاتها في علامة التبويب الشروط.

  2. إذا لم تكن هناك قيم مشروطة بشروط يتم تقييمها على أنّها true، يتم توفير القيمة التلقائية لسمة Remote Config أثناء تقييم النموذج. إذا لم تكن المَعلمة متوفّرة في النموذج، أو إذا تم ضبط القيمة التلقائية على استخدام القيمة التلقائية داخل التطبيق، لن يتم توفير أي قيمة لهذه المَعلمة عند تقييم النموذج.

لمزيد من المعلومات عن تحميل نماذج Remote Config وتقييمها في تطبيقات الخادم، اطّلِع على مقالة استخدام Remote Config في ملفّات Remote Config السير.

أنواع بيانات قيم المَعلمات

تتيح لك Remote Config اختيار نوع بيانات لكل مَعلمة، وتحقق من صحة جميع قيم Remote Config وفقًا لهذا النوع قبل تعديل النموذج. يتم تخزين نوع البيانات وعرضه بناءً على طلب getRemoteConfig.

أنواع البيانات المتوافقة هي:

  • String
  • Boolean
  • Number
  • JSON

في واجهة مستخدم وحدة تحكّم Firebase، يمكن اختيار نوع البيانات من ملف قائمة منسدلة بجانب مفتاح المَعلمة. في واجهة برمجة التطبيقات REST، يمكن ضبط الأنواع باستخدام الحقل value_type ضمن كائن المَعلمة.

مجموعات المَعلمات

يتيح لك Remote Config تجميع المَعلمات معًا لتوفير واجهة مستخدم أكثر تنظيمًا وتحسين سهولة الاستخدام.

على سبيل المثال، لنفترض أنّك بحاجة إلى تفعيل ثلاثة أنواع مختلفة من المصادقة أو إيقافها أثناء طرح ميزة تسجيل دخول جديدة. باستخدام Remote Config، يمكنك إنشاء المَعلمات الثلاث لتفعيل الأنواع التي تريدها، ثم تنظيمها في مجموعة باسم "تسجيل دخول جديد"، بدون الحاجة إلى إضافة بادئات أو ترتيب خاص.

يمكنك إنشاء مجموعات مَعلمات باستخدام وحدة تحكّم Firebase أو Remote Config REST API. تحتوي كل مجموعة مَعلمات تنشئها على اسم فريد في نموذج Remote Config. عند إنشاء مجموعات المَعلمات، يُرجى مراعاة ما يلي:

  • يمكن تضمين المَعلمات في مجموعة واحدة فقط في أي وقت، ويجب أن يظل مفتاح المَعلمة فريدة في جميع المَعلمات.
  • تقتصر أسماء مجموعات المَعلمات على 256 حرفًا.
  • إذا كنت تستخدم كلًّا من واجهة برمجة التطبيقات REST API ووحدة تحكّم Firebase، تأكَّد من تعديل أي منطق لواجهة برمجة التطبيقات REST API لمعالجة مجموعات المَعلمات عند النشر.

إنشاء مجموعات مَعلمات أو تعديلها باستخدام وحدة تحكّم Firebase

يمكنك تجميع المَعلمات في علامة التبويب المَعلمات ضمن وحدة تحكّم Firebase. لإنشاء مجموعة أو تعديلها:

  1. انقر على إدارة المجموعات.
  2. ضَع علامة في مربّعات الاختيار للمَعلمات التي تريد إضافتها، ثم انقر على نقل إلى المجموعة.
  3. اختَر مجموعة حالية أو أنشئ مجموعة جديدة عن طريق إدخال اسم و وصف، ثم اختيار إنشاء مجموعة جديدة. بعد حفظ مجموعة، يمكن نشرها باستخدام الزر نشر التغييرات.

أنواع قواعد الشروط

تتيح نماذج Remote Config لتطبيقات الخادم استخدام أنواع الشروط التالية:

المستخدم في نسبة مئوية عشوائية

استخدِم هذا الحقل لتطبيق تغيير على عيّنة عشوائية من نُسخ التطبيق (بأحجام عيّنات تبلغ 0 .0001% كحد أدنى)، باستخدام التطبيق المصغّر "شريط التمرير" لتقسيم المستخدِمين الذين تم ترتيبهم عشوائيًا (نُسخ التطبيق) إلى مجموعات.

يتم ربط كل مثيل تطبيق بشكل دائم برقم صحيح أو كسري عشوائي، وفقًا ل بذرة محدّدة في ذلك المشروع.

ستستخدم القاعدة المفتاح التلقائي (الذي يظهر على أنّه تعديل القيمة الأساسية في وحدة تحكّم Firebase) ما لم تتم تعديل قيمة القيمة الأساسية. يمكنك إعادة استخدام المفتاح التلقائي في القاعدة من خلال محو حقل البذرة.

لمعالجة نُسخ التطبيق نفسها بشكلٍ متسق ضمن نطاقات النسب المئوية المحدّدة، استخدِم قيمة البذرة نفسها في جميع الشروط. أو اختَر مجموعة جديدة من نُسخ التطبيق التي تم تعيينها عشوائيًا لنطاق نسبته المئوية معيّنة من خلال تحديد بذرة جديدة.

على سبيل المثال، لإنشاء شرطَين مرتبطَين ينطبق كل منهما على% 5 من مستخدمي التطبيق غير المتداخلين، يمكنك ضبط شرط واحد لمطابقة نسبة مئوية تتراوح بين 0% و% 5 وضبط شرط آخر لمطابقة نطاق يتراوح بين% 5 و%10. للسماح لبعض المستخدِمين بالظهور بشكل عشوائي في كلتا المجموعتَين، استخدِم قيمًا مختلفة لبذور القواعد ضمن كلّ شرط.

للتعرّف على كيفية إضافة شروط النسبة المئوية العشوائية إلى تطبيقك، اطّلِع على ضبط تطبيق الخادم.

الإشارات المخصّصة

باستخدام الإصدار 12.5.0 أو الإصدارات الأحدث من حزمة تطوير البرامج (SDK) لنظام التشغيل Node.js في "إدارة Firebase"، يمكنك استخدام نوع الشرط إشارة مخصّصة لمطابقة الشروط العشوائية التي تحدّدها في تطبيقك. يتيح لك ذلك تخصيص ردّ الخادم لكل طلب من طلبات العميل.

على سبيل المثال، إذا كنت تعمل على تطبيق خادم يستخدم الذكاء الاصطناعي التوليدي لمحاولة المساعدة في إنشاء الردود باستخدام نماذج مختلفة تم ضبطها لأنظمة أساسيّة معيّنة، يمكنك تنفيذ ما يلي:

  1. أضِف المَعلمتَين prompt وmodel_name إلى نموذج Remote Config الخادم.
  2. أضِف إشارات مخصّصة بقيمة platform لكلّ منصّة تريد استهدافها.
  3. أضِف قيمًا تلقائية إلى نموذج Remote Config الخاص بالخادم و قيمًا مشروطة لكلّ شرط من شروط المنصة التي حدّدتها.
  4. عدِّل رمز تطبيقك لضبط إشارة platform المخصّصة واستخدامها.

يمكن لتطبيقك الآن استخراج الطلب والنموذج المناسبَين أثناء تقييم النموذج واستخدامهما لعرض ردود مخصّصة لكل عميل.

يمكنك استخدام أنواع القواعد التالية لإنشاء إشارات مخصّصة في وحدة تحكّم Firebase.

فئة المشغّل مشغّلون القيمة ملاحظة
Text تتطابق تمامًا مع، تحتوي على، لا تحتوي على، تحتوي على تعبير عادي

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

عند استخدام عامل التشغيل يحتوي على تعبير عادي، يمكنك إنشاء تعبيرات عادية بتنسيق RE2. يمكن أن يتطابق التعبير العادي مع كل سلسلة الإصدار المستهدفة أو جزء منها. يمكنك أيضًا استخدام علامتَي الربط ^ و$ لمحاولة مطابقة بداية سلسلة مستهدفة أو نهايتها أو كلّها.

أرقام <, <=, =, !=, >, >= رقم لا يحتوي على أكثر من عشرة أرقام على كل جانب من العلامة العشرية
الإصدارات <, <=, =, !=, >, >= رقم يمثّل أرقام الإصدارات المطلوب مطابقتها (على سبيل المثال، 2.1.0).

لمعرفة كيفية إضافة إشارات مخصّصة إلى تطبيقك، اطّلِع على مقالة ضبط تطبيق الخادم.

مَعلمات البحث والشروط

يمكنك البحث في مفاتيح المَعلمات وقيم المَعلمات وشروطها في مشروعك من وحدة تحكّم Firebase باستخدام مربّع البحث في أعلى علامة التبويب Remote Config المَعلمات.

الحدود المفروضة على المَعلمات والشروط

ضمن مشروع Firebase، يمكنك استخدام ما يصل إلى 2000 مَعلمة وما يصل إلى 500 شرط. يمكن أن يصل طول مفاتيح المَعلمات إلى 256 حرفًا، ويجب أن تبدأ بشرطة سفلية أو حرف إنجليزي (A-Z أو a-z)، ويمكن أن تتضمّن أيضًا أرقامًا. لا يمكن أن يتجاوز إجمالي طول سلاسل قيم المَعلمات ضمن مشروع ما 1,000,000 حرف.

عرض التغييرات على المَعلمات والشروط

يمكنك الاطّلاع على آخر التغييرات التي تم إجراؤها على نماذج Remote Config من وحدة تحكّم Firebase. بالنسبة إلى كل مَعلمة وشرط فرديَين، يمكنك إجراء ما يلي:

  • عرض اسم المستخدم الذي أجرى آخر تعديل على المَعلمة أو الشرط

  • إذا حدث التغيير خلال اليوم نفسه، يمكنك الاطّلاع على عدد الدقائق أو الساعات التي انقضت منذ نشر التغيير في نموذج Remote Config النشط.

  • إذا حدث التغيير قبل يوم أو أكثر، اطّلِع على تاريخ نشر التغيير في نموذج Remote Config النشط.

سجلّ تغييرات المَعلمات

في صفحة Remote Config المَعلمات ، يعرض عمود آخر تاريخ نشر آخر مستخدم عدّل كل مَعلمة وتاريخ آخر نشر للتغيير:

  • للاطّلاع على تغيير البيانات الوصفية للمَعلمات المجمّعة، وسِّع مجموعة المَعلمات.

  • لترتيب البيانات تصاعديًا أو تنازليًا حسب تاريخ النشر، انقر على تصنيف عمود آخر نشر.

سجلّ التغييرات للشروط

في صفحة Remote Config الشروط ، يمكنك الاطّلاع على آخر مستخدم عدّل الشرط وتاريخ تعديله بجانب تاريخ التعديل الأخير ضمن كل شرط.

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

لضبط مشروع Firebase وتطبيق الخادم لاستخدام Remote Config، اطّلِع على استخدام Remote Config في بيئات الخادم.