Google is committed to advancing racial equity for Black communities. See how.
ترجمت واجهة Cloud Translation API‏ هذه الصفحة.
Switch to English

مرجع التعبير الشرطي للتكوين عن بعد

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

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

تدعم Remote Config REST API نفس العناصر التي يمكنك استخدامها لتهيئة الظروف عند تهيئة Remote Config باستخدام وحدة تحكم Firebase:

جزء وصف
&&

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

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

app.build

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

ملاحظة: متوفر فقط على أجهزة iOS. استخدم قيمة CFBundleVersion .

app.version

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

ملاحظة: متاح فقط على Android. استخدم قيمة versionName

app.id عنصر يعتمد على معرف تطبيق Firebase للتطبيق
app.audiences عنصر يتم تقييمه إلى TRUE أو FALSE استنادًا إلى وجود أو غياب المستخدم في واحد أو أكثر من جمهور Firebase Analytics .
app.predictionScores.id عنصر يقوم بتقييم احتمال النسبة المئوية للمستخدم للمتصل لمعرف توقعات Firebase معين.
app.userProperty عنصر يتم تقييمه إلى TRUE أو FALSE استنادًا إلى القيمة العددية أو القيمة لسلسلة مستخدمي Firebase Analytics .
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 عنصر يعتمد على نظام التشغيل المستخدم على جهاز (iOS أو 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.predictionScores.id .between(..., ...) إرجاع TRUE إذا كان احتمال النسبة المئوية لمستخدم المتصل للتنبؤ في النطاق المحدد.
فمثلا:

app.predictionScores.id('churn').between(0.25, 1.00)

app.userProperty < ، <= ، == ، != ، >= ، > لعرض TRUE إذا كانت خاصية المستخدم الفعلية تقارن رقميًا بالقيمة المحددة بطريقة تطابق عامل التشغيل.
app.userProperty .contains([...]) إرجاع TRUE إذا كانت أي من القيم المستهدفة عبارة عن سلسلة فرعية من خاصية المستخدم الفعلية.
app.userProperty .notContains([...]) إرجاع TRUE إذا لم 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 إذا لم TRUE أي من القيم المستهدفة عبارة عن سلسلة فرعية من بناء التطبيق الفعلي.
app.build .exactlyMatches([...]) إرجاع TRUE إذا كان بناء التطبيق الفعلي يتطابق تمامًا مع أي من القيم المستهدفة في القائمة.
app.build .matches([...]) إرجاع TRUE إذا كان أي تعبير عادي مستهدف في القائمة يطابق سلسلة فرعية من القيمة الفعلية بالكامل. لفرض مطابقة السلسلة بأكملها ، قم ببدء التعبير العادي بـ "^" وضمه بـ "$". يستخدم بناء جملة RE2 .
app.version < ، <= ، == ، != ، >= ، > إرجاع TRUE إذا كان إصدار التطبيق الفعلي يقارن رقميًا بالقيمة المحددة بطريقة تطابق عامل التشغيل.
app.version .contains([...]) إرجاع TRUE إذا كانت أي من القيم المستهدفة عبارة عن سلسلة فرعية من إصدار التطبيق الفعلي — على سبيل المثال ، "a" و "bc" هي سلاسل فرعية لـ "abc".
app.version .notContains([...]) إرجاع TRUE إذا لم TRUE أي من القيم المستهدفة عبارة عن سلسلة فرعية من إصدار التطبيق الفعلي.
app.version .exactlyMatches([...]) إرجاع TRUE إذا كان إصدار التطبيق الفعلي يتطابق تمامًا مع أي من القيم المستهدفة في القائمة.
app.version .matches([...]) إرجاع TRUE إذا كان أي تعبير عادي مستهدف في القائمة يطابق سلسلة فرعية من القيمة الفعلية بالكامل. لفرض مطابقة السلسلة بأكملها ، قم ببدء التعبير العادي بـ "^" وضمه بـ "$". يستخدم بناء جملة RE2 .
device.country in [...] إرجاع TRUE إذا تطابق بلد الجهاز مع أي محدد في القائمة. استخدام device.country in ['gb', 'us'] : 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 تقارن بالقيمة التي تم تعيينها عشوائيًا ومطابقة لعامل التشغيل.

معلمات بسلاسل فارغة ولا قيمة

عند إنشاء أو تحرير قيم المعلمات في وحدة تحكم الويب للتكوين عن بُعد ، لديك خيار تعيين قيمة معلمة إلى قيمة سلسلة ، (سلسلة فارغة) ، أو إلى لا قيمة (مما يؤدي إلى استخدام القيمة الافتراضية داخل التطبيق بدلاً من ذلك القيمة في قالب التكوين عن بعد).

عند استخدام Remote Config API للحصول على قالب Remote Config لمشروعك بتنسيق JSON ، لا يتم تمثيل أي قيمة كما هو موضح أدناه:

 "myCondition" : {
  "useInAppDefault" : true
},
 

وبالمثل ، يتم تمثيل (سلسلة فارغة) كما هو موضح أدناه:

 "myCondition" : {
  "value" : ""
},