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 ที่ประสบความสำเร็จ ไคลเอนต์สามารถดึงค่าพารามิเตอร์เหล่านี้และแสดงให้ผู้ใช้เห็น

การเป็นตัวแทน 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 อักขระและตั้งใจให้มนุษย์สามารถอ่านได้ อนุญาตให้ใช้อักขระ Unicode ใดก็ได้

กลุ่มมีรายการพารามิเตอร์ที่อนุญาตให้ผู้ใช้ API จัดกลุ่มพารามิเตอร์ที่เกี่ยวข้องกับฟีเจอร์หรือธีมเดียวกันไว้ด้วยกันเพื่อให้เข้าถึงองค์กรได้ง่าย

ตัวอย่างเช่น กลุ่มพารามิเตอร์ชื่อ "Search V2" อาจมี description "มุมมองการค้นหาบนมือถือใหม่" และมีพารามิเตอร์สำหรับเค้าโครงและแบบอักษรของการค้นหาใหม่

วัตถุที่มีรายการ "key": value ตัวอย่าง: { "name": "wrench", "mass": "1.3kg", "count": "3" }

เงื่อนไขการกำหนดค่าระยะไกล

เงื่อนไขที่กำหนดเป้าหมายไปยังกลุ่มผู้ใช้เฉพาะ รายการเงื่อนไขเหล่านี้ประกอบขึ้นเป็นส่วนหนึ่งของวัตถุ 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 ส้ม
PINK สีชมพู
PURPLE สีม่วง
TEAL นกเป็ดน้ำ

พารามิเตอร์ RemoteConfig

ค่าพารามิเตอร์ที่เกี่ยวข้องกับคีย์พารามิเตอร์ใน 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 อักขระ คำอธิบายอาจมีอักขระ Unicode ก็ได้

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.
}
เขตข้อมูล
ฟิลด์ Union value_option RemoteConfigParameterValue ประกอบด้วยสตริง (ค่า) หรือบูลีน (use_in_app_default ตั้งค่าเป็นจริงหากมี) value_option สามารถมีได้เพียงอย่างใดอย่างหนึ่งต่อไปนี้:
value

string

ค่าสตริงที่ตั้งค่าพารามิเตอร์ไว้

useInAppDefault

boolean

หากเป็นจริง พารามิเตอร์จะถูกละเว้นจากค่าพารามิเตอร์ที่ส่งคืนไปยังไคลเอนต์

personalizationValue

object ( PersonalizationValue )

ค่าเฉพาะผู้ใช้แบบไดนามิกที่คำนวณเมื่อดึงข้อมูลการกำหนดค่า

ค่าส่วนบุคคล

ประกอบด้วยข้อมูลที่จำเป็นเพื่อดึงค่าส่วนบุคคล

การเป็นตัวแทน JSON
{
  "personalizationId": string
}
เขตข้อมูล
personalizationId

string

ตัวระบุที่แสดงถึงข้อกำหนดส่วนบุคคล คำจำกัดความนี้ใช้เพื่อแก้ไขค่า ณ เวลาดึงข้อมูลการกำหนดค่า ไม่ควรแก้ไขค่าที่ระบบสร้างขึ้นนี้

พารามิเตอร์ValueType

ชนิดข้อมูลที่ยอมรับสำหรับค่าพารามิเตอร์

เอนัม
PARAMETER_VALUE_TYPE_UNSPECIFIED รับทั้งหมดสำหรับค่าแจงนับที่ไม่รู้จัก
STRING แสดงถึงค่าสตริง
BOOLEAN แสดงถึงค่าบูลีน ("จริง" หรือ "เท็จ")
NUMBER แสดงถึงจำนวนเต็มบวกและลบและค่าทศนิยม
JSON แสดงถึงค่า JSON

RemoteConfigParameterGroup

กลุ่มของพารามิเตอร์ที่มีชื่อ การจัดกลุ่มพารามิเตอร์มีไว้เพื่อการจัดการเท่านั้น และไม่ส่งผลต่อการดึงค่าพารามิเตอร์ฝั่งไคลเอ็นต์

การเป็นตัวแทน JSON
{
  "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" }