RemoteConfig

يمثل RemoteConfig قالب التكوين عن بعد.

يتم تقييم قالب التكوين عن بعد الخاص بالمشروع أثناء عملية جلب كل مثيل للتطبيق.

يتم تحديد القيمة التي تم حلها للمعلمة على النحو التالي:

بالنظر إلى conditional values التي تشير إلى conditions true لمثيل التطبيق، فإن القيمة التي تم حلها للمعلمة هي القيمة الشرطية التي يكون name هو الأقدم في conditions list .

بخلاف ذلك، إذا كانت المعلمة تحتوي على default value ، فسيتم تعيين القيمة التي تم حلها على القيمة الافتراضية.

وإلا، فإن المعلمة ليس لها قيمة ويتم حذفها من النتيجة التي يجلبها مثيل التطبيق.

على سبيل المثال، لنفترض أن لدينا معلمة مفتاح fruit ، مع القيمة الافتراضية pear والخريطة الفرعية للقيمة الشرطية {"is_ios": "apple", "is_in_20_percent": "banana"} حيث "is_ios" و "is_20_percent" هما أسماء الشروط في الترتيب المرتب. قائمة الشروط. سيتم تقييم قيمة fruit إلى apple إذا كانت is_ios صحيحة. بخلاف ذلك، إذا كانت is_in_20_percent true ، فسيتم تقييم fruit إلى banana ، وإذا كانت is_ios و is_in_20_percent خاطئة، فسيتم تقييم fruit إلى pear . إذا لم يتم تحديد قيمة افتراضية، وكانت قيمة is_ios و is_in_20_percent خاطئة، فلن يتم إرجاع أي قيمة fruit من خادم Remote Config إلى العميل.

بمجرد نشر قالب التكوين عن بعد الخاص بالمشروع من خلال استدعاء projects.updateRemoteConfig الناجح، يمكن للعملاء جلب قيم المعلمات هذه وعرضها للمستخدمين.

تمثيل جيسون
{
  "conditions": [
    {
      object (RemoteConfigCondition)
    }
  ],
  "parameters": {
    string: {
      object (RemoteConfigParameter)
    },
    ...
  },
  "version": {
    object (Version)
  },
  "parameterGroups": {
    string: {
      object (RemoteConfigParameterGroup)
    },
    ...
  }
}
مجالات
conditions[]

object ( RemoteConfigCondition )

قائمة الشروط مرتبة تنازليا حسب الأولوية.

يجب أن تكون قيم إدخالات google.firebase.remoteconfig.v1.RemoteConfigCondition.name فريدة.

parameters

map (key: string, value: object ( RemoteConfigParameter ))

تعيين مفاتيح المعلمات لقيمها الافتراضية الاختيارية والقيم الشرطية الاختيارية.

كائن يحتوي على قائمة "key": value . مثال: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

version

object ( Version )

الإخراج فقط، باستثناء description الإصدار. البيانات التعريفية المرتبطة بإصدار معين من القالب. قد يتم تحديد حقل وصف الإصدار في استدعاءات projects.updateRemoteConfig .

parameterGroups

map (key: string, value: object ( RemoteConfigParameterGroup ))

خريطة أسماء مجموعات المعلمات لأوصافها والمعلمات المجمعة. اسم المجموعة قابل للتغيير ولكن يجب أن يكون فريدًا بين المجموعات الموجودة في التكوين. يقتصر الاسم على 256 حرفًا ويهدف إلى أن يكون قابلاً للقراءة بواسطة الإنسان. يُسمح بأي أحرف Unicode.

تحتوي المجموعات على قائمة من المعلمات التي تسمح لمستخدمي واجهة برمجة التطبيقات (API) بتجميع المعلمات المرتبطة بنفس الميزة أو السمة معًا لسهولة الوصول التنظيمي.

على سبيل المثال، قد تحتوي مجموعة المعلمات التي تحمل الاسم "Search V2" على description "عرض بحث الجوال الجديد" وتحتوي على معلمات لتخطيط البحث الجديد وخطه.

كائن يحتوي على قائمة "key": value . مثال: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

RemoteConfigCondition

شرط يستهدف مجموعة محددة من المستخدمين. تشكل قائمة هذه الشروط جزءًا من كائن RemoteConfig.

تمثيل جيسون
{
  "name": string,
  "expression": string,
  "tagColor": enum (ConditionDisplayColor)
}
مجالات
name

string

مطلوب. اسم غير فارغ وفريد ​​لهذا الشرط.

expression

string

مطلوب. منطق هذا الشرط.

راجع الوثائق المتعلقة بالتعبيرات الشرطية لمعرفة الصيغة المتوقعة لهذا الحقل.

tagColor

enum ( ConditionDisplayColor )

خياري. اللون المرتبط بهذا الشرط لأغراض العرض في Firebase Console. يؤدي عدم تحديد هذه القيمة أو وجود "CONDITION_DISPLAY_COLOR_UNSPECIFIED" إلى قيام وحدة التحكم باختيار لون عشوائي لربطه بالشرط.

حالة العرض اللون

قائمة الألوان المرتبطة بالشروط لأغراض العرض.

