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 ซึ่งรวมถึงการติดตั้งใช้งานแบบไม่ใช้เซิร์ฟเวอร์ เช่น Cloud Functions for Firebase และบริการที่ใช้คอนเทนเนอร์ใน Cloud Run
ซึ่งแตกต่างจาก Firebase Client SDK ที่ดึงข้อมูลการกำหนดค่าเฉพาะไคลเอ็นต์ซึ่งได้มาจากเทมเพลต Remote Config, Remote Config SDK ฝั่งเซิร์ฟเวอร์จะดาวน์โหลดหรือดึงข้อมูลเทมเพลต Remote Configที่สมบูรณ์จาก Firebase จากนั้นเซิร์ฟเวอร์จะประเมินเทมเพลตกับคำขอขาเข้าแต่ละรายการ และใช้ตรรกะของตัวเองเพื่อแสดงการตอบกลับที่ปรับแต่งแล้วโดยมีเวลาในการตอบสนองต่ำมาก คุณใช้เงื่อนไขเพื่อควบคุมและปรับแต่งการตอบกลับตามเปอร์เซ็นต์แบบสุ่มและแอตทริบิวต์ของไคลเอ็นต์ที่กําหนดไว้ในสัญญาณที่กําหนดเองได้
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-2.0-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"], "temperature": 0.7,
"maxOutputTokens": 512, "topP": 0.1, "topK": 20} |
ขั้นตอนที่ 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-pro", generation_config: '{"stopSequences": [], "temperature": 0.7, "maxOutputTokens": 512, "topP": 0.1, "topK": 20}', 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_templatetemplate = remote_config.init_server_template({ 'default_config': { 'model_name': "gemini-pro", 'generation_config': '{"stopSequences": [], "temperature": 0.7, "maxOutputTokens": 512, "topP": 0.1, "topK": 20}', '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-2.0-flash" // Assume the type generationConfig has been defined defaultConfig["generation_config"] = &generationConfig{ StopSequences: []string{"I hope this helps"}, Temperature: 0.7, MaxOutputTokens: 512, TopP: 0.9, TopK: 30, } 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 เวอร์ชัน 12.5.0 ขึ้นไป, Python SDK เวอร์ชัน 6.7.0 ขึ้นไป, Java SDK เวอร์ชัน 9.7.0 ขึ้นไป และ Go SDK เวอร์ชัน 4.17.0 ขึ้นไป
เช่น คุณอาจตั้งค่า Firebaseรหัสการติดตั้ง หรือ User-ID เป็นรหัสการสุ่มเพื่อให้มั่นใจว่าระบบจะเพิ่มผู้ใช้แต่ละรายที่ติดต่อเซิร์ฟเวอร์ของคุณลงในกลุ่มที่สุ่มอย่างเหมาะสม
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
ดูข้อมูลเพิ่มเติมเกี่ยวกับ Use Case ที่ดีที่สุดสำหรับ Cloud Run และ Cloud Functions for Firebase ได้ที่ Cloud Functions for Firebase เทียบกับ Cloud Run: เมื่อใดควรใช้ตัวใดตัวหนึ่ง
ขั้นตอนถัดไป
- ดูพารามิเตอร์และเงื่อนไขฝั่งเซิร์ฟเวอร์ได้ในพารามิเตอร์และเงื่อนไข (ฝั่งเซิร์ฟเวอร์)
- ใช้โซลูชันที่สมบูรณ์ ใช้ Remote Config ฝั่งเซิร์ฟเวอร์กับ Cloud Functions for Firebase และ Agent Platform
- ดูวิธี จัดการRemote Configเวอร์ชันเทมเพลต