เทมเพลตการกำหนดค่าระยะไกลเป็นชุดรูปแบบ JSON พารามิเตอร์และเงื่อนไขที่คุณสร้างไว้สำหรับโปรเจ็กต์ Firebase คุณ สร้างเทมเพลตไคลเอ็นต์ที่แอปจะดึงข้อมูลค่าได้ และ เซิร์ฟเวอร์ ซึ่งไคลเอ็นต์เซิร์ฟเวอร์จะดึงข้อมูลค่าได้
ส่วนนี้จะกล่าวถึงเทมเพลตไคลเอ็นต์ หากต้องการทราบข้อมูลเกี่ยวกับเวอร์ชันเฉพาะเซิร์ฟเวอร์ เทมเพลต ให้คลิก เทมเพลตของเซิร์ฟเวอร์คุณแก้ไขและจัดการเทมเพลตได้โดยใช้คอนโซล Firebase ซึ่งแสดง เนื้อหาของเทมเพลตในรูปแบบกราฟิกใน พารามิเตอร์และ แท็บเงื่อนไข
คุณยังสามารถใช้ 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
- แสดงรายการเวอร์ชันของเทมเพลตที่จัดเก็บไว้ทั้งหมด
- ดึงข้อมูลเวอร์ชันที่ต้องการ
- ย้อนกลับไปใช้เวอร์ชันไคลเอ็นต์ที่ต้องการ
- ลบเทมเพลตการกำหนดค่าระยะไกลจากหน้า Change ประวัติศาสตร์ เพจ
ระบบจำกัดเวอร์ชันที่จัดเก็บตลอดอายุการใช้งานไว้ที่ 300 เวอร์ชันต่อประเภทเทมเพลต (เทมเพลตไคลเอ็นต์ 300 รายการและเทมเพลตเซิร์ฟเวอร์ 300 รายการ) ซึ่งรวมถึงเทมเพลตที่จัดเก็บไว้ หมายเลขเวอร์ชันสำหรับเทมเพลตที่ลบแล้ว หากคุณเผยแพร่เนื้อหามากกว่า 300 เนื้อหา เวอร์ชันเทมเพลตต่อประเภทเทมเพลตในระหว่างอายุการใช้งานของโปรเจ็กต์ เวอร์ชันแรกสุดจะถูกลบ โดยที่ไม่เกิน 300 เวอร์ชัน ประเภทนั้นๆ
ทุกครั้งที่คุณอัปเดตพารามิเตอร์ การกำหนดค่าระยะไกลจะสร้าง
เทมเพลตการกำหนดค่าระยะไกลเวอร์ชันใหม่และจัดเก็บเทมเพลตก่อนหน้าเป็น
เวอร์ชันที่คุณเรียกดูหรือย้อนกลับได้ตามที่ต้องการ หมายเลขเวอร์ชัน
จะเพิ่มขึ้นตามลำดับจากค่าเริ่มต้นที่จัดเก็บโดยการกำหนดค่าระยะไกล
เทมเพลตทั้งหมดจะมีช่อง version
ตามที่แสดงซึ่งมีข้อมูลเมตาเกี่ยวกับช่องนั้น
เวอร์ชันที่เจาะจง
คุณสามารถลบเทมเพลตการกำหนดค่าระยะไกลได้ตามต้องการจาก ประวัติการเปลี่ยนแปลง หน้าเว็บบน คอนโซลการกำหนดค่าระยะไกล
จัดการเวอร์ชันเทมเพลตการกำหนดค่าระยะไกล
หัวข้อนี้จะอธิบายวิธีจัดการเวอร์ชันของการกำหนดค่าระยะไกล เทมเพลต
แสดงรายการเวอร์ชันที่จัดเก็บไว้ของเทมเพลตการกำหนดค่าระยะไกล
คุณสามารถเรียกดูรายการ เวอร์ชันที่จัดเก็บไว้ทั้งหมดของเทมเพลตการกำหนดค่าระยะไกล โดยทำดังนี้
คอนโซล Firebase
ในแท็บพารามิเตอร์ เลือก "นาฬิกา" แสดงที่ด้านขวาบน ซึ่งจะเป็นการเปิด ประวัติการเปลี่ยนแปลง ที่มีรายการเวอร์ชันเทมเพลตที่จัดเก็บไว้ทั้งหมดในเมนูรายการทางด้านขวา
รายละเอียดที่แสดงสำหรับแต่ละเวอร์ชันที่จัดเก็บมีข้อมูลว่า การเปลี่ยนแปลงที่เกิดขึ้นจากคอนโซล, ด้วย 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"
}]
}
```
ดึงข้อมูลเทมเพลตการกำหนดค่าระยะไกลในเวอร์ชันที่ต้องการ
คุณสามารถเรียกดูข้อมูลใด ของเทมเพลตการกำหนดค่าระยะไกล วิธีเรียกข้อมูลเทมเพลตที่เก็บไว้ เวอร์ชัน:
คอนโซล Firebase
โดยค่าเริ่มต้น แผงรายละเอียดใน แท็บประวัติการเปลี่ยนแปลง แสดงเทมเพลตที่ใช้งานอยู่ในปัจจุบัน เพื่อดู สำหรับรุ่นอื่นในรายการ ให้เลือกจากเมนูด้านขวา
คุณสามารถดูความแตกต่างโดยละเอียดของเวอร์ชันที่เลือกไว้ในปัจจุบันและเวอร์ชันอื่นๆ เวอร์ชันที่จัดเก็บไว้ โดยวางเมาส์เหนือเมนูตามบริบทสำหรับเวอร์ชันที่ไม่ได้เลือก แล้วเลือกเปรียบเทียบกับเวอร์ชันที่เลือก
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
เท่านั้น
คุณไม่สามารถใช้ในการระบุหมายเลขเวอร์ชันสำหรับการอัปเดต ข้อเสนอที่คล้ายกัน
คำขอที่ไม่มี ?version_number
จะดึงเทมเพลตที่ใช้งานอยู่ในปัจจุบัน
ย้อนกลับไปยังเวอร์ชันที่จัดเก็บไว้เฉพาะของเทมเพลตการกำหนดค่าระยะไกล
คุณสามารถย้อนกลับไปยัง ของเทมเพลต วิธีย้อนกลับเทมเพลต
คอนโซล Firebase
สำหรับเทมเพลตเวอร์ชันก่อนหน้าที่มีสิทธิ์ย้อนกลับ ปุ่มตัวเลือกเพื่อย้อนกลับไปยังเวอร์ชันนั้นจะแสดงขึ้นที่ด้านขวาบนของ ประวัติการเปลี่ยนแปลง คลิกและยืนยันการดำเนินการนี้ต่อเมื่อคุณแน่ใจว่าต้องการย้อนกลับ และใช้ค่าเหล่านั้นทันทีสำหรับแอปและผู้ใช้ทั้งหมด
Firebase CLI
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
หากต้องการย้อนกลับไปยังเทมเพลตการกำหนดค่าระยะไกลที่เก็บไว้ ให้ออก 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 จะกลายเป็นเทมเพลตที่ใช้งานอยู่
ลบเทมเพลตการกำหนดค่าระยะไกล
คุณลบเทมเพลตการกำหนดค่าระยะไกลจากคอนโซล Firebase ได้ ถึง ลบเทมเพลตการกำหนดค่าระยะไกล
1. จากการกำหนดค่าระยะไกล พารามิเตอร์ ให้คลิก ประวัติการเปลี่ยนแปลงสลับไปยังเทมเพลตที่ต้องการลบ แล้วคลิก
เพิ่มเติม แล้วเลือก Deleteเมื่อมีข้อความแจ้งให้ยืนยันการลบ ให้คลิกลบ
ดาวน์โหลดและเผยแพร่เทมเพลตการกำหนดค่าระยะไกล
ดาวน์โหลดและเผยแพร่เทมเพลตการกำหนดค่าระยะไกลเพื่อผสานรวมเทมเพลตเข้ากับ การควบคุมต้นทางและระบบของการสร้าง การอัปเดตการกำหนดค่าโดยอัตโนมัติ และเก็บพารามิเตอร์ และค่าต่างๆ ให้ซิงค์กันในหลายโปรเจ็กต์
คุณสามารถดาวน์โหลดเทมเพลตการกำหนดค่าระยะไกลที่ใช้งานอยู่ได้ในปัจจุบัน จากคอนโซล Firebase จากนั้นคุณจะสามารถอัปเดต ส่งออกไฟล์ JSON และเผยแพร่ไปยังโปรเจ็กต์เดียวกัน หรือเผยแพร่ไปยังโปรเจ็กต์ใหม่ ที่มีอยู่
สมมติว่าคุณมีโครงการหลายโครงการที่แสดงขั้นตอนต่างๆ ของ วงจรการพัฒนาซอฟต์แวร์ เช่น การพัฒนา การทดสอบ การทดลองใช้ และการผลิต สภาพแวดล้อมการใช้งาน ในกรณีนี้ คุณสามารถโปรโมตเทมเพลตที่ทดสอบอย่างสมบูรณ์จาก สำหรับสภาพแวดล้อมการใช้งานจริงเป็นสภาพแวดล้อม การใช้งานจริง โดยดาวน์โหลดจาก จัดเตรียมโปรเจ็กต์และเผยแพร่ในโปรเจ็กต์ที่ใช้งานจริง
คุณยังใช้วิธีการนี้เพื่อย้ายข้อมูลการกำหนดค่าจากโปรเจ็กต์หนึ่งไปยัง รายการอื่น หรือป้อนข้อมูลในโปรเจ็กต์ใหม่ด้วยพารามิเตอร์และค่าจาก ที่สร้างโครงการแล้ว
พารามิเตอร์และค่าพารามิเตอร์ที่สร้างขึ้นเป็นตัวแปรโดยเฉพาะใน การทดสอบ A/B Testing จะไม่รวมอยู่ในเทมเพลตที่ส่งออก
วิธีส่งออกและนำเข้าเทมเพลตการกำหนดค่าระยะไกล
- ดาวน์โหลดเทมเพลตการกำหนดค่าระยะไกลปัจจุบัน
- ตรวจสอบเทมเพลตการกำหนดค่าระยะไกล
- เผยแพร่เทมเพลตการกำหนดค่าระยะไกล
ดาวน์โหลดเทมเพลตการกำหนดค่าระยะไกลปัจจุบัน
ใช้รายการต่อไปนี้เพื่อดาวน์โหลดเทมเพลตการกำหนดค่าระยะไกลที่ใช้งานอยู่ใน รูปแบบ JSON:
คอนโซล Firebase
- จาก พารามิเตอร์หรือเงื่อนไขการกำหนดค่าระยะไกล เปิด เมนู และ เลือกดาวน์โหลดไฟล์การกำหนดค่าปัจจุบัน
- เมื่อมีข้อความแจ้ง ให้คลิกดาวน์โหลดไฟล์การกําหนดค่า แล้วเลือกตําแหน่งที่ ที่คุณต้องการบันทึกไฟล์ แล้วคลิกบันทึก
Firebase CLI
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 ที่มีรูปแบบไม่ถูกต้อง ตัวอย่างเช่น คำขอที่มี มากกว่าที่อนุญาต
จำนวนคีย์ - 2000 จะแสดงข้อความแสดงข้อผิดพลาด 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 ที่คุณส่ง และในไฟล์ headers
ที่บันทึกไว้ คุณจะเห็น
สถานะ HTTP/2 200 และ ETag ที่อัปเดตซึ่งมีส่วนต่อท้าย -0
หาก
เทมเพลตไม่ได้รับการตรวจสอบ คุณจะได้รับข้อผิดพลาดในการตรวจสอบความถูกต้องใน
การตอบกลับ JSON และไฟล์ headers
จะมีการตอบกลับที่ไม่ใช่ 200
(และไม่มี ETag)
เผยแพร่เทมเพลตการกำหนดค่าระยะไกล
หลังจากดาวน์โหลดเทมเพลตแล้ว ให้ทำการเปลี่ยนแปลงที่จำเป็นในเนื้อหา JSON และ เมื่อตรวจสอบความถูกต้อง คุณจะสามารถเผยแพร่ไปยังโปรเจ็กต์ได้
การเผยแพร่เทมเพลตจะแทนที่เทมเพลตการกำหนดค่าที่มีอยู่ทั้งหมดด้วยพารามิเตอร์ ไฟล์ที่อัปเดต และเพิ่มเวอร์ชันของเทมเพลตทีละไฟล์ เนื่องจาก มาแทนที่การกำหนดค่า หากคุณลบพารามิเตอร์ออกจากไฟล์ JSON และ เผยแพร่ พารามิเตอร์จะถูกลบออกจากเซิร์ฟเวอร์และใช้ไม่ได้อีกต่อไป แก่ลูกค้า
หลังจากเผยแพร่ การเปลี่ยนแปลงพารามิเตอร์และค่าจะใช้ได้ทันที กับแอปและผู้ใช้ของคุณ หากจำเป็น คุณสามารถ ย้อนกลับไปเป็นเวอร์ชันก่อนหน้า
ใช้คำสั่งต่อไปนี้เพื่อเผยแพร่เทมเพลตของคุณ
คอนโซล Firebase
- จาก พารามิเตอร์หรือเงื่อนไขการกำหนดค่าระยะไกล ให้เปิด เมนู แล้วเลือกเผยแพร่จากไฟล์
- เมื่อมีข้อความแจ้ง ให้คลิกเรียกดู แล้วไปที่ ไฟล์การกำหนดค่าระยะไกลที่ต้องการเผยแพร่ จากนั้นคลิกเลือก
- ไฟล์จะได้รับการตรวจสอบความถูกต้อง และถ้าสำเร็จ คุณสามารถคลิก เผยแพร่เพื่อให้การกำหนดค่าพร้อมใช้งานทันที แอปและผู้ใช้
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
นี้ คุณจะระบุเนื้อหาได้โดยใช้ "@"
ตามด้วยชื่อไฟล์
การปรับเปลี่ยนในแบบของคุณและเงื่อนไขของการกำหนดค่าระยะไกลรวมอยู่ในที่ เทมเพลตที่ดาวน์โหลด ดังนั้นสิ่งสำคัญคือต้องระวังสิ่งต่อไปนี้ เมื่อพยายามเผยแพร่ไปยังโปรเจ็กต์อื่น
ไม่สามารถนำเข้าการปรับเปลี่ยนในแบบของคุณจากโปรเจ็กต์ไปยังโปรเจ็กต์ได้
ตัวอย่างเช่น ถ้าคุณเปิดใช้การปรับเปลี่ยนในแบบของคุณในโปรเจ็กต์และ ดาวน์โหลดและแก้ไขเทมเพลต คุณสามารถเผยแพร่ไปยัง แต่คุณจะไม่สามารถเผยแพร่ไปยังโปรเจ็กต์อื่น เว้นแต่คุณจะลบ การปรับเปลี่ยนให้เหมาะกับผู้ใช้ จากเทมเพลตได้
คุณนำเข้าเงื่อนไขจากโปรเจ็กต์หนึ่งไปยังอีกโปรเจ็กต์หนึ่งได้ แต่โปรดทราบว่า ค่าแบบมีเงื่อนไขที่เฉพาะเจาะจง (เช่น รหัสแอปหรือกลุ่มเป้าหมาย) ควรอยู่ใน โปรเจ็กต์เป้าหมายก่อนเผยแพร่
เช่น หากคุณมีพารามิเตอร์การกำหนดค่าระยะไกลที่ใช้เงื่อนไข ที่ระบุค่าแพลตฟอร์มเป็น
iOS
สามารถเผยแพร่เทมเพลตไปยัง โปรเจ็กต์อื่น เนื่องจากค่าของแพลตฟอร์มเหมือนกันสำหรับทุกโปรเจ็กต์ อย่างไรก็ตาม หากไฟล์มีเงื่อนไขที่ต้องใช้รหัสแอปหรือผู้ใช้ที่เฉพาะเจาะจง กลุ่มเป้าหมายที่ไม่มีอยู่ในโปรเจ็กต์เป้าหมาย การตรวจสอบจะล้มเหลวหากเทมเพลตที่คุณวางแผนจะเผยแพร่มีเงื่อนไขที่ใช้ Google Analytics ต้องเปิดใช้ Analytics ในเป้าหมาย
ดาวน์โหลดค่าเริ่มต้นของเทมเพลตการกำหนดค่าระยะไกล
เนื่องจากแอปอาจไม่ได้เชื่อมต่อกับอินเทอร์เน็ตตลอดเวลา คุณควรกำหนดค่าเริ่มต้นของแอปฝั่งไคลเอ็นต์สำหรับการกำหนดค่าระยะไกลทั้งหมด พารามิเตอร์ คุณควรซิงค์ค่าเริ่มต้นของไคลเอ็นต์ของแอปเป็นระยะๆ ด้วย และค่าพารามิเตอร์เริ่มต้นของแบ็กเอนด์การกำหนดค่าระยะไกล เปลี่ยนแปลงได้ในอนาคต
ตามที่อธิบายไว้ในลิงก์เฉพาะแพลตฟอร์มในตอนท้ายของส่วนนี้ คุณสามารถ ตั้งค่าเริ่มต้นเหล่านี้ในแอปด้วยตนเอง หรือคุณจะเพิ่มประสิทธิภาพของกระบวนการนี้ได้โดย การดาวน์โหลดไฟล์ที่มีเฉพาะคู่คีย์-ค่าสำหรับพารามิเตอร์ทั้งหมด และค่าเริ่มต้นในเทมเพลตการกำหนดค่าระยะไกลที่ใช้งานอยู่ จากนั้นคุณจะสามารถ รวมไฟล์นี้ในโปรเจ็กต์และกำหนดค่าแอปเพื่อนำเข้าค่าเหล่านี้
คุณดาวน์โหลดไฟล์เหล่านี้ได้ในรูปแบบ XML สำหรับแอป Android รูปแบบรายการพร็อพเพอร์ตี้ (plist) สำหรับแอป iOS และ JSON สำหรับเว็บแอป
เราขอแนะนำให้ดาวน์โหลดค่าเริ่มต้นของการกำหนดค่าระยะไกลเป็นระยะๆ ก่อนไฟล์ใหม่ รุ่นของแอปเพื่อให้แอปและแบ็กเอนด์การกำหนดค่าระยะไกลยังคงอยู่ การซิงค์
หากต้องการดาวน์โหลดไฟล์ที่มีค่าเริ่มต้นของเทมเพลต ให้ทำดังนี้
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
- ในแท็บพารามิเตอร์ เปิด เมนู และเลือก ดาวน์โหลดค่าเริ่มต้น
- เมื่อได้รับแจ้ง ให้คลิกปุ่มตัวเลือกที่ตรงกับไฟล์นั้น ที่ต้องการดาวน์โหลด จากนั้นคลิกดาวน์โหลดไฟล์
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการนำเข้าค่าเริ่มต้นของการกำหนดค่าระยะไกลไปยัง โปรดดูที่