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

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

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

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

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

الشروط والقواعد والقيم الشرطية

يُستخدم الشرط لاستهداف مجموعة من مثيلات التطبيق. تتكون الشروط من قاعدة واحدة أو أكثر والتي يجب أن يتم تقييمها جميعًا على أنها true حتى يتم تقييم الشرط إلى true بالنسبة لمثيل تطبيق معين. إذا كانت قيمة القاعدة غير محددة (على سبيل المثال ، عندما لا تتوفر قيمة) ، فسيتم تقييم هذه القاعدة إلى false .

على سبيل المثال ، يمكن للمعلمة التي تحدد صفحة البداية للتطبيق أن تعرض صورًا مختلفة بناءً على نوع نظام التشغيل باستخدام القاعدة البسيطة if device_os = Android :

أو ، يمكن استخدام شرط زمني للتحكم في وقت عرض تطبيقك لعناصر ترويجية خاصة.

يمكن أن تحتوي المعلمة على قيم شرطية متعددة تستخدم شروطًا مختلفة ، ويمكن للمعلمات مشاركة الشروط داخل المشروع.

أولوية قيمة المعلمة

قد تحتوي المعلمة على العديد من القيم الشرطية المرتبطة بها. تحدد القواعد التالية القيمة التي يتم جلبها من خادم التكوين البعيد ، والقيمة التي يتم استخدامها في مثيل تطبيق معين في وقت معين:

يتم جلب قيم المعلمات من جانب الخادم وفقًا لقائمة الأولويات التالية

  1. أولاً ، يتم تطبيق القيم الشرطية ، إن وجدت لها شروط يتم تقييمها على أنها true لمثيل تطبيق معين. إذا تم تقييم عدة شروط على أنها true ، فإن أول (أعلى) يظهر في واجهة مستخدم وحدة تحكم Firebase يكون له الأسبقية ، ويتم توفير القيم الشرطية المرتبطة بهذا الشرط عندما يجلب التطبيق قيمًا من الواجهة الخلفية. يمكنك تغيير أولوية الشروط عن طريق سحب الشروط وإفلاتها في علامة التبويب " الشروط" .

  2. إذا لم تكن هناك قيم شرطية بشروط يتم تقييمها على أنها true ، يتم توفير القيمة الافتراضية من جانب الخادم عندما يجلب التطبيق قيمًا من الواجهة الخلفية. إذا كانت المعلمة غير موجودة في الواجهة الخلفية ، أو إذا تم تعيين القيمة الافتراضية على بلا قيمة ، فلن يتم تقديم أي قيمة لهذه المعلمة عندما يجلب التطبيق القيم.

في تطبيقك ، يتم إرجاع قيم المعلمات من خلال طرق get وفقًا لقائمة الأولويات التالية

  1. إذا تم جلب قيمة من الواجهة الخلفية ثم تنشيطها ، فسيستخدم التطبيق القيمة التي تم جلبها. قيم المعلمات المنشطة ثابتة.
  2. إذا لم يتم جلب أي قيمة من الواجهة الخلفية ، أو إذا لم يتم تنشيط القيم التي تم جلبها من الواجهة الخلفية لـ Remote Config ، فسيستخدم التطبيق القيمة الافتراضية داخل التطبيق.
  3. إذا لم يتم تعيين قيمة افتراضية داخل التطبيق ، فسيستخدم التطبيق قيمة نوع ثابتة (مثل 0 لـ int و false لـ boolean ).

يلخص هذا الرسم كيفية إعطاء الأولوية لقيم المعلمات في خلفية Remote Config وفي تطبيقك:

مجموعات المعلمات

يسمح لك Remote Config بتجميع المعلمات معًا للحصول على واجهة مستخدم ونموذج عقلي أكثر تنظيماً.

على سبيل المثال ، لنفترض أنك بحاجة إلى تمكين أو تعطيل ثلاثة أنواع مختلفة من المصادقة أثناء طرح ميزة تسجيل دخول جديدة. باستخدام Remote Config ، يمكنك إنشاء المعلمات الثلاثة لتمكين الأنواع حسب الرغبة ، ثم تنظيمها في مجموعة تسمى "تسجيل دخول جديد" ، دون الحاجة إلى إضافة بادئات أو فرز خاص.

