RemoteConfig

RemoteConfig แสดงถึงเทมเพลตการกำหนดค่าระยะไกล

เทมเพลตการกำหนดค่าระยะไกลของโปรเจ็กต์จะได้รับการประเมินระหว่างการดึงข้อมูลอินสแตนซ์ของแอปพลิเคชันแต่ละรายการ

หมายเหตุ: ปัจจุบันเทมเพลตเซิร์ฟเวอร์รองรับเงื่อนไขเปอร์เซ็นต์ การเผยแพร่เทมเพลตเซิร์ฟเวอร์ที่มีค่าตามเงื่อนไขที่ไม่รองรับจะทำให้เกิดข้อผิดพลาดการตรวจสอบความถูกต้อง โปรดดูข้อมูลเพิ่มเติมที่การกำหนดค่าระยะไกลในสภาพแวดล้อมของเซิร์ฟเวอร์

ค่าที่ได้ของพารามิเตอร์จะได้รับการกำหนดดังนี้

จาก conditional values ที่อ้างอิงถึง true conditions สำหรับอินสแตนซ์ของแอปพลิเคชัน ค่าที่แปลงแล้วของพารามิเตอร์คือค่าตามเงื่อนไขซึ่งมี 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 อักขระ และควรให้มนุษย์อ่านได้ อนุญาตให้ใช้อักขระ Unicode ใดก็ได้

กลุ่มจะมีรายการพารามิเตอร์ที่ช่วยให้ผู้ใช้ 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" จะส่งผลให้คอนโซลเลือกสีที่กำหนดเองเพื่อเชื่อมโยงกับเงื่อนไข

สีการแสดงผลของเงื่อนไข

รายการสีที่เชื่อมโยงกับเงื่อนไขเพื่อการแสดงผล

Enum
CONDITION_DISPLAY_COLOR_UNSPECIFIED
BLUE น้ำเงิน
BROWN สีน้ำตาล
CYAN ฟ้า
DEEP_ORANGE หรือที่เรียกกันว่า "Red 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 หากไม่ระบุ

RemoteConfigParametersValue

ทรัพยากร RemoteConfigParametersValue มีค่าที่พารามิเตอร์อาจมี

การแสดง 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 RemoteConfigParametersValue ประกอบด้วยสตริง (ค่า) หรือบูลีน (use_in_app_default และตั้งค่าเป็นจริง หากมี) value_option ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น
value

string

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

useInAppDefault

boolean

หากเป็น "จริง" ระบบจะไม่นำพารามิเตอร์ดังกล่าวออกจากค่าพารามิเตอร์ที่ส่งให้ไคลเอ็นต์

personalizationValue

object (PersonalizationValue)

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

rolloutValue

object (RolloutValue)

ค่าการเปิดตัวแบบไดนามิกที่จัดการโดยบริการการทดสอบ ABT ของ Firebase

ค่าการปรับเปลี่ยนในแบบของคุณ

มีข้อมูลที่จำเป็นในการดึงค่าที่ปรับเปลี่ยนในแบบของคุณ

การแสดง JSON
{
  "personalizationId": string
}
ช่อง
personalizationId

string

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

ค่า Rollout

ข้อมูลที่เกี่ยวข้องกับการเปิดตัว

การแสดง JSON
{
  "rolloutId": string,
  "value": string,
  "percent": number
}
ช่อง
rolloutId

string

ตัวระบุที่เชื่อมโยงค่าพารามิเตอร์กับการทดสอบการเปิดตัว

value

string

ค่าที่ผู้ใช้ระบุที่จะเปิดตัว

percent

number

เปอร์เซ็นต์ของผู้ใช้ที่จะได้รับมูลค่าการเปิดตัว

ประเภทค่าพารามิเตอร์

ประเภทข้อมูลที่ยอมรับสำหรับค่าพารามิเตอร์

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

RemoteConfigParametersGroup

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

การแสดง 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" }