تحتوي هذه الصفحة على معلومات مرجعية لإنشاء قواعد التعبيرات التي تستخدم واجهات برمجة تطبيقات Remote Config في الخلفية أو وحدة تحكُّم Firebase. بالنسبة للحصول على مزيد من المعلومات حول إعداد واستخدام واجهات برمجة التطبيقات في الخلفية، راجع تعديل "الإعداد عن بُعد" آليًا
العناصر المستخدَمة لإنشاء شروط
توفّر واجهة برمجة التطبيقات Remote Config REST العناصر نفسها التي يمكنك استخدامها إنشاء شروط عند ضبط "Remote Config" باستخدام وحدة تحكُّم Firebase:
العنصر | الوصف |
---|---|
&& |
تستخدم لإنشاء رمز "and" منطقي من العناصر في حالة استخدام أكثر من عنصر
لشرط ما. إذا تم استخدام عنصر في بناء جملة 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 |
عنصر يستند إلى المرة الأولى التي يشغّل فيها المستخدم تطبيقًا، ويتم الحصول عليه من
حدث first_open في Google Analytics. تستخدِم تاريخ 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
". اللون هو وهي غير حساسة لحالة الأحرف، ولا تؤثر إلا في كيفية عرض الشروط في 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 إذا كان أي من القيم المستهدفة عبارة عن سلسلة فرعية من
إصدار التطبيق الفعلي - على سبيل المثال، "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 للجهاز في الطلب أو رمز البلد الذي يحدّده Firebase
"إحصاءات Google" (في حال مشاركة بيانات "إحصاءات 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 |