يمكنك إنشاء مجموعات معلمات باستخدام وحدة تحكم Firebase أو Remote Config REST API. كل مجموعة معلمات تقوم بإنشائها لها اسم فريد في قالب "التكوين البعيد". عند إنشاء مجموعات المعلمات ، ضع في اعتبارك:

  • يمكن تضمين المعلمات في مجموعة واحدة فقط في أي وقت ، ويجب أن يظل مفتاح المعلمة فريدًا عبر جميع المعلمات.
  • أسماء مجموعة المعلمات محددة بـ 256 حرفًا.
  • إذا كنت تستخدم كلاً من REST API ووحدة تحكم Firebase ، فتأكد من تحديث أي منطق REST API للتعامل مع مجموعات المعلمات عند النشر.

قم بإنشاء أو تعديل مجموعات المعلمات باستخدام وحدة تحكم Firebase

يمكنك تجميع المعلمات في علامة التبويب " المعلمات" في وحدة تحكم Firebase. لإنشاء مجموعة أو تعديلها:

  1. حدد إدارة المجموعات .
  2. حدد مربعات الاختيار للمعلمات التي تريد إضافتها وحدد نقل إلى المجموعة .
  3. حدد مجموعة موجودة ، أو أنشئ مجموعة جديدة بإدخال اسم ووصف ، واختيار إنشاء مجموعة جديدة . بعد حفظ مجموعة ، يكون متاحًا للنشر باستخدام الزر نشر التغييرات .

إنشاء مجموعات برمجيًا

يوفر Remote Config REST API طريقة آلية لإنشاء مجموعات المعلمات ونشرها. بافتراض أنك على دراية بـ REST وتم إعدادك للسماح للطلبات بواجهة برمجة التطبيقات ، يمكنك تنفيذ هذه الخطوات لإدارة المجموعات برمجيًا:

  1. استرجع القالب الحالي
  2. أضف كائنات JSON لتمثيل مجموعات المعلمات الخاصة بك
  3. انشر مجموعات المعلمات باستخدام طلب HTTP PUT.

يحتوي كائن parameterGroups على مفاتيح المجموعة ، مع وصف متداخل وقائمة بالمعلمات المجمعة. لاحظ أن كل مفتاح مجموعة يجب أن يكون فريدًا بشكل عام.

على سبيل المثال ، هذا مقتطف من مراجعة القالب التي تضيف مجموعة المعلمات "قائمة جديدة" بمعامل واحد ، pumpkin_spice_season :

{
  "parameters": {},
  "version": {
    "versionNumber": "1",

    …


  },
  "parameterGroups": {
    "new menu": {
      "description": "New Menu",
      "parameters": {
        "pumpkin_spice_season": {
          "defaultValue": {
            "value": "true"
          },
          "description": "Whether it's currently pumpkin spice season."
        }
      }
    }
  }
}

أنواع قواعد الشرط

أنواع القواعد التالية مدعومة في وحدة تحكم Firebase. تتوفر الوظائف المكافئة في Remote Config REST API ، كما هو مفصل في مرجع التعبير الشرطي .

نوع القاعدة العاملين) القيم) ملحوظة
تطبيق == اختر من قائمة معرّفات التطبيقات للتطبيقات المرتبطة بمشروع Firebase. عندما تضيف تطبيقًا إلى Firebase ، فأنت تدخل معرف حزمة iOS أو اسم حزمة Android الذي يحدد السمة التي يتم عرضها على أنها معرف التطبيق في قواعد التكوين عن بُعد.

استخدم هذه السمة على النحو التالي:
  • لنظام iOS: استخدم CFBundleIdentifier للتطبيق . يمكنك العثور على حزمة معرف في التبويب عام للهدف الأساسي التطبيق في كسكودي.
  • لنظام Android: استخدم معرف التطبيق الخاص بالتطبيق . يمكنك العثور على applicationId في مستوى التطبيق build.gradle الملف.
نسخة التطبيق لقيم السلسلة:
تطابق تمامًا ،
يحتوي على،
لا يحتوي،
تعبير عادي

للقيم الرقمية:
=، ≠،>، ≥، <، ≤

حدد إصدار (إصدارات) تطبيقك المراد استهدافه.

قبل استخدام هذه القاعدة ، يجب عليك استخدام قاعدة معرف التطبيق لتحديد تطبيق Android / iOS مرتبط بمشروع Firebase.

