مرجع التعبير الشرطي لـ Remote Config

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

العناصر المستخدمة لتهيئة الظروف

تدعم Remote Config REST API نفس العناصر التي يمكنك استخدامها لإنشاء الشروط عند تكوين Remote Config باستخدام Firebase Console:

جزء وصف
&&

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

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

app.build

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

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

app.version

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

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

app.id عنصر يستند إلى معرف تطبيق Firebase للتطبيق
app.audiences عنصر يتم تقييمه إلى TRUE أو FALSE بناءً على وجود المستخدم أو غيابه في واحد أو أكثر من جمهور Firebase Analytics .
app.userProperty عنصر يتم تقييمه إلى TRUE أو FALSE استنادًا إلى القيمة الرقمية أو قيمة السلسلة لخاصية مستخدم Firebase Analytics .
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 " ، أو " GREEN " ، أو " LIME " ، أو " DEEP_ORANGE " ، أو " INDIGO " ، PINK ORANGE ، أو " 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.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 Analytics (إذا تمت مشاركة بيانات Analytics مع 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 <= ، > تُرجع TRUE إذا كانت القيمة في حقل percent تقارن بالقيمة التي تم تعيينها عشوائيًا لمطابقة عامل التشغيل.