تحتوي هذه الصفحة على معلومات مرجعية لإنشاء تعبيرات شَرطية باستخدام Remote Config واجهات برمجة تطبيقات الخلفية أو وحدة تحكّم Firebase. للحصول على مزيد من المعلومات عن إعداد واجهات برمجة تطبيقات الخلفية واستخدامها، اطّلِع على مقالة تعديل ميزة "الإعداد عن بُعد" آليًا.
العناصر المستخدَمة لإنشاء الشروط
تتيح واجهة برمجة التطبيقات Remote Config REST API العناصر نفسها التي يمكنك استخدامها ل إنشاء شروط عند ضبط Remote Config باستخدام "وحدة تحكُّم Firebase":
العنصر | الوصف |
---|---|
&& |
يُستخدَم لإنشاء عامل تشغيل منطقي "و" للعناصر في حال استخدام أكثر من عنصر واحد
لإنشاء شرط. إذا تم استخدام عنصر في بنية REST بدون
ملاحظة: يجب إدراج مسافة قبل علامة الإضافة وبعدها. على سبيل المثال:
|
app.build |
يتم تقييمها على أنّها ملاحظة: تتوفّر هذه الميزة على أجهزة Apple وAndroid فقط. بالنسبة إلى أجهزة Apple، استخدِم القيمة CFBundleVersion، وبالنسبة إلى أجهزة Android، استخدِم القيمة versionCode. |
app.version |
تقيّم هذه الدالة القيمة ملاحظة: بالنسبة إلى أجهزة Android، استخدِم القيمة versionName، وبالنسبة إلى أجهزة Apple، استخدِم القيمة CFBundleShortVersionString. |
app.id |
عنصر يستند إلى معرّف تطبيق Firebase للتطبيق |
app.audiences |
عنصر يُقيّم على أنّه TRUE أو FALSE استنادًا
إلى حضور المستخدِم أو غيابه في واحد أو أكثر
من شرائح جمهور "إحصاءات Firebase". |
app.firstOpenTimestamp |
عنصر يستند إلى المرة الأولى التي يشغّل فيها المستخدِم تطبيقًا، ويتم الحصول عليه من حدث
Google Analytics first_open . يستخدم تنسيق ISO
للتاريخ مع خيار تحديد منطقة زمنية ثابتة، على سبيل المثال،
app.firstOpenTimestamp >= ('2022-10-31T14:37:47', 'America/Los_Angeles') .
في حال عدم تحديد منطقة زمنية، يتم استخدام التوقيت العالمي المتفق عليه.
|
app.userProperty |
عنصر يُحتسب على أنّه TRUE أو FALSE استنادًا
إلى القيمة الرقمية أو السلسلة ل
خاصية مستخدِم في "إحصاءات Firebase". |
app.operatingSystemAndVersion |
عنصر يستند إلى نظام التشغيل الذي يعمل عليه التطبيق.
يتم تقييمها على أنّها ملاحظة: تتوفّر هذه الميزة لتطبيقات الويب فقط. |
app.browserAndVersion |
عنصر يستند إلى المتصفّح الذي يعمل عليه التطبيق.
يتم تقييمها على أنّها ملاحظة: تتوفّر هذه الميزة لتطبيقات الويب فقط. |
app.firebaseInstallationId |
عنصر يستند إلى أرقام تعريف عمليات تثبيت على أجهزة معيّنة
يتم تقييمها على أنّها TRUE عندما يتطابق رقم تعريف التثبيت
مع أحد أرقام تعريف التثبيت المحدّدة. |
device.country |
عنصر يستند إلى المنطقة أو البلد الذي يقع فيه الجهاز، باستخدام
معيار ISO 3166-1 alpha-2 (مثل الولايات المتحدة أو المملكة المتحدة) يتم تقييمها على أنّها
TRUE عندما يتطابق بلد مع رمز بلد متوقّع. |
device.dateTime |
عنصر يستند إلى وقت آخر عملية جلب أجراها الجهاز
يستخدم تنسيق التاريخ وفقًا لمعيار ISO مع الخيار
لتحديد منطقة زمنية ثابتة، على سبيل المثال،
dateTime('2017-03-22T13:39:44', 'America/Los_Angeles') . |
device.language |
عنصر يستند إلى اللغة المحدّدة على أحد الأجهزة يتم تمثيل اللغة
باستخدام علامة لغة IETF، مثل es-ES أو pt-BR أو en-US.
يتم تقييمها على أنّها TRUE عندما تتطابق لغة مع رمز لغة
متوقّع. |
device.os |
عنصر يستند إلى نظام التشغيل المستخدَم على الجهاز (Apple أو Android)
يتم تقييمها على أنّها TRUE عندما يكون نظام التشغيل على الجهاز هو النوع المتوقّع. |
percent |
يتم تقييمها على أنّها TRUE استنادًا إلى تضمين المستخدِم في نسبة مئوية كسرية مُحدَّدة عشوائيًا (مع أحجام عيّنات صغيرة تصل إلى 0.000001%). |
يحتوي شرط العنصر الواحد على ثلاثة حقول:
name
محدّد بشكل عشوائي (ما يصل إلى 100 حرف)- تعبير شَرطي يتم تقييمه على أنّه
TRUE
أوFALSE
، يتألّف من العناصر الموضّحة أعلاه. - (اختياري) الرمز
tagColor
، والذي يمكن أن يكونBLUE
أوBROWN
أوCYAN
أوDEEP_ORANGE
أوGREEN
أوINDIGO
أوLIME
أوORANGE
أوPINK
أوPURPLE
أوTEAL
. لا يراعي اللون حالة الأحرف، ولا يؤثر إلا في كيفية عرض الشروط فيconsole Firebase.
عوامل التشغيل المتوافقة
على سبيل المثال، يعرض الرمزapp.build.notContains([123, 456])
القيمة TRUE
إذا كان الإصدار الفعلي للتطبيق هو 123 أو 492، ولكن يعرض القيمة FALSE
إذا كان الإصدار الفعلي للتطبيق هو 999.
على سبيل المثال،
تعرِض app.version.notContains([123, 456])
القيمة TRUE
إذا كان
إصدار التطبيق الفعلي هو 123 أو 492، ولكن تعرِض FALSE
إذا كان
إصدار التطبيق الفعلي هو 999.
العنصر | مشغّلو شبكات الجوّال المتوافقون | الوصف |
---|---|---|
app.audiences |
.inAtLeastOne([...]) |
تعرِض TRUE إذا كان الجمهور الفعلي يتطابق مع اسم قياسي واحد على الأقل
في القائمة.على سبيل المثال: app.audiences.inAtLeastOne(['Audience 1', 'Audience 2']) |
app.audiences |
.notInAtLeastOne([...]) |
تعرِض القيمة TRUE إذا لم يتطابق الجمهور الفعلي مع اسم TRUE واحد على الأقل من أسماء شرائح الجمهور في القائمة. |
app.audiences |
.inAll([...]) |
تعرِض هذه الدالة القيمة TRUE إذا كان الجمهور الفعلي عضوًا في كل اسم
جمهور في القائمة. |
app.audiences |
.notInAll([...]) |
تعرِض القيمة TRUE إذا لم تكن شريحة الجمهور الفعلية عضوًا في أي
شريحة جمهور في القائمة. |
app.firstOpenTimestamp |
<=, > |
تقارن بين وقت الحدث first_open والوقت
المحدّد في الشرط، وتُعرِض TRUE أو FALSE
استنادًا إلى المشغِّل.نموذج الاستخدام: app.firstOpenTimestamp >= ('2022-10-31T14:37:47', 'America/Los_Angeles') .
لتحديد نطاق: app.firstOpenTimestamp >= ('2022-11-01T00:00:00') && app.firstOpenTimestamp < ('2022-12-01T00:00:00')
في حال عدم تحديد منطقة زمنية، يتم استخدام توقيت غرينيتش.
|
app.userProperty |
< و<= و== و!=
>= و> |
تعرِض TRUE إذا كانت خاصيّة المستخدِم الفعلية تُقارِن عدديًا
بالقيمة المحدّدة بطريقة تتطابق مع عامل التشغيل. |
app.userProperty |
.contains([...]) |
تعرِض هذه الدالة القيمة TRUE إذا كانت أيّ من القيم المستهدَفة سلسلة فرعية من
خاصيّة المستخدِم الفعلية. |
app.userProperty |
.notContains([...]) |
تعرِض هذه الدالة القيمة TRUE إذا لم تكن أيّ من القيم المستهدَفة سلسلة فرعية من
خاصيّة المستخدِم الفعلية. |
app.userProperty |
.exactlyMatches([...]) |
تعرِض القيمة TRUE إذا كانت خاصيّة المستخدِم الفعلية تتطابق تمامًا
(تراعي الحالة) مع أي من القيم المستهدَفة في القائمة. |
app.userProperty |
.matches([...]) |
تعرِض TRUE إذا كان أي تعبير عادي مستهدف في
القائمة يتطابق مع سلسلة فرعية من القيمة الفعلية أو
القيمة الفعلية بأكملها. لفرض مطابقة السلسلة بأكملها،
ابدأ التعبير العادي بـ "^" واستخدم "$" كلاحقة. استخدِم
بنية RE2. |
app.id |
== |
تعرِض القيمة TRUE إذا كانت القيمة المحدّدة تتطابق مع معرّف التطبيق. |
app.build |
< و<= و== و!=
>= و> |
تعرِض TRUE إذا كانت قيمة إصدار التطبيق الفعلي تقارن رقميًا
بالقيمة المحدّدة بطريقة تتطابق مع عامل التشغيل. |
app.build |
.contains([...]) |
تعرِض هذه الدالة القيمة TRUE إذا كانت أي من القيم المستهدَفة سلسلة فرعية من
إصدار التطبيق الفعلي، على سبيل المثال، "a" و "bc" سلسلتان فرعيتان من
"abc". |
app.build |
.notContains([...]) |
تعرِض TRUE إذا لم تكن أي من القيم المستهدَفة سلسلة فرعية من
إصدار التطبيق الفعلي. |
app.build |
.exactlyMatches([...]) |
تعرِض هذه السمة القيمة TRUE إذا كانت نسخة التطبيق الفعلية تتطابق تمامًا مع
أي من القيم المستهدَفة في القائمة. |
app.build |
.matches([...]) |
تعرِض TRUE إذا كان أي تعبير عادي مستهدف في
القائمة يتطابق مع سلسلة فرعية من القيمة الفعلية أو القيمة الفعلية بأكملها. لفرض مطابقة
السلسلة بأكملها، ابدأ التعبير العادي بـ "^" واستخدم "$"
في نهايته. يتم استخدام بنية
RE2. |
app.version |
< و<= و== و!=
>= و> |
تعرِض TRUE إذا كان إصدار التطبيق الفعلي يُقارَن رقميًا
بالقيمة المحدّدة بطريقة تتطابق مع عامل التشغيل. |
app.version |
.contains([...]) |
تعرِض هذه الدالة القيمة TRUE إذا كانت أي من القيم المستهدَفة سلسلة فرعية من
إصدار التطبيق الفعلي، على سبيل المثال، "a" و "bc" سلسلتان فرعيتان من
"abc". |
app.version |
.notContains([...]) |
تعرِض TRUE إذا لم تكن أي من القيم المستهدَفة سلسلة فرعية من
إصدار التطبيق الفعلي. |
app.version |
.exactlyMatches([...]) |
تعرِض هذه الدالة القيمة TRUE إذا كان إصدار التطبيق الفعلي يتطابق تمامًا مع
أي من القيم المستهدَفة في القائمة. |
app.version |
.matches([...]) |
تعرِض TRUE إذا كان أي تعبير عادي مستهدف في
القائمة يتطابق مع سلسلة فرعية من القيمة الفعلية أو القيمة الفعلية بأكملها. لفرض مطابقة
السلسلة بأكملها، ابدأ التعبير العادي بـ "^" واستخدم "$"
في نهايته. يتم استخدام بنية
RE2. |
app.operatingSystemAndVersion |
.inOne([...]) |
تعرِض TRUE إذا كان نظام التشغيل والإصدار يتطابقان مع أي من
القيم المستهدَفة في القائمة.على سبيل المثال: app.operatingSystemAndVersion.inOne([operatingSystemName('Macintosh').version.==('10.15')]) |
app.browserAndVersion |
.inOne([...]) |
تعرِض TRUE إذا كان المتصفّح والإصدار يتطابقان مع أي من
القيم المستهدَفة في القائمة.على سبيل المثال: app.browserAndVersion.inOne([browserName('Chrome').anyVersion]) |
app.firebaseInstallationId |
in [...] |
تعرِض TRUE إذا كان معرّف التثبيت
يتطابق مع أيّ معرّف محدّد في القائمة. مثال على الاستخدام: app.firebaseInstallationId
in ['eyJhbGciOiJFUzI1N_iIs5', 'eapzYQai_g8flVQyfKoGs7'] |
device.country |
in [...] |
تعرِض هذه السمة القيمة TRUE إذا كان بلد الجهاز
يتطابق مع أي بلد محدّد في القائمة. مثال على الاستخدام: device.country in
['gb', 'us'] .
يتم تحديد رمز بلد الجهاز باستخدام عنوان IP
للجهاز في الطلب أو رمز البلد الذي تحدّده "إحصاءات Google"
لبرنامج Firebase (في حال مشاركة بيانات "إحصاءات Google" مع Firebase). |
device.dateTime |
<= ، > |
تقارن هذه الدالة الوقت الحالي
بالوقت المستهدَف للحالة، وتُقيّم بالقيمة TRUE أو
FALSE استنادًا إلى عامل التشغيل. مثال على الاستخدام:
dateTime < dateTime('2017-03-22T13:39:44') . |
device.language |
in [...] |
تعرِض هذه السمة القيمة TRUE إذا كانت أي من لغات التطبيق تتطابق مع لغة
في القائمة. مثال على الاستخدام: device.language in ['en-UK', 'en-US'] . |
device.os |
== ، != |
تعرِض TRUE إذا كان نظام التشغيل على الجهاز يقارن
بالقيمة في هذا الحقل التي تتطابق مع عامل التشغيل. |
percent |
<= و> وbetween |
تعرِض هذه الدالة القيمة TRUE إذا كانت القيمة في الحقل percent
تُقارَن بالقيمة التي تمّ تعيينها عشوائيًا لتطابق عامل التشغيل.
يمكنك تحديد بذرة لاختيار مجموعة جديدة من مثيلات التطبيق تم تعيينها عشوائيًا في نطاق نسبة مئوية معيّنة كما هو موضّح في أنواع قاعدة الشرط. لإجراء ذلك، أدخِل اسم البذرة قبل عامل التشغيل، كما هو موضّح في المثال التالي: percent('keyName') <= 10 لضبط نطاق معيّن، يمكنك استخدام المعامل percent between 20 and 60 لضبط نطاق مستخدمين يتراوح بين 60 و80 باستخدام مجموعة بذور مخصّصة: percent('seedName') between 60 and 80 |