لنظام iOS: استخدم CFBundleShortVersionString الخاص بالتطبيق .

ملاحظة: تأكد من أن تطبيق iOS الخاص بك يستخدم Firebase iOS SDK الإصدار 6.24.0 أو أعلى ، حيث لا يتم إرسال CFBundleShortVersionString في الإصدارات السابقة (انظر ملاحظات الإصدار ).

للحصول على الروبوت: استخدام التطبيق اسم الإصدار .

مقارنات السلاسل لهذه القاعدة حساسة لحالة الأحرف. عند استخدام عامل التشغيل المطابق تمامًا أو يحتوي على أو لا يحتوي أو تعبير عادي ، يمكنك تحديد قيم متعددة.

عند استخدام عامل تشغيل التعبير العادي ، يمكنك إنشاء تعبيرات عادية بتنسيق RE2 . يمكن أن يتطابق التعبير العادي مع كل سلسلة الإصدار الهدف أو جزء منها. يمكنك أيضًا استخدام علامة الارتساء ^ و $ لمطابقة بداية السلسلة المستهدفة أو نهايتها أو كليها.

اكمل العدد لقيم السلسلة:
تطابق تمامًا ،
يحتوي على،
لا يحتوي،
تعبير عادي

للقيم الرقمية:
=، ≠،>، ≥، <، ≤

حدد بنية (تصميمات) تطبيقك لاستهدافها.

قبل استخدام هذه القاعدة ، يجب عليك استخدام قاعدة معرف التطبيق لتحديد تطبيق iOS المرتبط بمشروع Firebase.

هذا المشغل متاح لتطبيقات iOS فقط ، ويتوافق مع CFBundleVersion للتطبيق . مقارنات السلاسل لهذه القاعدة حساسة لحالة الأحرف.

عند استخدام عامل التشغيل المطابق تمامًا أو يحتوي على أو لا يحتوي أو تعبير عادي ، يمكنك تحديد قيم متعددة.

عند استخدام عامل تشغيل التعبير العادي ، يمكنك إنشاء تعبيرات عادية بتنسيق RE2 . يمكن أن يتطابق التعبير العادي مع كل سلسلة الإصدار الهدف أو جزء منها. يمكنك أيضًا استخدام علامة الارتساء ^ و $ لمطابقة بداية السلسلة المستهدفة أو نهايتها أو كليها.

نوع نظام التشغيل == iOS
ذكري المظهر
التاريخ / الوقت <= ،> تاريخ ووقت محددان ، إما في المنطقة الزمنية للجهاز أو في منطقة زمنية محددة مثل "(GMT + 11) بتوقيت سيدني". يقارن الوقت الحالي بوقت جلب الجهاز.
المستخدم في النسبة المئوية العشوائية <= ،> 0-100

استخدم هذا الحقل لتطبيق تغيير على عينة عشوائية من مثيلات التطبيق (بأحجام عينة صغيرة تصل إلى .0001٪) ، باستخدام عامل التشغيل <= و > لتقسيم المستخدمين (مثيلات التطبيق) إلى مجموعات.

يتم تعيين كل مثيل تطبيق بشكل مستمر إلى رقم عشوائي كامل أو كسري ، وفقًا لمفتاح محدد في هذا المشروع. ستستخدم القاعدة المفتاح الافتراضي (يظهر كـ DEF في وحدة تحكم Firebase) ما لم تحدد أو تنشئ مفتاحًا آخر. يمكنك إعادة قاعدة إلى استخدام المفتاح الافتراضي عن طريق مسح المجال العشوائي للمستخدمين باستخدام هذا المفتاح . يمكنك استخدام مفتاح واحد عبر القواعد لمعالجة مثيلات التطبيق نفسها باستمرار ضمن نطاقات النسبة المئوية المحددة. أو يمكنك تحديد مجموعة جديدة من مثيلات التطبيق يتم تعيينها عشوائيًا لنطاق نسبة مئوية معين عن طريق إنشاء مفتاح جديد.

