تحتوي هذه الصفحة على معلومات مرجعية لإنشاء تعبيرات شرطية باستخدام واجهات برمجة التطبيقات الخلفية Remote Config أو وحدة تحكّم Firebase. لمزيد من المعلومات حول إعداد واجهات برمجة التطبيقات الخلفية واستخدامها، راجِع مقالة تعديل "الإعداد عن بُعد" آليًا.
العناصر المستخدَمة لإنشاء الشروط
تتيح واجهة برمجة التطبيقات Remote Config REST استخدام العناصر نفسها التي يمكنك استخدامها لإنشاء شروط عند إعداد 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 استنادًا إلى القيمة الرقمية أو قيمة السلسلة Google Analytics
لخاصية المستخدِم. |
app.operatingSystemAndVersion |
عنصر يستند إلى نظام التشغيل الذي يتم تشغيل التطبيق عليه.
تكون النتيجة ملاحظة: تتوفّر هذه الميزة لتطبيقات الويب فقط. |
app.browserAndVersion |
عنصر يستند إلى المتصفّح الذي يتم تشغيل التطبيق عليه.
تُقيَّم هذه السمة إلى ملاحظة: تتوفّر هذه الميزة لتطبيقات الويب فقط. |
app.firebaseInstallationId |
عنصر يستند إلى أرقام تعريف عمليات تثبيت أجهزة معيّنة.
يتم تقييمها إلى TRUE عندما يتطابق رقم تعريف التثبيت مع أحد أرقام تعريف التثبيت المحدّدة. |
app.customSignal |
عنصر يتم تقييمه إلى TRUE أو FALSE استنادًا إلى القيمة الرقمية أو الدلالية أو قيمة السلسلة لشروط الإشارة المخصّصة. |
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
. لا تتأثر الألوان بحالة الأحرف، وتؤثر فقط في طريقة عرض الشروط في وحدة تحكّم 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 إذا لم تتطابق شريحة الجمهور الفعلية مع اسم واحد على الأقل من أسماء شرائح الجمهور في القائمة. |
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 إذا كانت أي من القيم المستهدَفة عبارة عن سلسلة فرعية من إصدار التطبيق الفعلي، مثل "أ" و "ب ج" اللتَين تمثّلان سلسلتَين فرعيتَين من "أ ب ج". |
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'] |
app.customSignal |
< و<= و== و!= و>= و> |
تعرض هذه الدالة TRUE إذا كانت حالة الإشارة المخصّصة تقارن عدديًا بالقيمة المحدّدة بطريقة تتطابق مع عامل التشغيل.
|
app.customSignal |
.contains([...]) |
تعرض الدالة TRUE إذا كانت أي من القيم المستهدَفة عبارة عن سلسلة فرعية من شرط الإشارة المخصّصة الفعلي.
|
app.customSignal |
.notContains([...]) |
تعرض الدالة TRUE إذا كانت أي من القيم المستهدَفة عبارة عن سلسلة فرعية من شرط الإشارة المخصّصة الفعلي.
|
app.customSignal |
.exactlyMatches([...]) |
تعرض هذه الدالة القيمة TRUE إذا تطابق شرط الإشارة المخصّصة الفعلي تمامًا (مع مراعاة حالة الأحرف) مع أي من القيم المستهدَفة في القائمة.
|
app.customSignal |
.matches([...]) |
تعرض الدالة TRUE إذا كان أي تعبير عادي مستهدَف في القائمة يتطابق مع سلسلة فرعية من شرط الإشارة المخصّصة الفعلي أو معه بالكامل. لفرض مطابقة السلسلة بأكملها، ابدأ التعبير العادي بعلامة "^" وأضِف علامة "$" في نهايته. ويتم استخدام بنية
RE2.
|
version(app.customSignal) |
< و<= و== و!= و>= و> |
تعرض هذه الدالة القيمة TRUE إذا كانت حالة الإشارة المخصّصة تقارن دلاليًا بالقيمة المحدّدة بطريقة تتطابق مع عامل التشغيل.
|
device.country |
in [...] |
تعرِض هذه السمة القيمة TRUE إذا كان بلد الجهاز يطابق أيًا من البلدان المحدّدة في القائمة. مثال على الاستخدام: device.country in
['gb', 'us'] .
يتم تحديد رمز البلد للجهاز باستخدام عنوان IP للجهاز في الطلب أو رمز البلد الذي تحدّده "إحصاءات 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 |