مرجع التعبير الشرطي لميزة "الإعداد عن بُعد"

تحتوي هذه الصفحة على معلومات مرجعية لإنشاء قواعد التعبيرات التي تستخدم واجهات برمجة التطبيقات في الخلفية لميزة "الإعداد عن بُعد" أو وحدة تحكُّم Firebase. بالنسبة للحصول على مزيد من المعلومات حول إعداد واستخدام واجهات برمجة التطبيقات في الخلفية، راجع تعديل "الإعداد عن بُعد" آليًا

العناصر المستخدَمة لإنشاء شروط

تتيح واجهة برمجة التطبيقات عن بُعد REST العناصر نفسها التي يمكنك استخدامها إنشاء شروط عند ضبط "الإعداد عن بُعد" باستخدام وحدة تحكُّم Firebase:

العنصر الوصف
&&

تستخدم لإنشاء رمز "and" منطقي من العناصر في حالة استخدام أكثر من عنصر لشرط ما. إذا تم استخدام عنصر في بناء جملة REST بدون && ، يتم التعامل مع هذا العنصر كشرط.

ملاحظة: يجب وضع مسافة قبل علامة العطف وبعدها. مثل: element1 && element2

app.build

يتم تقييمه بقيمة TRUE أو FALSE استنادًا إلى قيمة رقم إصدار التطبيق.

ملاحظة: تتوفّر هذه الميزة فقط على أجهزة Apple وAndroid. بالنسبة إلى Apple، استخدِم القيمة CFBundleVersion وبالنسبة إلى Android، استخدِم القيمة versionCode.

app.version

يتم تقييمه على أنّه TRUE أو FALSE استنادًا إلى قيمة رقم إصدار التطبيق.

ملاحظة: بالنسبة إلى أجهزة Android، استخدِم القيمة versionName، وبالنسبة إلى أجهزة Apple، استخدِم القيمة CFBundleShortVersionString.

app.id عنصر يستند إلى رقم تعريف التطبيق في Firebase
app.audiences عنصر يتم تقييمه إلى TRUE أو FALSE استنادًا إلى عن تواجد المستخدم أو غيابه في نشاط واحد أو أكثر شرائح جمهور "إحصاءات Firebase".
app.firstOpenTimestamp عنصر يستند إلى المرة الأولى التي يشغّل فيها المستخدم تطبيقًا، ويتم الحصول عليه من حدث first_open في "إحصاءات Google". تستخدِم تاريخ ISO مع خيار تحديد منطقة زمنية ثابتة؛ على سبيل المثال، app.firstOpenTimestamp >= ('2022-10-31T14:37:47', 'America/Los_Angeles') وإذا لم يتم تحديد منطقة زمنية، يتم استخدام توقيت غرينتش.
app.userProperty عنصر يتم تقييمه إلى TRUE أو FALSE استنادًا إلى على القيمة العددية أو السلسلة خاصيّة مستخدم "إحصاءات Firebase".
app.operatingSystemAndVersion

يشير ذلك المصطلح إلى عنصر يستند إلى نظام التشغيل الذي يتم تشغيل التطبيق عليه. يتم تقييم ذلك بقيمة TRUE عندما يتطابق إصدار نظام التشغيل وإصدار نظام التشغيل مع الإصدار المحدَّد. الهدف.

ملاحظة: لا تتوفّر هذه الميزة إلا لتطبيقات الويب.

app.browserAndVersion

يشير ذلك المصطلح إلى عنصر يستند إلى المتصفّح الذي يتم تشغيل التطبيق عليه. يتم تقييمه على TRUE عندما يتطابق إصدار المتصفّح والمتصفّح مع الهدف المحدد.

ملاحظة: لا تتوفّر هذه الميزة إلا لتطبيقات الويب.

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%).

يحتوي شرط العنصر الواحد على ثلاثة حقول:

  1. name معرّف عشوائي (يصل إلى 100 حرف)
  2. تعبير شرطي يتم تقييمه إلى TRUE أو FALSE، تتكون من العناصر الموضحة أعلاه.
  3. (اختياري) تمثّل هذه السمة 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

لضبط نطاق معيّن، يمكنك استخدام between . لضبط نطاق من المستخدمين يتراوح بين 20 و60 باستخدام دالة المحتوى الأساسي التلقائي:

percent between 20 and 60

لضبط نطاق من المستخدمين يتراوح بين 60 و80 مستخدمًا باستخدام قيمة أساسية مخصَّصة:

percent('seedName') between 60 and 80