يمكنك ضبط النماذج لكلٍّ من حالات استخدام العميل والخادم. يتم عرض نماذج العميل لأيّ نُسخ من التطبيقات تُنفِّذ حِزم تطوير البرامج (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 النموذج، والقيمة التي يتم استخدامها في مثيل تطبيق معيّن في وقت معيّن:
أولاً، يتم تطبيق القيم الشَرطية على أي شروط يتم تقييمها على أنّها
true
لطلب عميل معيّن. إذا كانت قيمةtrue
هي النتيجة التي يتمّ الوصول إليها عند تقييم شروط متعدّدة، يكون الشرط الأول (العلوي) المعروض في واجهة مستخدم وحدة تحكّم Firebase هو الأولوية، ويتمّ توفير القيم الشَرطية المرتبطة بهذا الشرط عندما يُجلب التطبيق القيم من الخلفية. يمكنك تغيير أولوية الشروط من خلال سحب الشروط وإفلاتها في علامة التبويب الشروط.إذا لم تكن هناك قيم شرطية بشروط يتم تقييمها على أنّها
true
، يتم توفير القيمة التلقائية لـ Remote Config عندما يجلب التطبيق القيم من الخلفية. إذا لم تكن المَعلمة متوفّرة في الخلفية، أو إذا كانت القيمة التلقائية مضبوطة على استخدام الإعداد التلقائي داخل التطبيق، لن يتم تقديم أي قيمة لهذه المَعلمة عندما يجلب التطبيق القيم.
في تطبيقك، يتم عرض قيم المَعلمات من خلال get
طريقة وفقًا
لقائمة الأولويات التالية.
- إذا تم جلب قيمة من الخلفية ثم تم تفعيلها، يستخدم التطبيق القيمة التي تم جلبها. إنّ قيم المَعلمات المُفعَّلة دائمة.
إذا لم يتم استرجاع أي قيمة من الخلفية، أو إذا لم يتم تفعيل القيم التي تم استرجاعها من Remote Config، يستخدم التطبيق القيمة التلقائية داخل التطبيق.
لمزيد من المعلومات عن الحصول على القيم التلقائية وضبطها، اطّلِع على مقالة تنزيل القيم التلقائية لنماذج Remote Config.
إذا لم يتم ضبط قيمة تلقائية داخل التطبيق، يستخدم التطبيق نوعًا ثابتًا قيمة (مثل
0
لسمةint
وfalse
لسمةboolean
).
يلخّص هذا الرسم البياني كيفية تحديد أولوية قيم المَعلمات في العمليات الخلفية وتطبيقك: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. لإنشاء مجموعة أو تعديلها:
- انقر على إدارة المجموعات.
- ضَع علامة في مربّعات الاختيار للمَعلمات التي تريد إضافتها، ثم انقر على نقل إلى المجموعة.
- اختَر مجموعة حالية أو أنشئ مجموعة جديدة عن طريق إدخال اسم و وصف، ثم اختيار إنشاء مجموعة جديدة. بعد حفظ مجموعة، يمكن نشرها باستخدام الزر نشر التغييرات.
أنواع قواعد الشروط
تتوفّر أنواع القواعد التالية في وحدة تحكّم Firebase. تتوفّر ميزات مماثلة في Remote Config REST API، كما هو موضّح بالتفصيل في مرجع التعبير الشَرطي.
نوع القاعدة | مشغّلون | القيم | ملاحظة |
التطبيق | == | اختَر من قائمة معرّفات التطبيقات للتطبيقات المرتبطة بمشروعك على Firebase. | عند إضافة تطبيق إلى Firebase، عليك إدخال معرّف حزمة أو اسم حزمة Android
يحدّد سمة يتم عرضها على أنّها معرّف التطبيق في
قواعد Remote Config.
استخدِم هذه السمة على النحو التالي:
|
إصدار التطبيق |
بالنسبة إلى القيم النصية: تطابق تمامًا، تحتوي على، لا تحتوي على، تحتوي على تعبير عادي بالنسبة إلى القيم الرقمية: <, <=, =, !=, >, >= |
حدِّد إصدارات تطبيقك المستهدفة. قبل استخدام هذه القاعدة، عليك استخدام قاعدة معرّف التطبيق لاختيار تطبيق Android/Apple المرتبط بمشروعك على Firebase. |
لأنظمة التشغيل من Apple: استخدِم CFBundleShortVersionString للتطبيق. ملاحظة: تأكَّد من أنّ تطبيقك المتوافق مع أجهزة Apple يستخدم الإصدار 6.24.0 أو إصدارًا أحدث من حزمة تطوير البرامج (SDK) لنظام التشغيل Apple من Firebase، لأنّه لا يتم إرسال CFBundleShortVersionString في الإصدارات الأقدم (اطّلِع على ملاحظات الإصدار). لأجهزة Android: استخدِم versionName للتطبيق. إنّ مقارنات السلاسل لهذه القاعدة حسّاسة لحالة الأحرف. عند استخدام عامل التشغيل يتطابق تمامًا أو يحتوي على أو لا يحتوي على أو يحتوي على تعبير عادي، يمكنك اختيار قيم متعدّدة. عند استخدام عامل التشغيل يحتوي على تعبير عادي، يمكنك إنشاء تعبيرات عادية بتنسيق RE2. يمكن أن يتطابق التعبير العادي مع الإصدار المستهدف بالكامل أو جزء منه. يمكنك أيضًا استخدام علامتَي الربط ^ و$ لمطابقة بداية سلسلة مستهدفة أو نهايتها أو كلّها. |
رقم الإصدار |
بالنسبة إلى القيم النصية: تتطابق تمامًا، تحتوي على، لا تحتوي على، تعبير عادي بالنسبة إلى القيم الرقمية: =, ≠, >, ≥, <, ≤ |
حدِّد إصدارات تطبيقك المستهدفة. قبل استخدام هذه القاعدة، عليك استخدام قاعدة معرّف التطبيق لاختيار تطبيق Apple أو Android مرتبط بمشروعك على Firebase. |
يتوفّر هذا المشغّل لتطبيقات Apple وAndroid فقط. ويتوافق مع CFBundleVersion للتطبيقات على أجهزة Apple وversionCode لأجهزة Android. إنّ مقارنات السلاسل لهذه القاعدة حساسة لحالة الأحرف. عند استخدام عامل التشغيل يتطابق تمامًا أو يحتوي على أو لا يحتوي على أو يحتوي على تعبير عادي، يمكنك اختيار قيم متعدّدة. عند استخدام عامل التشغيل يحتوي على تعبير عادي، يمكنك إنشاء تعبيرات عادية بتنسيق RE2. يمكن أن يتطابق التعبير العادي مع كل الإصدار المستهدف أو جزء منه. يمكنك أيضًا استخدام علامتَي الربط ^ و$ لمطابقة بداية سلسلة مستهدفة أو نهايتها أو كلّها. |
النظام الأساسي | == | iOS Android الويب |
|
نظام التشغيل | == |
حدِّد أنظمة التشغيل التي تريد استهدافها. قبل استخدام هذه القاعدة، يجب استخدام قاعدة معرّف التطبيق لاختيار تطبيق ويب مرتبط بمشروعك على Firebase. |
يتم تقييم هذه القاعدة على أنّها true لمثيل معيّن من تطبيقات الويب إذا كان
نظام التشغيل وإصداره يتطابقان مع قيمة مستهدَفة في القائمة المحدّدة.
|
المتصفح | == |
حدِّد المتصفّحات التي تريد استهدافها. قبل استخدام هذه القاعدة، يجب استخدام قاعدة معرّف التطبيق لاختيار تطبيق ويب مرتبط بمشروعك على Firebase. |
يتم تقييم هذه القاعدة على أنّها true لمثيل معيّن من تطبيقات الويب إذا كان
المتصفّح وإصداره يتطابقان مع قيمة مستهدَفة في القائمة المحدّدة.
|
فئة الجهاز | هو، ليس | الجوال | تقيِّم هذه القاعدة ما إذا كان الجهاز الذي يصل إلى تطبيقك على الويب هو جهاز جوّال أو غير جوّال (كمبيوتر مكتبي أو وحدة تحكّم). لا يتوفّر نوع القاعدة هذا إلا للتطبيقات المتوافقة مع الويب. |
اللغات | في | اختَر لغة واحدة أو أكثر. | يتم تقييم هذه القاعدة على أنّها true لمثيل تطبيق معيّن إذا كان
مثيل التطبيق هذا مثبّتًا على جهاز يستخدم إحدى اللغات المدرَجة.
|
البلد/المنطقة | في | اختَر منطقة أو بلدًا واحدًا أو أكثر. | يتم تقييم هذه القاعدة على أنّها true لمثيل تطبيق معيّن إذا كان
المثيل في أي من المناطق أو البلدان المدرَجة. يتم تحديد رمز بلد الجهاز
باستخدام عنوان IP للجهاز في الطلب أو رمز البلد
الذي تحدّده "إحصاءات Firebase" (في حال مشاركة بيانات "إحصاءات Google" مع Firebase).
|
شرائح جمهور المستخدِمين | أن تتضمّن واحدة على الأقل | اختَر جمهورًا واحدًا أو أكثر من قائمة Google Analytics جمهور أعددتها لمشروعك. | تتطلّب هذه القاعدة قاعدة معرّف التطبيق لاختيار تطبيق مرتبط بمشروعك على Firebase. ملاحظة: بما أنّ العديد من شرائح جمهور Analytics يتم تحديدها حسب الأحداث أو خصائص المستخدِمين، والتي يمكن أن تستند إلى إجراءات مستخدِمي التطبيق، قد يستغرق تطبيق قاعدة المستخدِم في شريحة الجمهور بعض الوقت في مثيل تطبيق معيّن. |
خاصيّة المستخدم |
بالنسبة إلى القيم النصية:
يحتوي على، لا يحتوي على، يتطابق تمامًا، يحتوي على تعبير عادي بالنسبة إلى القيم الرقمية: =, ≠, >, ≥, <, ≤ ملاحظة: على العميل، يمكنك ضبط قيم نصية فقط لسمات المستخدِم. بالنسبة إلى الشروط التي تستخدِم عوامل تشغيل رقمية، تحوّل دالة Remote Config قيمة خاصيّة المستخدِم المقابلة إلى عدد صحيح/عدد عشري. |
اختَر من قائمة Google Analytics خصائص المستخدِمين المتاحة. | للتعرّف على كيفية استخدام خصائص المستخدِمين لتخصيص تطبيقك لشرائح محدّدة جدًا من قاعدة مستخدِميك، اطّلِع على مقالة
Remote Config وخصائص المستخدِمين.
لمزيد من المعلومات عن خصائص المستخدِمين، اطّلِع على الأدلة التالية: عند استخدام عامل التشغيل تطابق تمامًا أو يحتوي على أو لا يحتوي على أو يحتوي على تعبير عادي، يمكنك اختيار قيم متعدّدة. عند استخدام عامل التشغيل يحتوي على تعبير عادي، يمكنك إنشاء تعبيرات عادية بتنسيق RE2. يمكن أن يتطابق التعبير العادي مع كل الإصدار المستهدف أو جزء منه. يمكنك أيضًا استخدام علامتَي الربط ^ و$ لمطابقة بداية سلسلة مستهدفة أو نهايتها أو كلّها. ملاحظة: لا تتوفّر خصائص المستخدِمين المجمَّعة تلقائيًا عند إنشاء شروط Remote Config. |
المستخدمون بنسبة مئوية عشوائية | شريط التمرير (في وحدة تحكُّم Firebase) تستخدم
واجهة برمجة تطبيقات REST
المشغّلات <= و> وbetween .
|
0-100 |
استخدِم هذا الحقل لتطبيق تغيير على عيّنة عشوائية من نُسخ التطبيق (بأحجام عيّنات تبلغ 0 .0001% كحد أدنى)، باستخدام التطبيق المصغّر "شريط التمرير" لتقسيم المستخدِمين الذين تم ترتيبهم عشوائيًا (نُسخ التطبيق) إلى مجموعات. يتم ربط كل مثيل تطبيق بشكل دائم برقم صحيح أو كسري عشوائي، وفقًا ل بذرة محدّدة في ذلك المشروع. ستستخدم القاعدة المفتاح التلقائي (الذي يظهر على أنّه تعديل القيمة الأساسية في وحدة تحكّم Firebase) ما لم تتم تعديل قيمة القيمة الأساسية. يمكنك إعادة استخدام المفتاح التلقائي في القاعدة من خلال محو حقل البذرة. لمعالجة نُسخ التطبيق نفسها بشكلٍ متسق ضمن نطاقات النسب المئوية المحدّدة، استخدِم قيمة البذرة نفسها في جميع الشروط. أو اختَر مجموعة جديدة من نُسخ التطبيق التي تم تعيينها عشوائيًا لنطاق نسبته المئوية معيّنة من خلال تحديد بذرة جديدة. على سبيل المثال، لإنشاء شرطَين مرتبطَين ينطبق كل منهما على% 5 من مستخدمي التطبيق غير المتداخلين، يمكنك ضبط شرط واحد لمطابقة نسبة مئوية تتراوح بين 0% و% 5 وضبط شرط آخر لمطابقة نطاق يتراوح بين% 5 و%10. للسماح لبعض المستخدِمين بالظهور بشكل عشوائي في كلٍّ من المجموعتَين، استخدِم قيمًا مختلفة لبذور القواعد ضمن كلّ شرط. |
الشريحة المستورَدة | في | اختَر شريحة واحدة أو أكثر تمّ استيرادها. | تتطلّب هذه القاعدة إعداد شرائح جمهور مستورَدة مخصّصة. |
التاريخ/الوقت | قبل وبعد | تاريخ ووقت محدّدان، إما في المنطقة الزمنية للجهاز أو في منطقة زمنية محدّدة مثل "(GMT+11) توقيت سيدني" | تقارن الوقت الحالي بوقت جلب الجهاز. |
أول فتح | قبل وبعد | تاريخ ووقت محدّدان في المنطقة الزمنية المحدّدة | تطابق المستخدِمين الذين يفتحون التطبيق المستهدَف لأول مرّة خلال النطاق الزمني المحدّد. يتطلب حِزم تطوير البرامج (SDK) التالية:
|
معرّف التثبيت | في | حدِّد معرّف تثبيت واحدًا أو أكثر (ما يصل إلى 50) لاستهدافه. | تُقيّم هذه القاعدة على true لعملية تثبيت معيّنة إذا كان معرّف
هذه العملية مضمّنًا في قائمة القيم المفصولة بفواصل.
لمعرفة كيفية الحصول على أرقام تعريف عمليات التثبيت، يُرجى الاطّلاع على مقالة استرداد معرّفات العملاء. |
توفّر المستخدم | (بدون عامل تشغيل) | تستهدف جميع مستخدمي جميع التطبيقات ضمن المشروع الحالي. |
استخدِم قاعدة الشرط هذه لمطابقة جميع المستخدمين في المشروع، بغض النظر عن التطبيق أو المنصة. |
مَعلمات البحث والشروط
يمكنك البحث في مفاتيح المَعلمات وقيم المَعلمات وشروطها في مشروعك من وحدة تحكّم 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 الشروط ، يمكنك الاطّلاع على آخر مستخدم عدّل الشرط وتاريخ تعديله بجانب تاريخ التعديل الأخير ضمن كل شرط.