RemoteConfig

RemoteConfig یک الگوی Remote Config را نشان می دهد.

الگوی Remote Config پروژه در طول واکشی هر نمونه برنامه ارزیابی می شود.

مقدار حل شده یک پارامتر به صورت زیر تعیین می شود:

با توجه به conditional values که به conditions true برای نمونه برنامه اشاره می‌کنند، مقدار حل‌شده پارامتر، مقدار شرطی است که name آن قدیمی‌ترین نام در conditions list است.

در غیر این صورت، اگر پارامتر دارای default value باشد، مقدار حل شده روی مقدار پیش فرض تنظیم می شود.

در غیر این صورت، پارامتر هیچ مقداری ندارد و از نتیجه ای که نمونه برنامه واکشی می کند حذف می شود.

برای مثال، فرض کنید که fruit کلید پارامتری داریم، با مقدار پیش‌فرض pear و مقدار شرطی، نقشه {"is_ios": "apple", "is_in_20_percent": "banana"} که در آن "is_ios" و "is_20_percent" نام‌های شرایط در مرتب‌شده هستند. لیست شرایط اگر is_ios درست باشد، ارزش fruit برای apple ارزیابی می شود. در غیر این صورت، اگر is_in_20_percent true باشد، fruit به banana ارزیابی می شود، و اگر is_ios و is_in_20_percent هر دو نادرست باشند، fruit به pear ارزیابی می شود. اگر مقدار پیش‌فرض مشخص نشده بود و is_ios و is_in_20_percent هر دو نادرست بودند، هیچ مقداری برای fruit از سرور Remote Config به مشتری بازگردانده نمی‌شد.

هنگامی که الگوی Remote Config پروژه از طریق یک تماس موفق 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 کاراکتر است و برای انسان قابل خواندن است. هر کاراکتر یونیکد مجاز است.

گروه‌ها فهرستی از پارامترها دارند که به کاربران API اجازه می‌دهد تا پارامترهایی را که با یک ویژگی یا موضوع مرتبط هستند را برای دسترسی آسان سازمانی با هم گروه‌بندی کنند.

به عنوان مثال، یک گروه پارامتر با نام "Search V2" ممکن است دارای description "نمایش جستجوی جدید موبایل" باشد و حاوی پارامترهایی برای طرح و فونت جستجوی جدید باشد.

یک شی حاوی لیستی از "key": value . مثال: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

RemoteConfigCondition

شرایطی که گروه خاصی از کاربران را هدف قرار می دهد. لیستی از این شرایط بخشی از یک شی RemoteConfig را تشکیل می دهد.

نمایندگی JSON
{
  "name": string,
  "expression": string,
  "tagColor": enum (ConditionDisplayColor)
}
زمینه های
name

string

ضروری. نامی غیر خالی و منحصر به فرد از این شرط.

expression

string

ضروری. منطق این شرط است.

مستندات مربوط به عبارات شرط را برای نحو مورد انتظار این فیلد مشاهده کنید.

tagColor

enum ( ConditionDisplayColor )

اختیاری. رنگ مرتبط با این شرایط برای اهداف نمایش در کنسول Firebase. مشخص نکردن این مقدار یا داشتن "CONDITION_DISPLAY_COLOR_UNSPECIFIED" باعث می‌شود کنسول یک رنگ دلخواه را برای مرتبط کردن با شرایط انتخاب کند.

ConditionDisplayColor

فهرست رنگ هایی که برای اهداف نمایش با شرایط مرتبط هستند.

Enums
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 باید وجود داشته باشد تا پارامتر تأثیری داشته باشد.

نمایندگی 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 ، مقدار). شرط_نام بالاترین اولویت (اولین موردی که در لیست شرایط RemoteConfig فهرست شده است) مقدار این پارامتر را تعیین می کند.

یک شی حاوی لیستی از "key": value . مثال: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

description

string

اختیاری. توضیحاتی برای این پارامتر طول آن باید کمتر یا مساوی 256 کاراکتر باشد. یک توضیح ممکن است حاوی هر کاراکتر یونیکد باشد.

valueType

enum ( ParameterValueType )

نوع داده برای همه مقادیر این پارامتر در نسخه فعلی الگو. اگر مشخص نشده باشد، به طور پیش فرض به ParameterValueType.STRING می رسد.

RemoteConfigParameterValue

یک منبع RemoteConfigParameterValue حاوی مقداری است که ممکن است یک پارامتر داشته باشد.

نمایندگی JSON
{

  // 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 )

یک مقدار پویا و مختص کاربر که هنگام واکشی پیکربندی محاسبه می‌شود.

PersonalizationValue

حاوی اطلاعات لازم برای واکشی ارزش شخصی است.

نمایندگی JSON
{
  "personalizationId": string
}
زمینه های
personalizationId

string

شناسه ای که یک تعریف شخصی سازی را نشان می دهد. این تعریف برای حل مقدار در زمان واکشی پیکربندی استفاده می شود. این مقدار تولید شده توسط سیستم نباید اصلاح شود.

ParameterValueType

انواع داده های پذیرفته شده برای مقادیر پارامتر.

Enums
PARAMETER_VALUE_TYPE_UNSPECIFIED Catch-all برای مقادیر enum ناشناخته.
STRING مقادیر رشته را نشان می دهد.
BOOLEAN مقادیر بولی ("درست" یا "نادرست") را نشان می دهد.
NUMBER هر دو عدد صحیح مثبت و منفی و مقادیر شناور را نشان می دهد.
JSON مقادیر JSON را نشان می دهد.

RemoteConfigParameterGroup

گروهی از پارامترها با نام پارامترهای گروه‌بندی فقط برای اهداف مدیریتی است و بر واکشی مقادیر پارامتر از سمت مشتری تأثیری ندارد.

نمایندگی JSON
{
  "description": string,
  "parameters": {
    string: {
      object (RemoteConfigParameter)
    },
    ...
  }
}
زمینه های
description

string

اختیاری. توضیحاتی برای گروه طول آن باید کمتر یا مساوی 256 کاراکتر باشد. یک توضیح ممکن است حاوی هر کاراکتر یونیکد باشد.

parameters

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

نقشه کلیدهای پارامتر به مقادیر پیش فرض اختیاری آنها و مقادیر شرطی اختیاری برای پارامترهایی که به این گروه تعلق دارند. یک پارامتر فقط یک بار در RemoteConfig ظاهر می شود: یک پارامتر گروه بندی نشده در سطح بالا ظاهر می شود. یک پارامتر سازماندهی شده در یک گروه در نقشه پارامترهای گروه آن ظاهر می شود.

یک شی حاوی لیستی از "key": value . مثال: { "name": "wrench", "mass": "1.3kg", "count": "3" } .