يمكنك ضبط النماذج لكلٍّ من حالات استخدام العميل والخادم. يتم عرض نماذج العميل لأيّ نُسخ من التطبيقات تُنفِّذ حِزم تطوير البرامج (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) لمنصّات Firebase Apple، لأنّه لا يتم إرسال 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. للسماح لبعض المستخدِمين بالظهور بشكل عشوائي في كلٍّ من المجموعتَين، استخدِم قيمًا مختلفة لبذور القواعد ضمن كلّ شرط. |
الشريحة المستورَدة | في | اختَر شريحة واحدة أو أكثر تمّ استيرادها. | تتطلّب هذه القاعدة إعداد شرائح مستوردة مخصّصة. |
التاريخ/الوقت | قبل وبعد | تاريخ ووقت محدّدان، إما في المنطقة الزمنية للجهاز أو في منطقة زمنية محدّدة مثل "(غرينيتش +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 الشروط ، يمكنك الاطّلاع على آخر مستخدم عدّل الشرط وتاريخ تعديله بجانب تاريخ التعديل الأخير ضمن كل شرط.