التعدادات
CONDITION_DISPLAY_COLOR_UNSPECIFIED
BLUE أزرق
BROWN بني
CYAN ازرق سماوي
DEEP_ORANGE المعروف أيضًا باسم "البرتقالي الأحمر"
GREEN أخضر
INDIGO نيلي
LIME جير
ORANGE البرتقالي
PINK لون القرنفل
PURPLE أرجواني
TEAL بط نهري صغير

RemoteConfigParameter

قيمة معلمة مرتبطة بمفتاح معلمة في google.firebase.remoteconfig.v1.RemoteConfig.parameters .

على الأقل، يجب أن يكون إدخال defaultValue أو conditionalValues ​​موجودًا حتى يكون للمعلمة أي تأثير.

تمثيل جيسون
{
  "defaultValue": {
    object (RemoteConfigParameterValue)
  },
  "conditionalValues": {
    string: {
      object (RemoteConfigParameterValue)
    },
    ...
  },
  "description": string,
  "valueType": enum (ParameterValueType)
}
مجالات
defaultValue

object ( RemoteConfigParameterValue )

اختياري - القيمة التي سيتم تعيين المعلمة عليها، عندما لا يتم تقييم أي من الشروط المسماة على أنها true .

conditionalValues

map (key: string, value: object ( RemoteConfigParameterValue ))

اختياري - خريطة ( condition name ، القيمة). يحدد condition_name ذو الأولوية العليا (المدرج أولاً في قائمة شروط RemoteConfig) قيمة هذه المعلمة.

كائن يحتوي على قائمة "key": value . مثال: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

description

string

خياري. وصف لهذه المعلمة. ويجب أن يكون طوله أقل من أو يساوي 256 حرفًا. قد يحتوي الوصف على أي أحرف Unicode.

valueType

enum ( ParameterValueType )

نوع البيانات لكافة قيم هذه المعلمة في الإصدار الحالي من القالب. القيمة الافتراضية هي ParameterValueType.STRING إذا لم يتم تحديدها.

RemoteConfigParameterValue

يحتوي مورد RemoteConfigParameterValue على القيمة التي قد تحتوي على معلمة.

تمثيل جيسون
{

  // Union field value_option can be only one of the following:
  "value": string,
  "useInAppDefault": boolean,
  "personalizationValue": {
    object (PersonalizationValue)
  }
  // End of list of possible types for union field value_option.
}
مجالات
قيمة حقل الاتحاد value_option . يتكون RemoteConfigParameterValue إما من سلسلة (قيمة) أو قيمة منطقية (use_in_app_default، تم ضبطه على true إن أمكن). يمكن أن يكون value_option واحدًا فقط مما يلي:
value

string

قيمة السلسلة التي تم تعيين المعلمة عليها.

useInAppDefault

boolean

إذا كان صحيحًا، فسيتم حذف المعلمة من قيم المعلمات التي تم إرجاعها إلى العميل.

personalizationValue

object ( PersonalizationValue )

قيمة ديناميكية خاصة بالمستخدم يتم حسابها عند جلب التكوين.

قيمة التخصيص

يحتوي على المعلومات اللازمة لجلب قيمة شخصية.

تمثيل جيسون
{
  "personalizationId": string
}
مجالات
personalizationId

string

المعرف الذي يمثل تعريف التخصيص. يتم استخدام هذا التعريف لحل القيمة في وقت جلب التكوين. لا ينبغي تعديل هذه القيمة التي أنشأها النظام.

ParameterValueType

أنواع البيانات المقبولة لقيم المعلمات.

التعدادات
PARAMETER_VALUE_TYPE_UNSPECIFIED التقاط الكل لقيم التعداد غير المعروفة.
STRING يمثل قيم السلسلة.
BOOLEAN يمثل القيم المنطقية ("صحيح" أو "خطأ").
NUMBER يمثل كلا من الأعداد الصحيحة الموجبة والسالبة والقيم العائمة.
JSON يمثل قيم JSON.

RemoteConfigParameterGroup

مجموعة محددة من المعلمات. يتم تجميع المعلمات لأغراض الإدارة فقط ولا يؤثر على جلب قيم المعلمات من جانب العميل.

تمثيل جيسون
{
  "description": string,
  "parameters": {
    string: {
      object (RemoteConfigParameter)
    },
    ...
  }
}
مجالات
description

string

خياري. وصف للمجموعة. يجب أن يكون طوله أقل من أو يساوي 256 حرفًا. قد يحتوي الوصف على أي أحرف Unicode.

parameters

map (key: string, value: object ( RemoteConfigParameter ))

تعيين مفاتيح المعلمات إلى قيمها الافتراضية الاختيارية والقيم الشرطية الاختيارية للمعلمات التي تنتمي إلى هذه المجموعة. تظهر المعلمة مرة واحدة فقط لكل RemoteConfig: تظهر المعلمة غير المجمعة في المستوى الأعلى؛ تظهر المعلمة المنظمة ضمن مجموعة ضمن خريطة المعلمات الخاصة بمجموعتها.

كائن يحتوي على قائمة "key": value . مثال: { "name": "wrench", "mass": "1.3kg", "count": "3" } .