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 ( |
เขตข้อมูล | |
---|---|
conditions[] | รายการเงื่อนไขโดยเรียงลำดับจากมากไปน้อยตามลำดับความสำคัญ ค่าของรายการ |
parameters | แมปคีย์พารามิเตอร์กับค่าเริ่มต้นที่เป็นทางเลือกและค่าตามเงื่อนไขที่เป็นทางเลือก วัตถุที่มีรายการ |
version | เอาต์พุตเท่านั้น ยกเว้น |
parameterGroups | จับคู่ชื่อกลุ่มพารามิเตอร์กับคำอธิบายและพารามิเตอร์ที่จัดกลุ่ม ชื่อกลุ่มไม่แน่นอน แต่ต้องไม่ซ้ำกันในกลุ่มต่างๆ ในการกำหนดค่า ชื่อนี้จำกัดอยู่ที่ 256 อักขระและตั้งใจให้มนุษย์สามารถอ่านได้ อนุญาตให้ใช้อักขระ Unicode ใดก็ได้ กลุ่มมีรายการพารามิเตอร์ที่อนุญาตให้ผู้ใช้ API จัดกลุ่มพารามิเตอร์ที่เกี่ยวข้องกับฟีเจอร์หรือธีมเดียวกันไว้ด้วยกันเพื่อให้เข้าถึงองค์กรได้ง่าย ตัวอย่างเช่น กลุ่มพารามิเตอร์ชื่อ "Search V2" อาจมี วัตถุที่มีรายการ |
เงื่อนไขการกำหนดค่าระยะไกล
เงื่อนไขที่กำหนดเป้าหมายไปยังกลุ่มผู้ใช้เฉพาะ รายการเงื่อนไขเหล่านี้ประกอบขึ้นเป็นส่วนหนึ่งของวัตถุ RemoteConfig
การเป็นตัวแทน JSON |
---|
{
"name": string,
"expression": string,
"tagColor": enum ( |
เขตข้อมูล | |
---|---|
name | ที่จำเป็น. ชื่อที่ไม่ว่างเปล่าและไม่ซ้ำกันของเงื่อนไขนี้ |
expression | ที่จำเป็น. ตรรกะของเงื่อนไขนี้ ดูเอกสารประกอบเกี่ยวกับ นิพจน์เงื่อนไข สำหรับไวยากรณ์ที่คาดหวังของฟิลด์นี้ |
tagColor | ไม่จำเป็น. สีที่เกี่ยวข้องกับเงื่อนไขนี้เพื่อการแสดงผลในคอนโซล 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 ( |
เขตข้อมูล | |
---|---|
defaultValue | ทางเลือก - ค่าที่จะตั้งค่าพารามิเตอร์ เมื่อไม่มีเงื่อนไขที่ระบุชื่อใดประเมินเป็น |
conditionalValues | ทางเลือก - แผนที่ ( วัตถุที่มีรายการ |
description | ไม่จำเป็น. คำอธิบายสำหรับพารามิเตอร์นี้ ความยาวต้องน้อยกว่าหรือเท่ากับ 256 อักขระ คำอธิบายอาจมีอักขระ Unicode ก็ได้ |
valueType | ชนิดข้อมูลสำหรับค่าทั้งหมดของพารามิเตอร์นี้ในเวอร์ชันปัจจุบันของเทมเพลต ค่าเริ่มต้นเป็น |
RemoteConfigParameterValue
ทรัพยากร RemoteConfigParameterValue ประกอบด้วยค่าที่พารามิเตอร์อาจมี
การเป็นตัวแทน JSON |
---|
{ // Union field |
เขตข้อมูล | |
---|---|
ฟิลด์ Union value_option RemoteConfigParameterValue ประกอบด้วยสตริง (ค่า) หรือบูลีน (use_in_app_default ตั้งค่าเป็นจริงหากมี) value_option สามารถมีได้เพียงอย่างใดอย่างหนึ่งต่อไปนี้: | |
value | ค่าสตริงที่ตั้งค่าพารามิเตอร์ไว้ |
useInAppDefault | หากเป็นจริง พารามิเตอร์จะถูกละเว้นจากค่าพารามิเตอร์ที่ส่งคืนไปยังไคลเอนต์ |
personalizationValue | ค่าเฉพาะผู้ใช้แบบไดนามิกที่คำนวณเมื่อดึงข้อมูลการกำหนดค่า |
ค่าส่วนบุคคล
ประกอบด้วยข้อมูลที่จำเป็นเพื่อดึงค่าส่วนบุคคล
การเป็นตัวแทน JSON |
---|
{ "personalizationId": string } |
เขตข้อมูล | |
---|---|
personalizationId | ตัวระบุที่แสดงถึงข้อกำหนดส่วนบุคคล คำจำกัดความนี้ใช้เพื่อแก้ไขค่า ณ เวลาดึงข้อมูลการกำหนดค่า ไม่ควรแก้ไขค่าที่ระบบสร้างขึ้นนี้ |
พารามิเตอร์ValueType
ชนิดข้อมูลที่ยอมรับสำหรับค่าพารามิเตอร์
เอนัม | |
---|---|
PARAMETER_VALUE_TYPE_UNSPECIFIED | รับทั้งหมดสำหรับค่าแจงนับที่ไม่รู้จัก |
STRING | แสดงถึงค่าสตริง |
BOOLEAN | แสดงถึงค่าบูลีน ("จริง" หรือ "เท็จ") |
NUMBER | แสดงถึงจำนวนเต็มบวกและลบและค่าทศนิยม |
JSON | แสดงถึงค่า JSON |
RemoteConfigParameterGroup
กลุ่มของพารามิเตอร์ที่มีชื่อ การจัดกลุ่มพารามิเตอร์มีไว้เพื่อการจัดการเท่านั้น และไม่ส่งผลต่อการดึงค่าพารามิเตอร์ฝั่งไคลเอ็นต์
การเป็นตัวแทน JSON |
---|
{
"description": string,
"parameters": {
string: {
object ( |
เขตข้อมูล | |
---|---|
description | ไม่จำเป็น. คำอธิบายสำหรับกลุ่ม ความยาวต้องน้อยกว่าหรือเท่ากับ 256 อักขระ คำอธิบายอาจมีอักขระ Unicode ก็ได้ |
parameters | แมปคีย์พารามิเตอร์กับค่าเริ่มต้นที่เป็นทางเลือกและค่าเงื่อนไขที่เป็นทางเลือกสำหรับพารามิเตอร์ที่อยู่ในกลุ่มนี้ พารามิเตอร์จะปรากฏเพียงครั้งเดียวต่อ RemoteConfig: พารามิเตอร์ที่ไม่ได้จัดกลุ่มจะปรากฏที่ระดับบนสุด พารามิเตอร์ที่จัดภายในกลุ่มจะปรากฏภายในแผนผังพารามิเตอร์ของกลุ่ม วัตถุที่มีรายการ |