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 Orange
PINK สีชมพู
PURPLE ม่วง
TEAL น้ำเงินอมเขียว

RemoteConfigParameters

ค่าพารามิเตอร์ที่เชื่อมโยงกับคีย์พารามิเตอร์ใน 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 หากไม่ระบุ

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

ทรัพยากร 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)

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

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

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

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

string

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

มูลค่าการเปิดตัว

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

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

string

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

value

string

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

percent

number

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

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

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

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" }