على سبيل المثال ، لإنشاء شرطين مرتبطين ينطبق كل منهما على 5٪ غير متداخلة من مستخدمي التطبيق ، يمكن أن يكون لديك شرط واحد يتضمن قاعدة <= 5٪ ، وشرط آخر يتضمن كلاً من قاعدة > 5٪ و <= 10٪ حكم. لتمكين بعض المستخدمين من الظهور بشكل عشوائي في كلا المجموعتين ، استخدم مفاتيح مختلفة للقواعد في كل حالة.

المستخدم في الجمهور == حدد واحدًا أو أكثر من قائمة جماهير Google Analytics التي أعددتها لمشروعك.

تتطلب هذه القاعدة قاعدة معرف التطبيق لتحديد تطبيق مرتبط بمشروع Firebase.

ملاحظة: نظرًا لأن العديد من جماهير Analytics يتم تحديدها من خلال الأحداث أو خصائص المستخدم ، والتي يمكن أن تستند إلى إجراءات مستخدمي التطبيق ، فقد يستغرق الأمر بعض الوقت حتى تدخل قاعدة المستخدم في الجمهور حيز التنفيذ لمثيل تطبيق معين.

الجهاز في المنطقة / البلد == حدد منطقة أو دولة واحدة أو أكثر. يتم تقييم هذه القاعدة إلى " true " لمثيل تطبيق معين إذا كان المثيل في أي من المناطق أو البلدان المدرجة. يتم تحديد رمز بلد الجهاز باستخدام عنوان IP الخاص بالجهاز في الطلب أو رمز البلد المحدد بواسطة Firebase Analytics (إذا تمت مشاركة بيانات Analytics مع Firebase).
لغة الجهاز == حدد لغة واحدة أو أكثر. يتم تقييم هذه القاعدة إلى " true " لمثيل تطبيق معين إذا تم تثبيت مثيل التطبيق هذا على جهاز يستخدم إحدى اللغات المدرجة.
خاصية المستخدم لقيم السلسلة:
يحتوي على،
لا يحتوي،
تطابق تمامًا ،
تعبير عادي

للقيم الرقمية:
=، ≠،>، ≥، <، ≤

ملاحظة: على العميل ، يمكنك فقط تعيين قيم سلسلة لخصائص المستخدم. بالنسبة للحالات التي تستخدم عوامل رقمية ، يحول Remote Config قيمة خاصية المستخدم المطابقة إلى عدد صحيح / عدد عشري.
اختر من قائمة خصائص مستخدمي Google Analytics المتاحة. لمعرفة كيفية استخدام خصائص المستخدم لتخصيص تطبيقك لشرائح محددة جدًا من قاعدة المستخدمين ، راجع التكوين عن بُعد وخصائص المستخدم .

لمعرفة المزيد حول خصائص المستخدم ، راجع الأدلة التالية:

عند استخدام عامل التشغيل المطابق تمامًا أو يحتوي على أو لا يحتوي على أو تعبير عادي ، يمكنك تحديد قيم متعددة.

عند استخدام عامل تشغيل التعبير العادي ، يمكنك إنشاء تعبيرات عادية بتنسيق RE2 . يمكن أن يتطابق تعبيرك العادي مع كل سلسلة الإصدار الهدف أو جزء منها. يمكنك أيضًا استخدام علامة الارتساء ^ و $ لمطابقة بداية السلسلة المستهدفة أو نهايتها أو كليها.

ملاحظة: لا تتوفر خصائص المستخدم التي تم جمعها تلقائيًا عند إنشاء شروط "التكوين عن بُعد".

البحث عن المعلمات والشروط

يمكنك البحث في مفاتيح معلمات المشروع وقيم المعلمات والشروط من وحدة تحكم Firebase باستخدام مربع البحث في أعلى علامة التبويب " معلمات التكوين عن بُعد".

حدود المعلمات والشروط

ضمن مشروع Firebase ، يمكن أن يكون لديك ما يصل إلى 2000 معلمة وما يصل إلى 500 شرط. يمكن أن يصل طول مفاتيح المعلمات إلى 256 حرفًا ، ويجب أن تبدأ بشرطة سفلية أو حرف إنجليزي (AZ ، az) ، وقد تتضمن أيضًا أرقامًا. لا يمكن أن يتجاوز الطول الإجمالي لسلاسل قيمة المعلمة ضمن مشروع 800000 حرف.

الخطوات التالية

لبدء تكوين مشروع Firebase الخاص بك ، راجع إعداد مشروع Firebase Remote Config .