Remote Config เทมเพลตคือชุดพารามิเตอร์และเงื่อนไขที่มีรูปแบบ JSON ที่คุณสร้างไว้สําหรับโปรเจ็กต์ Firebase คุณสามารถสร้างเทมเพลตไคลเอ็นต์ ซึ่งแอปจะดึงข้อมูลค่า และเทมเพลตเซิร์ฟเวอร์ ซึ่งไคลเอ็นต์เซิร์ฟเวอร์จะดึงข้อมูลค่าได้
ส่วนนี้จะกล่าวถึงเทมเพลตไคลเอ็นต์ หากต้องการทราบข้อมูลเกี่ยวกับเวอร์ชันเฉพาะเซิร์ฟเวอร์ เทมเพลต ให้คลิก เทมเพลตของเซิร์ฟเวอร์คุณแก้ไขและจัดการเทมเพลตโดยใช้คอนโซล Firebase ซึ่งจะแสดง เนื้อหาของเทมเพลตในรูปแบบกราฟิกใน พารามิเตอร์และ แท็บเงื่อนไข
นอกจากนี้ คุณยังใช้ Remote Config REST API และ Admin SDK หรือ Firebase CLI เพื่อแก้ไขและจัดการเทมเพลตไคลเอ็นต์ได้ด้วย
ต่อไปนี้คือตัวอย่างของไฟล์เทมเพลตเซิร์ฟเวอร์
{
"parameters": {
"preamble_prompt": {
"defaultValue": {
"value": "You are a helpful assistant who knows everything there is to know about Firebase! "
},
"description": "Add this prompt to the user's prompt",
"valueType": "STRING"
},
"model_name": {
"defaultValue": {
"value": "gemini-pro-test"
},
"valueType": "STRING"
},
"generation_config": {
"defaultValue": {
"value": "{\"temperature\": 0.9, \"maxOutputTokens\": 2048, \"topP\": 0.9, \"topK\": 20}"
},
"valueType": "JSON"
},
},
"version": {
"versionNumber": "19",
"isLegacy": true
}
}
คุณสามารถทำสิ่งต่อไปนี้ได้โดยใช้คอนโซล Firebase
- แสดงรายการเวอร์ชันของเทมเพลตที่จัดเก็บไว้ทั้งหมด
- เรียกข้อมูลเวอร์ชันที่เฉพาะเจาะจง
- ย้อนกลับไปเป็นเวอร์ชันไคลเอ็นต์ที่เฉพาะเจาะจง
- ลบเทมเพลต Remote Config จากการเปลี่ยนแปลง ประวัติการเข้าชม เพจ
ระบบจำกัดเวอร์ชันที่จัดเก็บตลอดอายุการใช้งานไว้ที่ 300 เวอร์ชันต่อประเภทเทมเพลต (เทมเพลตไคลเอ็นต์ 300 รายการและเทมเพลตเซิร์ฟเวอร์ 300 รายการ) ซึ่งรวมถึงเทมเพลตที่จัดเก็บไว้ หมายเลขเวอร์ชันสำหรับเทมเพลตที่ลบแล้ว หากคุณเผยแพร่เทมเพลตมากกว่า 300 เวอร์ชันต่อประเภทเทมเพลตตลอดอายุการใช้งานของโปรเจ็กต์ ระบบจะลบเทมเพลตเวอร์ชันแรกสุดออก โดยเก็บเทมเพลตประเภทนั้นไว้ไม่เกิน 300 เวอร์ชัน
ทุกครั้งที่คุณอัปเดตพารามิเตอร์ Remote Config จะสร้าง
เทมเพลต Remote Config เวอร์ชันใหม่และจัดเก็บเทมเพลตก่อนหน้าเป็น
เวอร์ชันที่คุณเรียกดูหรือย้อนกลับได้ตามที่ต้องการ ระบบจะเพิ่มหมายเลขเวอร์ชันตามลําดับจากค่าเริ่มต้นที่ Remote Config จัดเก็บไว้
เทมเพลตทั้งหมดมีช่อง version
ตามที่แสดง ซึ่งมีข้อมูลเมตาเกี่ยวกับเวอร์ชันนั้นๆ
คุณลบเทมเพลต Remote Config ตามต้องการได้จากหน้าประวัติการเปลี่ยนแปลงในคอนโซล Remote Config
จัดการเวอร์ชันเทมเพลตของ Remote Config
ส่วนนี้จะอธิบายวิธีจัดการเวอร์ชันของRemote Config เทมเพลต
แสดงรายการเทมเพลต Remote Config เวอร์ชันที่เก็บไว้ทั้งหมด
คุณสามารถเรียกข้อมูลรายการเทมเพลต Remote Config เวอร์ชันที่เก็บไว้ทั้งหมดได้ โดยทำดังนี้
Firebase console
ในแท็บพารามิเตอร์ เลือก "นาฬิกา" แสดงที่ด้านขวาบน การดำเนินการนี้จะเปิด ประวัติการเปลี่ยนแปลง ที่มีรายการเวอร์ชันเทมเพลตที่จัดเก็บไว้ทั้งหมดในเมนูรายการทางด้านขวา
รายละเอียดที่แสดงสำหรับแต่ละเวอร์ชันที่จัดเก็บมีข้อมูลว่า การเปลี่ยนแปลงที่เกิดขึ้นจากคอนโซลโดยใช้ REST API จากการย้อนกลับ หรือเป็นการเปลี่ยนแปลงที่เพิ่มขึ้น จากการบังคับบันทึก
Firebase CLI
firebase remoteconfig:versions:list
ใช้ตัวเลือก --limit
เพื่อจำกัดจำนวนเวอร์ชันที่แสดง
ส่ง "0" เพื่อเรียกข้อมูลทุกเวอร์ชัน
Node.js
function listAllVersions() {
admin.remoteConfig().listVersions()
.then((listVersionsResult) => {
console.log("Successfully fetched the list of versions");
listVersionsResult.versions.forEach((version) => {
console.log('version', JSON.stringify(version));
});
})
.catch((error) => {
console.log(error);
});
}
Java
ListVersionsPage page = FirebaseRemoteConfig.getInstance().listVersionsAsync().get(); while (page != null) { for (Version version : page.getValues()) { System.out.println("Version: " + version.getVersionNumber()); } page = page.getNextPage(); } // Iterate through all versions. This will still retrieve versions in batches. page = FirebaseRemoteConfig.getInstance().listVersionsAsync().get(); for (Version version : page.iterateAll()) { System.out.println("Version: " + version.getVersionNumber()); }
REST
curl --compressed -D headers -H "Authorization: Bearer <var>token</var>" -X GET https://firebaseremoteconfig.googleapis.com/v1/projects/<var>my-project-id</var>/remoteConfig:listVersions
รายการเทมเพลตจะมีข้อมูลเมตาของเวอร์ชันที่เก็บไว้ทั้งหมด รวมถึงเวลาของการอัปเดต ผู้ใช้ที่สร้างเทมเพลต และวิธีสร้าง นี่คือ ตัวอย่างเอลิเมนต์ของเวอร์ชัน
```json
{
"versions": [{
"version_number": "6",
"update_time": "2022-05-12T02:38:54Z",
"update_user": {
"name": "Jane Smith",
"email": "jane@developer.org",
"imageUrl": "https://lh3.googleusercontent.com/a-/..."
},
"description": "One small change on the console",
"origin": "CONSOLE",
"update_type": "INCREMENTAL_UPDATE"
}]
}
```
ดึงข้อมูลเทมเพลต Remote Config เวอร์ชันที่ต้องการ
คุณสามารถเรียกข้อมูลเทมเพลต Remote Config เวอร์ชันที่เก็บไว้ได้ วิธีเรียกข้อมูลเทมเพลตที่เก็บไว้ เวอร์ชัน:
Firebase console
โดยค่าเริ่มต้น แผงรายละเอียดในแท็บประวัติการเปลี่ยนแปลงจะแสดงเทมเพลตที่ใช้งานอยู่ในปัจจุบัน หากต้องการดูรายละเอียดของเวอร์ชันอื่นในรายการ ให้เลือกเวอร์ชันนั้นจากเมนูด้านขวา
คุณสามารถดูความแตกต่างโดยละเอียดของเวอร์ชันที่เลือกอยู่ในปัจจุบันและเวอร์ชันอื่นๆ ที่เก็บไว้โดยวางเมาส์เหนือเมนูบริบทของเวอร์ชันที่ไม่ได้เลือก แล้วเลือกเปรียบเทียบกับเวอร์ชันที่เลือก
Firebase CLI
firebase remoteconfig:get -v VERSION_NUMBER
คุณเขียนเอาต์พุตไปยังไฟล์ที่ระบุด้วย -o, FILENAME
ได้ด้วย (ไม่บังคับ)
Node.js
ผ่าน getTemplate()
โดยไม่มีอาร์กิวเมนต์ใดๆ เพื่อเรียกเทมเพลตเวอร์ชันล่าสุด
หรือหากต้องการเรียกดูเวอร์ชันที่ต้องการ ให้ใช้ getTemplateAtVersion()
// Get template version: 6
admin.remoteConfig().getTemplateAtVersion('6')
.then((template) => {
console.log("Successfully fetched the template with ETag: " + template.etag);
})
.catch((error) => {
console.log(error);
});
Java
Template template = FirebaseRemoteConfig.getInstance().getTemplateAtVersionAsync(versionNumber).get(); // See the ETag of the fetched template. System.out.println("Successfully fetched the template with ETag: " + template.getETag());
REST
curl --compressed -D headers -H "Authorization: Bearer <var>token</var>" -X GET https://firebaseremoteconfig.googleapis.com/v1/projects/<var>my-project-id</var>/remoteConfig?version_number=6
พารามิเตอร์ URL ?version_number
ใช้ได้กับการดำเนินการ GET
เท่านั้น คุณไม่สามารถใช้พารามิเตอร์นี้เพื่อระบุหมายเลขเวอร์ชันสำหรับการอัปเดต คําขอ GET ที่คล้ายกันโดยไม่มีพารามิเตอร์ ?version_number
จะดึงข้อมูลเทมเพลตที่ใช้งานอยู่ในปัจจุบัน
เปลี่ยนกลับไปใช้เทมเพลต Remote Config เวอร์ชันที่เก็บไว้
คุณสามารถย้อนกลับไปยัง ของเทมเพลต วิธีย้อนกลับเทมเพลต
Firebase console
สำหรับเทมเพลตเวอร์ชันก่อนหน้าที่มีสิทธิ์ย้อนกลับ ปุ่มตัวเลือกเพื่อย้อนกลับไปยังเวอร์ชันนั้นจะแสดงที่ด้านขวาบนของ ประวัติการเปลี่ยนแปลง คลิกและยืนยันการดำเนินการนี้ต่อเมื่อคุณแน่ใจว่าต้องการย้อนกลับ และใช้ค่าเหล่านั้นทันทีสำหรับแอปและผู้ใช้ทั้งหมด
CLI Firebase
firebase remoteconfig:rollback -v VERSION_NUMBER
Node.js
// Roll back to template version: 6
admin.remoteConfig().rollback('6')
.then((template) => {
console.log("Successfully rolled back to template version 6.");
console.log("New ETag: " + template.etag);
})
.catch((error) => {
console.log('Error trying to rollback:', e);
})
Java
try { Template template = FirebaseRemoteConfig.getInstance().rollbackAsync(versionNumber).get(); System.out.println("Successfully rolled back to template version: " + versionNumber); System.out.println("New ETag: " + template.getETag()); } catch (ExecutionException e) { if (e.getCause() instanceof FirebaseRemoteConfigException) { FirebaseRemoteConfigException rcError = (FirebaseRemoteConfigException) e.getCause(); System.out.println("Error trying to rollback template."); System.out.println(rcError.getMessage()); } }
REST
หากต้องการย้อนกลับไปยังเทมเพลต Remote Config ที่เก็บไว้ ให้ออก HTTP POST กับ
เมธอดที่กำหนดเอง :rollback
และเวอร์ชันที่เฉพาะเจาะจงในส่วนเนื้อหาของคำขอ
เพื่อสมัคร เช่น
curl --compressed -D headers -H "Authorization: Bearer <var>token</var>" -H "Content-Type: application/json" -X POST https://firebaseremoteconfig.googleapis.com/v1/projects/<var>my-project-id</var>/remoteConfig:rollback -d '{"version_number": 6}'
การตอบกลับประกอบด้วยเนื้อหาของเทมเพลตที่จัดเก็บซึ่งใช้งานอยู่ตอนนี้ โดย ข้อมูลเมตาเวอร์ชันใหม่
โปรดทราบว่าการดำเนินการย้อนกลับนี้จะสร้าง เวอร์ชันใหม่ที่มีหมายเลขกำกับ เช่น การย้อนกลับจากเวอร์ชัน 10 ไปเป็นเวอร์ชัน 6 สร้างสำเนาใหม่ของเวอร์ชัน 6 ได้อย่างมีประสิทธิภาพ โดยมีความแตกต่าง จากเวอร์ชันต้นฉบับเพียงเพราะหมายเลขเวอร์ชันคือ 11 เวอร์ชันต้นฉบับ 6 จะยังคงจัดเก็บอยู่ ในกรณีที่ยังไม่ถึงวันหมดอายุและเวอร์ชัน 11 จะกลายเป็นเทมเพลตที่ใช้งานอยู่
ลบเทมเพลต Remote Config
คุณลบเทมเพลต Remote Config ออกจากคอนโซล Firebase ได้ ถึง ลบเทมเพลต Remote Config:
1. จาก Remote Config พารามิเตอร์ ให้คลิก ประวัติการเปลี่ยนแปลงสลับไปยังเทมเพลตที่ต้องการลบ แล้วคลิก
เพิ่มเติม แล้วเลือก Deleteเมื่อมีข้อความแจ้งให้ยืนยันการลบ ให้คลิกลบ
ดาวน์โหลดและเผยแพร่เทมเพลต Remote Config
ดาวน์โหลดและเผยแพร่เทมเพลต Remote Config เพื่อผสานรวมเข้ากับ การควบคุมต้นทางและระบบของการสร้าง การอัปเดตการกำหนดค่าโดยอัตโนมัติ และเก็บพารามิเตอร์ และค่าต่างๆ ให้ซิงค์กันในหลายโปรเจ็กต์
คุณดาวน์โหลดเทมเพลต Remote Config ที่ใช้งานอยู่ในปัจจุบันได้ จากคอนโซล Firebase จากนั้นคุณสามารถอัปเดตไฟล์ JSON ที่ส่งออกและเผยแพร่ไปยังโปรเจ็กต์เดียวกัน หรือเผยแพร่ไปยังโปรเจ็กต์ใหม่หรือโปรเจ็กต์ที่มีอยู่
สมมติว่าคุณมีโครงการหลายโครงการที่แสดงขั้นตอนต่างๆ ของ วงจรการพัฒนาซอฟต์แวร์ เช่น การพัฒนา การทดสอบ การทดลองใช้ และการผลิต สภาพแวดล้อมการใช้งาน ในกรณีนี้ คุณสามารถโปรโมตเทมเพลตที่ทดสอบอย่างสมบูรณ์จาก สำหรับสภาพแวดล้อมการใช้งานจริงเป็นสภาพแวดล้อม การใช้งานจริง โดยดาวน์โหลดจาก จัดเตรียมโปรเจ็กต์และเผยแพร่ในโปรเจ็กต์ที่ใช้งานจริง
นอกจากนี้ คุณยังใช้วิธีนี้เพื่อย้ายข้อมูลการกําหนดค่าจากโปรเจ็กต์หนึ่งไปยังอีกโปรเจ็กต์หนึ่ง หรือสร้างโปรเจ็กต์ใหม่ด้วยพารามิเตอร์และค่าจากโปรเจ็กต์ที่จัดตั้งไว้แล้วได้ด้วย
พารามิเตอร์และค่าพารามิเตอร์ที่สร้างขึ้นเป็นตัวแปรโดยเฉพาะใน การทดสอบ A/B Testing รายการไม่รวมอยู่ในเทมเพลตที่ส่งออก
วิธีส่งออกและนำเข้าเทมเพลต Remote Config รายการ
- ดาวน์โหลดเทมเพลตการกำหนดค่าปัจจุบันของ Remote Config
- ตรวจสอบเทมเพลต Remote Config
- เผยแพร่เทมเพลต Remote Config
ดาวน์โหลดเทมเพลตการกำหนดค่าระยะไกลปัจจุบัน
ใช้รายการต่อไปนี้เพื่อดาวน์โหลดเทมเพลต Remote Config ที่ใช้งานอยู่ใน รูปแบบ JSON:
Firebase console
- จาก Remote Config พารามิเตอร์หรือเงื่อนไข เปิด เมนู และ เลือกดาวน์โหลดไฟล์การกำหนดค่าปัจจุบัน
- เมื่อได้รับข้อความแจ้ง ให้คลิกดาวน์โหลดไฟล์การกําหนดค่า เลือกตําแหน่งที่ต้องการบันทึกไฟล์ แล้วคลิกบันทึก
CLI Firebase
firebase remoteconfig:get -o filename
Node.js
function getTemplate() { var config = admin.remoteConfig(); config.getTemplate() .then(function (template) { console.log('ETag from server: ' + template.etag); var templateStr = JSON.stringify(template); fs.writeFileSync('config.json', templateStr); }) .catch(function (err) { console.error('Unable to get template'); console.error(err); }); }
Java
Template template = FirebaseRemoteConfig.getInstance().getTemplateAsync().get(); // See the ETag of the fetched template. System.out.println("ETag from server: " + template.getETag());
REST
curl --compressed -D headers -H "Authorization: Bearer token" -X GET https://firebaseremoteconfig.googleapis.com/v1/projects/my-project-id/remoteConfig -o filename
คำสั่งนี้จะแสดงผลเพย์โหลด JSON ไปยังไฟล์เดียว และส่วนหัว
(รวมถึง ETag) ลงในไฟล์ headers
แยกต่างหาก
ตรวจสอบความถูกต้องของเทมเพลตการกำหนดค่าระยะไกล
คุณสามารถตรวจสอบการอัปเดตเทมเพลตก่อนเผยแพร่ได้โดยใช้ Firebase Admin SDK หรือ REST API เทมเพลตจะได้รับการตรวจสอบด้วยเมื่อคุณพยายาม เพื่อเผยแพร่จากคอนโซล Firebase CLI หรือ Firebaseกระบวนการตรวจสอบเทมเพลตจะตรวจหาข้อผิดพลาด เช่น คีย์ที่ซ้ำกันสำหรับพารามิเตอร์และเงื่อนไข ชื่อเงื่อนไขที่ไม่ถูกต้องหรือเงื่อนไขที่ไม่มีอยู่ หรือ ETag ที่มีรูปแบบไม่ถูกต้อง ตัวอย่างเช่น คำขอที่มีคีย์มากกว่าจำนวนที่อนุญาต ซึ่งก็คือ 2,000 รายการ จะแสดงข้อความแสดงข้อผิดพลาด Param count too
large
Node.js
function validateTemplate(template) { admin.remoteConfig().validateTemplate(template) .then(function (validatedTemplate) { // The template is valid and safe to use. console.log('Template was valid and safe to use'); }) .catch(function (err) { console.error('Template is invalid and cannot be published'); console.error(err); }); }
Java
try { Template validatedTemplate = FirebaseRemoteConfig.getInstance() .validateTemplateAsync(template).get(); System.out.println("Template was valid and safe to use"); } catch (ExecutionException e) { if (e.getCause() instanceof FirebaseRemoteConfigException) { FirebaseRemoteConfigException rcError = (FirebaseRemoteConfigException) e.getCause(); System.out.println("Template is invalid and cannot be published"); System.out.println(rcError.getMessage()); } }
REST
ตรวจสอบการอัปเดตเทมเพลตโดยเพิ่มพารามิเตอร์ของ URL ?validate_only=true
ต่อท้าย
ในคำขอเผยแพร่
curl --compressed -H "Content-Type: application/json; UTF8" -H "If-Match: last-returned-etag" -H "Authorization: Bearer token" -X PUT https://firebaseremoteconfig.googleapis.com/v1/projects/my-project-id/remoteConfig?validate_only=true -d @filename
หากเทมเพลตผ่านการตรวจสอบเรียบร้อยแล้ว คำสั่ง curl จะแสดงเทมเพลต JSON ที่คุณส่ง และคุณจะเห็นสถานะ HTTP/2 200 และ ETag ที่อัปเดตแล้วซึ่งมีนามสกุล -0
ในไฟล์ headers
ที่บันทึกไว้ หากเทมเพลตไม่ผ่านการตรวจสอบ คุณจะได้รับข้อผิดพลาดการตรวจสอบในการตอบกลับ JSON และไฟล์ headers
จะมีการตอบกลับที่ไม่ใช่ 200 (และไม่มี ETag)
เผยแพร่เทมเพลต Remote Config
หลังจากดาวน์โหลดเทมเพลต ทำการเปลี่ยนแปลงที่จำเป็นในเนื้อหา JSON และตรวจสอบแล้ว คุณจะเผยแพร่เทมเพลตไปยังโปรเจ็กต์ได้
การเผยแพร่เทมเพลตจะแทนที่เทมเพลตการกำหนดค่าที่มีอยู่ทั้งหมดด้วยพารามิเตอร์ ไฟล์ที่อัปเดต และเพิ่มเวอร์ชันของเทมเพลตทีละไฟล์ เนื่องจาก มาแทนที่การกำหนดค่า หากคุณลบพารามิเตอร์ออกจากไฟล์ JSON และ เผยแพร่ พารามิเตอร์จะถูกลบออกจากเซิร์ฟเวอร์และใช้ไม่ได้อีกต่อไป แก่ลูกค้า
หลังจากเผยแพร่ การเปลี่ยนแปลงพารามิเตอร์และค่าจะใช้ได้ทันที กับแอปและผู้ใช้ของคุณ หากจำเป็น คุณสามารถเปลี่ยนกลับไปใช้เวอร์ชันก่อนหน้าได้
ใช้คำสั่งต่อไปนี้เพื่อเผยแพร่เทมเพลตของคุณ
คอนโซล Firebase
- จากแท็บRemote Config พารามิเตอร์หรือเงื่อนไข ให้เปิด เมนู แล้วเลือกเผยแพร่จากไฟล์
- เมื่อมีข้อความแจ้ง ให้คลิกเรียกดู แล้วไปที่ Remote Config ไฟล์ที่ต้องการเผยแพร่ แล้วคลิกเลือก
- ระบบจะตรวจสอบไฟล์ และหากตรวจสอบเสร็จเรียบร้อยแล้ว คุณสามารถคลิกเผยแพร่เพื่อให้แอปและผู้ใช้ใช้การกำหนดค่าได้ทันที
Node.js
function publishTemplate() { var config = admin.remoteConfig(); var template = config.createTemplateFromJSON( fs.readFileSync('config.json', 'UTF8')); config.publishTemplate(template) .then(function (updatedTemplate) { console.log('Template has been published'); console.log('ETag from server: ' + updatedTemplate.etag); }) .catch(function (err) { console.error('Unable to publish template.'); console.error(err); }); }
Java
try { Template publishedTemplate = FirebaseRemoteConfig.getInstance() .publishTemplateAsync(template).get(); System.out.println("Template has been published"); // See the ETag of the published template. System.out.println("ETag from server: " + publishedTemplate.getETag()); } catch (ExecutionException e) { if (e.getCause() instanceof FirebaseRemoteConfigException) { FirebaseRemoteConfigException rcError = (FirebaseRemoteConfigException) e.getCause(); System.out.println("Unable to publish template."); System.out.println(rcError.getMessage()); } }
REST
curl --compressed -H "Content-Type: application/json; UTF8" -H "If-Match: last-returned-etag" -H "Authorization: Bearer token" -X PUT https://firebaseremoteconfig.googleapis.com/v1/projects/my-project-id/remoteConfig -d @filename
สำหรับคำสั่ง curl
นี้ คุณจะระบุเนื้อหาได้โดยใช้ "@"
ตามด้วยชื่อไฟล์
Remote Config การปรับให้เหมาะกับผู้ใช้และเงื่อนไขจะรวมอยู่ในเทมเพลตที่ดาวน์โหลด ดังนั้นคุณจึงควรทราบข้อจำกัดต่อไปนี้เมื่อพยายามเผยแพร่ไปยังโปรเจ็กต์อื่น
ไม่สามารถนําเข้าการปรับให้เหมาะกับผู้ใช้แต่ละรายจากโปรเจ็กต์หนึ่งไปยังอีกโปรเจ็กต์หนึ่งได้
ตัวอย่างเช่น หากเปิดใช้การปรับตามโปรไฟล์ผู้ใช้ในโปรเจ็กต์และดาวน์โหลดและแก้ไขเทมเพลต คุณจะเผยแพร่เทมเพลตนั้นในโปรเจ็กต์เดียวกันได้ แต่จะเผยแพร่ในโปรเจ็กต์อื่นไม่ได้ เว้นแต่คุณจะลบการปรับตามโปรไฟล์ผู้ใช้ออกจากเทมเพลต
คุณสามารถนําเข้าเงื่อนไขจากโปรเจ็กต์หนึ่งไปยังอีกโปรเจ็กต์หนึ่งได้ แต่โปรดทราบว่าค่าแบบมีเงื่อนไขที่เฉพาะเจาะจง (เช่น รหัสแอปหรือกลุ่มเป้าหมาย) ควรอยู่ในโปรเจ็กต์เป้าหมายก่อนเผยแพร่
ตัวอย่างเช่น หากคุณมีพารามิเตอร์ Remote Config ที่ใช้เงื่อนไขที่ระบุค่าแพลตฟอร์มเป็น
iOS
คุณจะเผยแพร่เทมเพลตไปยังโปรเจ็กต์อื่นได้ เนื่องจากค่าแพลตฟอร์มเหมือนกันสำหรับทุกโปรเจ็กต์ อย่างไรก็ตาม หากไฟล์มีเงื่อนไขที่ต้องใช้รหัสแอปหรือผู้ใช้ที่เฉพาะเจาะจง กลุ่มเป้าหมายที่ไม่มีอยู่ในโปรเจ็กต์เป้าหมาย การตรวจสอบจะล้มเหลวหากเทมเพลตที่วางแผนจะเผยแพร่มีเงื่อนไขที่อาศัย Google Analytics คุณต้องเปิดใช้ Analytics ในโปรเจ็กต์เป้าหมาย
ดาวน์โหลดค่าเริ่มต้นของเทมเพลตRemote Config
เนื่องจากแอปอาจไม่ได้เชื่อมต่อกับอินเทอร์เน็ตเสมอไป คุณจึงควรกำหนดค่าเริ่มต้นของแอปฝั่งไคลเอ็นต์สำหรับRemote Configพารามิเตอร์ทั้งหมด นอกจากนี้ คุณควรซิงค์ค่าเริ่มต้นของไคลเอ็นต์แอปและRemote Configค่าพารามิเตอร์เริ่มต้นของแบ็กเอนด์เป็นระยะๆ เนื่องจากค่าเหล่านี้อาจเปลี่ยนแปลงเมื่อเวลาผ่านไป
ตามที่อธิบายไว้ในลิงก์เฉพาะแพลตฟอร์มในตอนท้ายของส่วนนี้ คุณสามารถ ตั้งค่าเริ่มต้นเหล่านี้ในแอปด้วยตนเอง หรือคุณจะเพิ่มประสิทธิภาพของกระบวนการนี้ได้โดย การดาวน์โหลดไฟล์ที่มีเฉพาะคู่คีย์-ค่าสำหรับพารามิเตอร์ทั้งหมด และค่าเริ่มต้นในเทมเพลต Remote Config ที่ใช้งานอยู่ จากนั้นคุณจะสามารถ รวมไฟล์นี้ในโปรเจ็กต์และกำหนดค่าแอปเพื่อนำเข้าค่าเหล่านี้
คุณสามารถดาวน์โหลดไฟล์เหล่านี้ในรูปแบบ XML สำหรับแอป Android, รูปแบบรายการพร็อพเพอร์ตี้ (plist) สำหรับแอป iOS และ JSON สำหรับเว็บแอป
เราขอแนะนำให้ดาวน์โหลดค่าเริ่มต้นของ Remote Config เป็นระยะๆ ก่อนการเผยแพร่แอปเวอร์ชันใหม่ เพื่อให้แอปและแบ็กเอนด์ Remote Config ซิงค์กันอยู่เสมอ
วิธีดาวน์โหลดไฟล์ที่มีเทมเพลตเริ่มต้น
REST
curl --compressed -D headers -H "Authorization: Bearer token -X GET https://firebaseremoteconfig.googleapis.com/v1/projects/my-project-id/remoteConfig:downloadDefaults?format=file_format'
ใช้ XML
, PLIST
หรือ JSON
เป็นค่า format
โดยขึ้นอยู่กับรูปแบบไฟล์ที่ต้องการดาวน์โหลด
คอนโซล Firebase
- ในแท็บพารามิเตอร์ ให้เปิด เมนู แล้วเลือกดาวน์โหลดค่าเริ่มต้น
- เมื่อได้รับข้อความแจ้ง ให้คลิกปุ่มตัวเลือกที่ตรงกับรูปแบบไฟล์ที่ต้องการดาวน์โหลด แล้วคลิกดาวน์โหลดไฟล์
ดูข้อมูลเพิ่มเติมเกี่ยวกับการนำเข้าค่าเริ่มต้น Remote Config ไปยัง โปรดดูที่