Firebase Remote Config รองรับการกำหนดค่าฝั่งเซิร์ฟเวอร์โดยใช้ Firebase Admin SDK สำหรับ Node.js (v12.1.0 ขึ้นไป), Python (v6.7.0 ขึ้นไป), Java (v9.7.0 ขึ้นไป) และ Go (v4.17.0 ขึ้นไป)
ความสามารถนี้ช่วยให้คุณจัดการลักษณะการทำงานและการกำหนดค่าของแอปพลิเคชันฝั่งเซิร์ฟเวอร์แบบไดนามิกได้โดยใช้ Remote Config ซึ่งรวมถึงการติดตั้งใช้งานแบบ Serverless เช่น Cloud Functions for Firebase และบริการที่ใช้คอนเทนเนอร์ใน Cloud Run
SDK ของ Remote Config ฝั่งเซิร์ฟเวอร์จะดาวน์โหลดหรือดึงเทมเพลต Remote Config ที่สมบูรณ์จาก Firebase ซึ่งแตกต่างจาก SDK ของไคลเอ็นต์ Firebase ที่ดึงการกำหนดค่าเฉพาะไคลเอ็นต์ที่ได้มาจากเทมเพลต Remote Config จากนั้นเซิร์ฟเวอร์จะประเมินเทมเพลตกับคำขอขาเข้าแต่ละรายการและใช้ตรรกะของตัวเองเพื่อแสดงการตอบกลับที่กำหนดเองโดยมีเวลาในการตอบสนองต่ำมาก คุณสามารถใช้เงื่อนไขเพื่อควบคุมและปรับแต่งการตอบกลับตามเปอร์เซ็นต์แบบสุ่มและแอตทริบิวต์ของไคลเอ็นต์ที่กำหนดไว้ในสัญญาณที่กำหนดเอง
Remote Configฝั่งเซิร์ฟเวอร์ช่วยให้คุณทำสิ่งต่อไปนี้ได้
- กำหนดพารามิเตอร์การกำหนดค่าสำหรับแอปพลิเคชันที่ทำงานบนหรือเข้าถึงผ่านเซิร์ฟเวอร์ของคุณ ซึ่งช่วยให้สามารถใช้กรณีต่างๆ เช่น การกำหนดค่าระยะไกลพารามิเตอร์และพรอมต์ของโมเดล AI และการผสานรวมอื่นๆ เพื่อให้มั่นใจว่าคีย์ API ของคุณจะปลอดภัย
- ปรับพารามิเตอร์แบบไดนามิกเพื่อตอบสนองต่อการเปลี่ยนแปลงในสภาพแวดล้อมหรือการเปลี่ยนแปลงอื่นๆ ของแอปพลิเคชัน เช่น การอัปเดตพารามิเตอร์ LLM และปลายทางของโมเดล
- ควบคุมค่าใช้จ่ายด้วยการอัปเดต API ที่เซิร์ฟเวอร์เรียกใช้จากระยะไกล
- สร้างการกำหนดค่าที่กำหนดเองได้ทันทีสำหรับไคลเอ็นต์ที่เข้าถึงเซิร์ฟเวอร์ของคุณ
- บันทึกว่าไคลเอ็นต์ใดได้รับค่าพารามิเตอร์และใช้ค่านี้ใน Cloud Functions for Firebase เป็นส่วนหนึ่งของระบบการยืนยันการให้สิทธิ์
คุณสามารถติดตั้งใช้งาน Remote Config ฝั่งเซิร์ฟเวอร์ในสภาพแวดล้อมเซิร์ฟเวอร์ Cloud Run, Cloud Functions for Firebase หรือเซิร์ฟเวอร์ที่โฮสต์เองได้
ก่อนเริ่มต้น
ทำตามวิธีการในหัวข้อเพิ่ม Firebase Admin SDK ลงในเซิร์ฟเวอร์เพื่อสร้างโปรเจ็กต์ Firebase, ตั้งค่าบัญชีบริการ และเพิ่ม Firebase Admin SDK ลงในเซิร์ฟเวอร์ ตรวจสอบว่าคุณใช้ Admin SDK เวอร์ชันที่รองรับสำหรับแพลตฟอร์มของคุณ ดังนี้
- Node.js: Firebase Admin Node.js SDK v12.1.0 ขึ้นไป
- Python: Firebase Admin Python SDK v6.7.0 ขึ้นไป
- Java: Firebase Admin Java SDK v9.7.0 ขึ้นไป
- Go: Firebase Admin Go SDK v4.17.0 ขึ้นไป
ขั้นตอนที่ 1: เริ่มต้น Firebase Admin SDK และให้สิทธิ์คำขอ API
เมื่อคุณเริ่มต้น Admin SDK โดยไม่มีพารามิเตอร์ SDK จะใช้ข้อมูลรับรองเริ่มต้นของแอปพลิเคชัน Google และอ่านตัวเลือกจากตัวแปรสภาพแวดล้อม GOOGLE_APPLICATION_CREDENTIALS เริ่มต้น SDK และกำหนดค่า Remote Config สำหรับแพลตฟอร์มของคุณ
Node.js
นำเข้า initializeApp และ getRemoteConfig จากนั้นเริ่มต้นอินสแตนซ์แอปพลิเคชัน Firebase ดังนี้
import { initializeApp } from "firebase-admin/app";
import { getRemoteConfig } from "firebase-admin/remote-config";
// Initialize Firebase
const firebaseApp = initializeApp();
Python
นำเข้า firebase_admin (พร้อมกับ asyncio และ json สำหรับการโหลดเทมเพลตแบบอะซิงโครนัสและการแยกวิเคราะห์ JSON) จากนั้นเริ่มต้นแอปพลิเคชัน
import firebase_admin
import asyncio
import json
firebase_admin.initialize_app()
Java
เริ่มต้น Firebase Admin SDK โดยใช้ FirebaseOptions และข้อมูลเข้าสู่ระบบของบัญชีบริการ
// Initialize the Firebase Admin SDK
FirebaseOptions options = new FirebaseOptions.Builder()
.setCredentials(GoogleCredentials.fromStream(serviceAccount))
.build();
FirebaseApp.initializeApp(options);
Go
เริ่มต้นแอปพลิเคชัน Firebase และสร้างอินสแตนซ์ไคลเอ็นต์ RemoteConfig ดังนี้
ctx := context.Background()
// Initialize Firebase
app, err := firebase.NewApp(ctx, nil)
if err != nil {
log.Fatalln("Error initializing app:", err)
}
remoteConfig, err := app.RemoteConfig(ctx)
if err != nil {
log.Fatalln("Error initializing remote config client:", err)
}
ขั้นตอนที่ 2: ระบุค่าพารามิเตอร์เริ่มต้นสำหรับแอปพลิเคชันเซิร์ฟเวอร์
ระบุตัวแปรในแอปที่ต้องการอัปเดตแบบไดนามิกด้วย Remote Config จากนั้นพิจารณาว่าต้องตั้งค่าตัวแปรใดโดยค่าเริ่มต้นในแอปพลิเคชัน และค่าเริ่มต้นควรเป็นค่าใด วิธีนี้ช่วยให้มั่นใจได้ว่าแอปพลิเคชันจะทำงานได้สำเร็จแม้ว่าการเชื่อมต่อกับเซิร์ฟเวอร์แบ็กเอนด์ Remote Config จะขัดข้องก็ตาม
ตัวอย่างเช่น หากคุณกำลังเขียนแอปพลิเคชันเซิร์ฟเวอร์ที่จัดการฟังก์ชัน AI คุณอาจตั้งชื่อโมเดลเริ่มต้น ข้อความนำพรอมต์ และการกำหนดค่า Generative AI ดังต่อไปนี้
| ชื่อพารามิเตอร์ | คำอธิบาย | ประเภท | มูลค่าเริ่มต้น |
|---|---|---|---|
model_name |
ชื่อ API ของโมเดล | สตริง | gemini-3.8-flash |
preamble_prompt |
พรอมต์ที่จะเพิ่มไว้หน้าคำค้นหาของผู้ใช้ | สตริง | I'm a developer who wants to learn about Firebase and you are a
helpful assistant who knows everything there is to know about
Firebase! |
generation_config |
พารามิเตอร์ที่จะส่งไปยังโมเดล | JSON | {"stopSequences": ["I hope this helps"],
"maxOutputTokens": 512} |
ขั้นตอนที่ 3: กำหนดค่าแอปพลิเคชันเซิร์ฟเวอร์
หลังจากกำหนดพารามิเตอร์ที่ต้องการใช้กับ Remote Config แล้ว ให้กำหนดค่าแอปพลิเคชันเพื่อตั้งค่าเริ่มต้น ดึงข้อมูลเทมเพลต Remote Config เฉพาะเซิร์ฟเวอร์ และประเมินค่าของเทมเพลต
เข้าถึงและโหลดเทมเพลตเซิร์ฟเวอร์ Remote Config
Node.js
เริ่มต้นเทมเพลตเซิร์ฟเวอร์โดยใช้
initServerTemplate()และเรียกใช้load()เพื่อดึงข้อมูลเทมเพลตจากแบ็กเอนด์// Initialize server-side Remote Config const rc = getRemoteConfig(firebaseApp); const template = rc.initServerTemplate(); // Load Remote Config await template.load();หากใช้ Node.js ภายใน Cloud Functions for Firebase คุณสามารถใช้ฟังก์ชัน
getServerTemplate()แบบอะซิงโครนัสเพื่อเริ่มต้นและโหลดเทมเพลตในขั้นตอนเดียวได้ ดังนี้// Initialize server-side Remote Config const rc = getRemoteConfig(firebaseApp); const template = await rc.getServerTemplate();Python
เริ่มต้นเทมเพลตเซิร์ฟเวอร์โดยใช้
init_server_template()และเรียกใช้load()เพื่อดึงข้อมูลเทมเพลตจากแบ็กเอนด์from firebase_admin import remote_config # Initialize server-side Remote Config template = remote_config.init_server_template() # Load the template from the backend asyncio.run(template.load())หรือหากใช้ Python กับ Cloud Functions for Firebase คุณสามารถใช้ฟังก์ชัน
get_server_template()แบบอะซิงโครนัสเพื่อเริ่มต้นและโหลดเทมเพลตในขั้นตอนเดียวได้ ดังนี้# Initialize server-side Remote Config template = await remote_config.get_server_template()Java
เริ่มต้นไคลเอ็นต์ Remote Config ฝั่งเซิร์ฟเวอร์โดยใช้
FirebaseRemoteConfig.getInstance():// Initialize server-side Remote Config client FirebaseRemoteConfig rc = FirebaseRemoteConfig.getInstance();หรือหากใช้ Java กับ Cloud Functions for Firebase คุณสามารถใช้
getServerTemplate()เพื่อเริ่มต้นและโหลดเทมเพลตในขั้นตอนเดียวได้ ดังนี้ServerTemplate template = rc.getServerTemplate();Go
เริ่มต้นเทมเพลตเซิร์ฟเวอร์โดยใช้
InitServerTemplate()และเรียกใช้Load()เพื่อดึงข้อมูลเทมเพลตจากแบ็กเอนด์// Initialize server-side Remote Config defaultConfig := make(map[string]any) templateDataJSON := "" template, err := remoteConfig.InitServerTemplate(defaultConfig, templateDataJSON) if err != nil { log.Fatalln("Error initializing server template:", err) } // Load Remote Config err = template.Load(ctx) if err != nil { log.Fatalln("Error fetching server template:", err) }อีกวิธีหนึ่งในการเริ่มต้นเทมเพลตคือการใช้ฟังก์ชัน
GetServerTemplateเพื่อดึงข้อมูลเทมเพลตเซิร์ฟเวอร์ที่จำเป็น คุณสามารถแปลงเทมเพลตนี้เป็นรูปแบบ JSON ที่จัดเก็บไว้ในเครื่องได้ จากนั้นจึงเริ่มต้นเทมเพลต JSON นี้โดยใช้ฟังก์ชันInitServerTemplateเพื่อให้แอปพลิเคชันทำงานได้สำเร็จแม้ว่าการเชื่อมต่อกับเซิร์ฟเวอร์แบ็กเอนด์ของ Remote Config จะถูกขัดจังหวะ ให้เพิ่มค่าเริ่มต้นสำหรับพารามิเตอร์แต่ละรายการในแอป
Node.js
เพิ่มออบเจ็กต์
defaultConfigภายในฟังก์ชันเทมเพลตinitServerTemplateหรือgetServerTemplateดังนี้const template = rc.initServerTemplate({ defaultConfig: { model_name: "gemini-3.8-flash", generation_config: '{"stopSequences": [], "maxOutputTokens": 512}', preamble_prompt: "I'm a developer who wants to learn about Firebase and you are a helpful assistant who knows everything there is to know about Firebase!" }, }); // Load Remote Config await template.load();Python
เพิ่มพจนานุกรม
default_configภายในฟังก์ชันเทมเพลตinit_server_templateหรือget_server_templateดังนี้template = remote_config.init_server_template({ 'default_config': { 'model_name': "gemini-3.8-flash", 'generation_config': '{"stopSequences": [], "maxOutputTokens": 512}', 'preamble_prompt': "I'm a developer who wants to learn about Firebase and you are a helpful assistant who knows everything there is to know about Firebase!" }, }) # Load Remote Config asyncio.run(template.load())อีกวิธีหนึ่งในการเริ่มต้นเทมเพลตคือการใช้ฟังก์ชัน
get_server_templateเพื่อดึงข้อมูลเทมเพลตเซิร์ฟเวอร์ที่จำเป็น คุณสามารถแปลงเทมเพลตนี้เป็นรูปแบบ JSON ได้โดยใช้ฟังก์ชันtemplate.to_jsonเทมเพลต JSON นี้สามารถจัดเก็บไว้ในเครื่อง และคุณสามารถเริ่มต้นเทมเพลต JSON นี้ในภายหลังได้โดยใช้ฟังก์ชันinit_server_templateJava
เพิ่มออบเจ็กต์
defaultConfigโดยใช้KeysAndValuesภายในฟังก์ชันgetServerTemplateดังนี้// Initialize default config using KeysAndValues KeysAndValues defaultConfig = new KeysAndValues.Builder() .put("rc_param_1", "default value 1") .put("rc_param_2", "default value 2") .build(); ServerTemplate template = rc.getServerTemplate(defaultConfig);หรือจะส่งเทมเพลตที่แคชไว้เป็นค่าเริ่มต้นขณะเริ่มต้น Remote Config ก็ได้ ซึ่งจะใช้ได้แม้ว่าการเชื่อมต่อกับเซิร์ฟเวอร์ Remote Config จะถูกขัดจังหวะก็ตาม
String templateDataJSON = "{}"; // add your default template as JSON ServerTemplate template = rc.serverTemplateBuilder() .defaultConfig(defaultConfig) .cachedTemplate(templateDataJSON) .build();Go
เพิ่มแผนที่
defaultConfigภายในฟังก์ชันเทมเพลตInitServerTemplateหรือGetServerTemplateดังนี้// Initialize server-side Remote Config defaultConfig := make(map[string]any) defaultConfig["model_name"] = "gemini-3.8-flash" // Assume the type generationConfig has been defined defaultConfig["generation_config"] = &generationConfig{ StopSequences: []string{"I hope this helps"}, MaxOutputTokens: 512, } defaultConfig["preamble_prompt"] = "I'm a developer who wants to learn about Firebase and you are a helpful assistant who knows everything there is to know about Firebase!" templateDataJSON := "" template, err := remoteConfig.InitServerTemplate(defaultConfig, templateDataJSON) if err != nil { log.Fatalln("Error initializing server template:", err) } // Load Remote Config err = template.Load(ctx) if err != nil { log.Fatalln("Error fetching server template:", err) }หลังจากโหลดเทมเพลตแล้ว ให้ประเมินเทมเพลตเพื่อนำเข้าพารามิเตอร์และค่าจากเทมเพลต โดยทำดังนี้
Node.js
ใช้
template.evaluate():// Add template parameters to config const config = template.evaluate();Python
ใช้
template.evaluate():# Add template parameters to config config = template.evaluate()Java
ใช้
template.evaluate():// Add template parameters to config ServerConfig config = template.evaluate();Go
ใช้
template.Evaluate()กับบริบทการประเมินที่ว่างเปล่าเมื่อไม่มีการใช้เงื่อนไข// An empty evaluation context means no conditions are applied. evaluationContext := make(map[string]any) config, err := template.Evaluate(evaluationContext) if err != nil { log.Fatalln("Error evaluating template:", err) }ไม่บังคับ: หากคุณตั้งค่าเงื่อนไขในเทมเพลต Remote Config ให้กำหนดและระบุค่าบริบทที่ต้องการ ดังนี้
- หากใช้เงื่อนไขเปอร์เซ็นต์ ให้เพิ่มรหัสการสุ่ม (
randomizationId,randomization_idหรือrandomizationID) ที่ต้องการใช้เพื่อประเมินเงื่อนไขภายในฟังก์ชันการประเมินเทมเพลต - หากใช้สัญญาณที่กำหนดเอง ให้กำหนดแอตทริบิวต์และค่าของแอตทริบิวต์ สัญญาณที่กำหนดเองพร้อมใช้งานใน Firebase Admin Node.js SDK v12.5.0 ขึ้นไป, Python SDK v6.7.0 ขึ้นไป, Java SDK v9.7.0 ขึ้นไป และ Go SDK v4.17.0 ขึ้นไป
เช่น คุณอาจตั้งค่ารหัสการติดตั้ง Firebase หรือรหัสผู้ใช้เป็นรหัสการสุ่มเพื่อให้แน่ใจว่าผู้ใช้แต่ละรายที่ติดต่อเซิร์ฟเวอร์ของคุณได้รับการเพิ่มลงในกลุ่มที่สุ่มอย่างเหมาะสม,
versionเป็นสัญญาณที่กำหนดเองเพื่อกำหนดเป้าหมายเวอร์ชันไคลเอ็นต์ที่เฉพาะเจาะจง และplatformเป็นสัญญาณที่กำหนดเองเพื่อกำหนดเป้าหมายแพลตฟอร์มไคลเอ็นต์ดูข้อมูลเพิ่มเติมเกี่ยวกับเงื่อนไขได้ที่ประเภทกฎเงื่อนไข
Node.js
ส่งออบเจ็กต์บริบทการประเมินที่มี
randomizationIdและสัญญาณที่กำหนดเองไปยังtemplate.evaluate():// Add template parameters to `config`. Evaluates the // template and returns the parameter value assigned to // the group assigned to the {randomizationId} and version. const config = template.evaluate({ randomizationId: "2ac93c28-c459-4760-963d-a3974ec26c04", version: "1.0", platform: "Android" });Python
ส่งพจนานุกรมที่มี
randomization_idและสัญญาณที่กำหนดเองไปยังtemplate.evaluate():# Add template parameters to `config`. Evaluates the # template and returns the parameter value assigned to # the group assigned to the {randomization_id} and version. config = template.evaluate({ 'randomization_id': "2ac93c28-c459-4760-963d-a3974ec26c04", 'version': "1.0", 'platform': "Android" })Java
สร้างบริบท
KeysAndValuesที่มีrandomizationIdและสัญญาณที่กำหนดเอง แล้วส่งไปยังtemplate.evaluate():// Add custom signals and randomizationId KeysAndValues context = new KeysAndValues.Builder() .put("custom_signal_key", "99") .put("randomizationId", "2ac93c28") .build(); // Evaluate the template with signals ServerConfig config = template.evaluate(context);Go
ส่งแผนที่บริบทการประเมินที่มี
randomizationIDและสัญญาณที่กำหนดเองไปยังtemplate.Evaluate():// Add template parameters to `config`. Evaluates the // template and returns the parameter value assigned to // the group assigned to the {randomizationID}, version, and platform. evaluationContext := make(map[string]any) evaluationContext["randomizationID"] = "2ac93c28-c459-4760-963d-a3974ec26c04" evaluationContext["version"] = "1.0" evaluationContext["platform"] = "Android" config, err := template.Evaluate(evaluationContext) if err != nil { log.Fatalln("Error evaluating template:", err) }- หากใช้เงื่อนไขเปอร์เซ็นต์ ให้เพิ่มรหัสการสุ่ม (
จากนั้น ให้ดึงค่าพารามิเตอร์ที่ต้องการจากออบเจ็กต์การกำหนดค่าที่ประเมินแล้ว ใช้เมธอด Getter เพื่อแคสต์ค่าจาก Remote Config เป็นรูปแบบที่คาดไว้
ตัวอย่างเช่น หากคุณติดตั้งใช้งาน Agent Platform บนเซิร์ฟเวอร์ และต้องการเปลี่ยนโมเดลและพารามิเตอร์โมเดล คุณอาจกำหนดค่าพารามิเตอร์สำหรับ
model_nameและgeneration_configต่อไปนี้เป็นเมธอด Getter ที่รองรับและตัวอย่างวิธีเข้าถึงค่า Remote Config สำหรับแต่ละแพลตฟอร์มNode.js
เมธอด Getter ที่รองรับมีดังนี้
- บูลีน:
getBoolean - ออบเจ็กต์:
getValue - หมายเลข:
getNumber - สตริง:
getString
// Replace defaults with values from Remote Config. const generationConfig = JSON.parse( config.getString('generation_config')); const is_ai_enabled = config.getBoolean('is_ai_enabled'); const model = config.getString('model_name'); // Generates a prompt comprised of the Remote Config // parameter and prepends it to the user prompt const prompt = `${config.getString('preamble_prompt')} ${req.query.prompt}`;Python
เมธอด Getter ที่รองรับมีดังนี้
- บูลีน:
get_bool - จำนวนเต็ม:
get_int - ทศนิยม:
get_float - สตริง:
get_string - แหล่งที่มาของมูลค่า:
get_value_source
# Replace defaults with values from Remote Config. generation_config = json.loads(config.get_string('generation_config')) is_ai_enabled = config.get_bool('is_ai_enabled') model = config.get_string('model_name') # Generates a prompt comprised of the Remote Config # parameter and prepends it to the user prompt. prompt = f"{config.get_string('preamble_prompt')}{req.args.get('prompt')}"Java
เมธอด Getter ที่รองรับมีดังนี้
- บูลีน:
getBoolean - สตริง:
getString - เตียงคู่:
getDouble - ยาว:
getLong - แหล่งที่มาของมูลค่า:
getValueSource
// Get the model name String modelName = config.getString("model_name"); // Get the origin of value assigned to param ValueSource modelNameSource = config.getValueSource("model_name");เมธอด
getValueSourceจะแสดงผลValueSourceซึ่งระบุว่าแหล่งที่มาของค่าพารามิเตอร์คือSTATIC,REMOTEหรือDEFAULTGo
เมธอด Getter ที่รองรับมีดังนี้
- บูลีน:
GetBoolean - จำนวนเต็ม:
GetInt - ทศนิยม:
GetFloat - สตริง:
GetString - แหล่งที่มาของมูลค่า:
GetValueSource
// Replace defaults with values from Remote Config. // Assume the type generationConfig has been defined var genConfig generationConfig err = json.Unmarshal([]byte(config.GetString("generation_config")), &genConfig) if err != nil { log.Fatalln("Error unmarshaling generation config:", err) } model := config.GetString("model_name") // Parameter created on the console isAIEnabled := config.GetBoolean("is_ai_enabled") // Generates a prompt comprised of the Remote Config // parameter and prepends it to the user prompt (assume it is extracted from the request body) userPrompt := "What is Remote Config?" prompt := fmt.Sprintf("%s %s", config.GetString("preamble_prompt"), userPrompt)- บูลีน:
หากเซิร์ฟเวอร์ทำงานเป็นเวลานาน ซึ่งตรงข้ามกับสภาพแวดล้อมแบบ Serverless ให้โหลดเทมเพลตซ้ำเป็นระยะๆ (เช่น ใช้
setIntervalใน Node.js หรือjava.util.Timerใน Java) เพื่อยืนยันว่าคุณกำลังดึงเทมเพลตล่าสุดจากเซิร์ฟเวอร์ Remote Config
ขั้นตอนที่ 4: ตั้งค่าพารามิเตอร์เฉพาะเซิร์ฟเวอร์ใน Remote Config
จากนั้นสร้างเทมเพลต Remote Config ของเซิร์ฟเวอร์ แล้วกำหนดค่าพารามิเตอร์และค่าที่จะใช้ในแอป
วิธีสร้างเทมเพลต Remote Config สำหรับเซิร์ฟเวอร์โดยเฉพาะมีดังนี้
ในคอนโซล Firebase ให้ไปที่หน้า DevOps และการมีส่วนร่วม > การกำหนดค่าระยะไกล > พารามิเตอร์
จากตัวเลือกไคลเอ็นต์/เซิร์ฟเวอร์ที่ด้านบนของหน้า ให้เลือกเซิร์ฟเวอร์
กำหนดพารามิเตอร์ Remote Config ที่มีชื่อและประเภทข้อมูลเหมือนกับพารามิเตอร์ที่คุณกำหนดไว้ในแอปและระบุค่า ค่าเหล่านี้จะลบล้างการกำหนดค่าเริ่มต้น (
defaultConfigหรือdefault_config) ที่คุณตั้งค่าไว้ในกำหนดค่าแอปพลิเคชันเซิร์ฟเวอร์เมื่อคุณดึงข้อมูลและประเมินเทมเพลต และกำหนดค่าเหล่านี้ให้กับตัวแปรหรือจะตั้งเงื่อนไขเพื่อใช้ค่ากับตัวอย่างแบบสุ่มของอินสแตนซ์หรือสัญญาณที่กำหนดเองที่คุณกำหนดไว้อย่างต่อเนื่องก็ได้ ดูข้อมูลเพิ่มเติมเกี่ยวกับเงื่อนไขได้ที่ประเภทกฎเงื่อนไข
เมื่อเพิ่มพารามิเตอร์เสร็จแล้ว ให้คลิกเผยแพร่การเปลี่ยนแปลง
ตรวจสอบการเปลี่ยนแปลง แล้วคลิกเผยแพร่การเปลี่ยนแปลงอีกครั้ง
ขั้นตอนที่ 5: ติดตั้งใช้งานด้วย Cloud Functions for Firebase หรือ Cloud Run
หากแอปพลิเคชันเซิร์ฟเวอร์ของคุณมีขนาดเล็กและขับเคลื่อนด้วยเหตุการณ์ คุณควรพิจารณาติดตั้งใช้งานโค้ดโดยใช้ Cloud Functions for Firebase ตัวอย่างเช่น สมมติว่าคุณมีแอปที่มีบทสนทนาของตัวละครที่ขับเคลื่อนโดย Generative AI API (เช่น Google AI หรือ Agent Platform) ในกรณีนี้ คุณสามารถโฮสต์ตรรกะการแสดงผล LLM ในฟังก์ชันที่แอปเรียกใช้ตามต้องการได้
หากต้องการดูวิธีแก้ปัญหาที่ใช้ Cloud Functions for Firebase รุ่นที่ 2 กับ Remote Config ฝั่งเซิร์ฟเวอร์ โปรดดูหัวข้อใช้ Remote Config ฝั่งเซิร์ฟเวอร์กับ Cloud Functions for Firebase และ Agent Platform
ดูข้อมูลเพิ่มเติมเกี่ยวกับการติดตั้งใช้งานแอปด้วย Cloud Functions for Firebase ได้ที่เริ่มต้นใช้งาน: เขียน ทดสอบ และติดตั้งใช้งานฟังก์ชันแรกของคุณ
ลองใช้ฟังก์ชันที่เรียกใช้ได้ตัวอย่างที่มี Remote Config และ App Check ฝั่งเซิร์ฟเวอร์ที่เรียกใช้ Agent Platform Gemini API (formerly Vertex AI) ด้วย Remote Config และ App Check
หากคุณกำลังสร้างเว็บแอปที่แสดงผลบนเซิร์ฟเวอร์ App Hosting รองรับเฟรมเวิร์กเว็บยอดนิยม
หรืออาจพิจารณาใช้ Cloud Run หากต้องการทำให้แอปเซิร์ฟเวอร์ใช้งานได้ด้วย Cloud Run ให้ทำตามคู่มือเริ่มใช้งานฉบับย่อสำหรับภาษาของคุณ
- คู่มือเริ่มใช้งานฉบับย่อ: ติดตั้งใช้งานบริการ Node.js ใน Cloud Run
- คู่มือเริ่มใช้งานฉบับย่อ: ติดตั้งใช้งานบริการ Python ใน Cloud Run
- คู่มือเริ่มใช้งานฉบับย่อ: ติดตั้งใช้งานบริการ Java ใน Cloud Run
- คู่มือเริ่มใช้งานฉบับย่อ: ติดตั้งใช้งานบริการ Go ใน Cloud Run
ขั้นตอนถัดไป
- ดูพารามิเตอร์และเงื่อนไขฝั่งเซิร์ฟเวอร์ในพารามิเตอร์และเงื่อนไข (ฝั่งเซิร์ฟเวอร์)
- ใช้โซลูชันที่สมบูรณ์: ใช้ Remote Config ฝั่งเซิร์ฟเวอร์กับ Cloud Functions for Firebase และ Agent Platform
- ดูวิธีจัดการเวอร์ชันเทมเพลต Remote Config