تحتوي هذه الصفحة على معلومات مرجعية لبناء التعبيرات الشرطية باستخدام واجهات برمجة التطبيقات الخلفية للتكوين البعيد أو وحدة تحكم Firebase. لمزيد من المعلومات حول إعداد واستخدام واجهات برمجة التطبيقات الخلفية ، راجع تعديل التكوين عن بُعد برمجيًا .
العناصر المستخدمة لتهيئة الظروف
تدعم Remote Config REST API نفس العناصر التي يمكنك استخدامها لإنشاء شروط عند تكوين Remote Config باستخدام Firebase Console:
عنصر | وصف |
---|---|
&& | يُستخدم لإنشاء "و" منطقي للعناصر في حالة استخدام أكثر من عنصر واحد لشرط. إذا تم استخدام عنصر في صيغة REST بدون ملاحظة: مطلوب مسافة قبل وبعد علامة العطف. على سبيل المثال: |
app.build | يتم التقييم إلى ملاحظة: متوفر فقط على أجهزة Apple و Android. بالنسبة إلى Apple ، استخدم قيمة CFBundleVersion ولأندرويد ، استخدم قيمة versionCode . |
app.version | يتم التقييم إلى ملاحظة: بالنسبة لأجهزة Android ، استخدم قيمة versionName ، وبالنسبة لأجهزة Apple ، استخدم قيمة CFBundleShortVersionString . |
app.id | عنصر يعتمد على معرف تطبيق Firebase |
app.audiences | عنصر يتم تقييمه إلى TRUE أو FALSE استنادًا إلى وجود المستخدم أو غيابه في واحد أو أكثر من جمهور Firebase Analytics . |
app.firstOpenTimestamp | عنصر يستند إلى المرة الأولى التي يشغل فيها المستخدم تطبيقًا ، تم الحصول عليه من حدث Google Analytics first_open . يستخدم تنسيق تاريخ ISO مع خيار تحديد منطقة زمنية ثابتة ؛ على سبيل المثال ، app.firstOpenTimestamp >= ('2022-10-31T14:37:47', 'America/Los_Angeles') . إذا لم يتم تحديد منطقة زمنية ، فسيتم استخدام توقيت غرينتش. |
app.userProperty | عنصر يتم تقييمه إلى TRUE أو FALSE استنادًا إلى القيمة الرقمية أو قيمة السلسلة لخاصية مستخدم Firebase Analytics . |
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
" ، أو "أزرق" ، أو "DEEP_ORANGE
" ، أو "CYAN
" ، أوINDIGO
GREEN
، أو "LIME
" ، أو "ORANGE
" ، أو "PINK
" ، أو "PURPLE
" ، أو "TEAL
". اللون غير حساس لحالة الأحرف ، ويؤثر فقط على كيفية عرض الظروف في وحدة تحكم Firebase.
المشغلين المدعومين
عنصر | المشغلين المدعومين | وصف |
---|---|---|
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 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 | <= ، > ، between | تُرجع TRUE إذا كانت القيمة في حقل percent تقارن بالقيمة التي تم تعيينها عشوائيًا لمطابقة عامل التشغيل.يمكنك تحديد مجموعة أولية لتحديد مجموعة جديدة من مثيلات التطبيق يتم تعيينها عشوائيًا لنطاق النسبة المئوية المحدد كما هو موضح في أنواع قواعد الشرط . للقيام بذلك ، قم بتوفير اسم الأصل قبل عامل التشغيل ، كما في المثال التالي: percent('keyName') <= 10 لتكوين نطاق محدد ، يمكنك استخدام عامل التشغيل percent between 20 and 60 لتكوين نطاق من المستخدمين بين 60 و 80 باستخدام بذرة مخصصة: percent('seedName') between 60 and 80 |