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 من خادم "الإعداد عن بُعد" إلى العميل.

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

تمثيل JSON
{
  "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 حرفًا، وهو مخصّص ليقرأه المستخدمون. يُسمح باستخدام أي أحرف يونيكود.

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

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

عنصر يحتوي على قائمة بأزواج "key": value مثال: { "name": "wrench", "mass": "1.3kg", "count": "3" }

حالة RemoteConfig

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

تمثيل JSON
{
  "name": string,
  "expression": string,
  "tagColor": enum (ConditionDisplayColor)
}
الحقول
name

string

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

expression

string

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

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

tagColor

enum (ConditionDisplayColor)

هذه السمة اختيارية. اللون المرتبط بهذا الشرط لأغراض العرض في "وحدة تحكُّم Firebase" عدم تحديد هذه القيمة أو استخدام "condition_DISPLAY_Color_UNSPECIFIED" إلى اختيار وحدة التحكم لونًا عشوائيًا لربطه بالشرط.

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

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

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

عن بُعد مَعلمة

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

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

تمثيل JSON
{
  "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 حرفًا . قد يحتوي الوصف على أي من أحرف يونيكود.

valueType

enum (ParameterValueType)

نوع البيانات لجميع قيم هذه المَعلمة في الإصدار الحالي من النموذج ويتم ضبط القيمة التلقائية على ParameterValueType.STRING في حال عدم تحديدها.

عن بُعد مَعلمة قيمة

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

تمثيل JSON
{

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

string

قيمة السلسلة التي يتم ضبط المَعلمة عليها.

useInAppDefault

boolean

إذا كانت القيمة true، يتم حذف المَعلمة من قيم المَعلمات التي يتم عرضها للعميل.

personalizationValue

object (PersonalizationValue)

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

rolloutValue

object (RolloutValue)

قيمة طرح ديناميكية تديرها خدمة تجربة ABT في Firebase.

قيمة التخصيص

يحتوي على المعلومات اللازمة لاسترجاع قيمة مخصّصة.

تمثيل JSON
{
  "personalizationId": string
}
الحقول
personalizationId

string

معرّف يمثّل تعريفًا للتخصيص يُستخدَم هذا التعريف لحلّ القيمة في وقت استرجاع الإعدادات. يجب عدم تعديل هذه القيمة التي ينشئها النظام.

قيمة الطرح

المعلومات المتعلقة بعملية الطرح.

تمثيل JSON
{
  "rolloutId": string,
  "value": string,
  "percent": number
}
الحقول
rolloutId

string

المعرّف الذي يربط قيمة مَعلمة بتجربة طرح

value

string

القيمة التي يحدّدها المستخدم والمطلوب طرحها

percent

number

النسبة المئوية للمستخدِمين الذين سيتلقّون قيمة الطرح

نوع قيمة المَعلمة

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

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

RemoteConfigparamGroup

مجموعة مُعنوَنة من المَعلمات يتم استخدام معلَمات تجميع البيانات لأغراض إدارية فقط ولا تؤثِّر في جلب قيم المَعلمات من جهة العميل.

تمثيل JSON
{
  "description": string,
  "parameters": {
    string: {
      object (RemoteConfigParameter)
    },
    ...
  }
}
الحقول
description

string

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

parameters

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

ربط مفاتيح المَعلمات بقيمها التلقائية الاختيارية والقيم الشرطية الاختيارية للمَعلمات التي تنتمي إلى هذه المجموعة تظهر المَعلمة مرة واحدة فقط لكل ميزة عن بُعد: تظهر مَعلمة غير مجمّعة في المستوى الأعلى. تظهر معلمة منظمة داخل مجموعة داخل خريطة المعلمات في مجموعتها.

عنصر يحتوي على قائمة بأزواج "key": value مثال: { "name": "wrench", "mass": "1.3kg", "count": "3" }