Remote Config คือชุดพารามิเตอร์และเงื่อนไขที่จัดรูปแบบ JSON ซึ่งคุณสร้างขึ้นสําหรับโปรเจ็กต์ Firebase คุณสร้างเทมเพลตไคลเอ็นต์ซึ่งแอปจะดึงค่าจากเทมเพลตนี้ และเทมเพลตเซิร์ฟเวอร์ซึ่งไคลเอ็นต์เซิร์ฟเวอร์จะดึงค่าจากเทมเพลตนี้ได้
ส่วนนี้จะอธิบายเทมเพลตที่กำหนดเอง หากต้องการดูข้อมูลเกี่ยวกับเทมเพลต เฉพาะเซิร์ฟเวอร์ ให้คลิก เทมเพลตเซิร์ฟเวอร์คุณแก้ไขและจัดการเทมเพลตได้โดยใช้Firebaseคอนโซล ซึ่งจะแสดง เนื้อหาของเทมเพลตในรูปแบบกราฟิกใน พารามิเตอร์และ แท็บเงื่อนไข
นอกจากนี้ คุณยังใช้ REST API และ Admin SDK หรือ Firebase CLI เพื่อแก้ไขและจัดการ เทมเพลตไคลเอ็นต์ได้ด้วยRemote Config
ตัวอย่างไฟล์เทมเพลตเซิร์ฟเวอร์มีดังนี้
{
"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 คอนโซล
โดยค่าเริ่มต้น แผงรายละเอียดในแท็บประวัติการเปลี่ยนแปลง จะแสดงเทมเพลตที่ใช้งานอยู่ในปัจจุบัน หากต้องการดูรายละเอียดของเวอร์ชันอื่นในรายการ ให้เลือกเวอร์ชันนั้นจากเมนูด้านขวา
คุณดูความแตกต่างโดยละเอียดของเวอร์ชันที่เลือกอยู่ในปัจจุบันและเวอร์ชันอื่นๆ ที่จัดเก็บไว้ได้โดยวางเมาส์เหนือเมนูบริบทของเวอร์ชันที่ไม่ได้เลือก แล้วเลือกเปรียบเทียบกับเวอร์ชันที่เลือก
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 คอนโซล
สำหรับเทมเพลตเวอร์ชันก่อนหน้าที่มีสิทธิ์ย้อนกลับ ปุ่มตัวเลือกเพื่อย้อนกลับไปยังเวอร์ชันนั้นจะแสดงที่ด้านขวาบนของหน้าประวัติการเปลี่ยนแปลง คลิกและยืนยันเฉพาะในกรณีที่คุณแน่ใจว่าต้องการย้อนกลับไปใช้เวอร์ชันนั้น และใช้ค่าเหล่านั้นทันทีสำหรับแอปและผู้ใช้ทั้งหมด
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
หากต้องการย้อนกลับไปใช้เทมเพลต 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 พารามิเตอร์ ให้คลิก ประวัติการเปลี่ยนแปลงสลับไปที่เทมเพลตที่ต้องการลบ คลิก
เพิ่มเติม แล้วเลือกลบเมื่อได้รับแจ้งให้ยืนยันการลบ ให้คลิกลบ
ดาวน์โหลดและเผยแพร่เทมเพลต Remote Config
ดาวน์โหลดและเผยแพร่เทมเพลต Remote Config เพื่อผสานรวมเข้ากับ การควบคุมแหล่งที่มาและระบบบิลด์ อัปเดตการกำหนดค่าโดยอัตโนมัติ และซิงค์พารามิเตอร์ และค่าในหลายโปรเจ็กต์
คุณสามารถดาวน์โหลดRemote Configเทมเพลต จากคอนโซล Firebase ได้ จากนั้นคุณจะอัปเดต ไฟล์ JSON ที่ส่งออกและเผยแพร่ไปยังโปรเจ็กต์เดียวกัน หรือเผยแพร่ไปยังโปรเจ็กต์ใหม่หรือ โปรเจ็กต์ที่มีอยู่ก็ได้
สมมติว่าคุณมีหลายโปรเจ็กต์ที่แสดงถึงขั้นตอนต่างๆ ของวงจรการพัฒนาซอฟต์แวร์ เช่น สภาพแวดล้อมการพัฒนา การทดสอบ การจัดเตรียม และการใช้งานจริง ในกรณีนี้ คุณสามารถโปรโมตเทมเพลตที่ผ่านการทดสอบอย่างเต็มรูปแบบจากสภาพแวดล้อม การจัดเตรียมไปยังสภาพแวดล้อมการใช้งานจริงได้โดยดาวน์โหลดจากโปรเจ็กต์ การจัดเตรียมและเผยแพร่ไปยังโปรเจ็กต์การใช้งานจริง
นอกจากนี้ คุณยังใช้วิธีนี้เพื่อย้ายข้อมูลการกำหนดค่าจากโปรเจ็กต์หนึ่งไปยังอีกโปรเจ็กต์หนึ่ง หรือป้อนข้อมูลพารามิเตอร์และค่าจากโปรเจ็กต์ที่มีอยู่ไปยังโปรเจ็กต์ใหม่ได้ด้วย
พารามิเตอร์และค่าพารามิเตอร์ที่สร้างขึ้นเป็นตัวแปรโดยเฉพาะในการทดสอบ A/B Testing จะไม่รวมอยู่ในเทมเพลตที่ส่งออก
วิธีส่งออกและนำเข้าRemote Configเทมเพลต
- ดาวน์โหลดRemote Configเทมเพลตการกำหนดค่าปัจจุบัน
- ตรวจสอบRemote Configเทมเพลต
- เผยแพร่Remote Configเทมเพลต
ดาวน์โหลดเทมเพลตการกำหนดค่าระยะไกลปัจจุบัน
ใช้ข้อมูลต่อไปนี้เพื่อดาวน์โหลดเทมเพลตRemote Configที่ใช้งานอยู่ ในรูปแบบ JSON
Firebase คอนโซล
- จากแท็บRemote Configพารามิเตอร์หรือเงื่อนไข ให้เปิด เมนู แล้ว เลือกดาวน์โหลดไฟล์กำหนดค่าปัจจุบัน
- เมื่อมีข้อความแจ้ง ให้คลิกดาวน์โหลดไฟล์กำหนดค่า เลือกตำแหน่งที่ต้องการบันทึกไฟล์ แล้วคลิกบันทึก
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 ที่จัดรูปแบบไม่ถูกต้อง ตัวอย่างเช่น คำขอที่มีคีย์มากกว่าจำนวนที่อนุญาต ซึ่งก็คือ 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 ที่คุณส่ง และในไฟล์ headers
ที่บันทึกไว้ คุณจะเห็นสถานะ HTTP/2 200 และ ETag ที่อัปเดตแล้วพร้อมด้วยคำต่อท้าย -0
หากเทมเพลต
ไม่ได้รับการตรวจสอบ คุณจะได้รับข้อผิดพลาดในการตรวจสอบในการตอบสนอง
JSON และไฟล์ headers
จะมีการตอบสนองที่ไม่ใช่ 200
(และไม่มี ETag)
เผยแพร่เทมเพลต Remote Config
หลังจากดาวน์โหลดเทมเพลต ทำการเปลี่ยนแปลงที่จำเป็นกับเนื้อหา JSON และ ตรวจสอบแล้ว คุณจะเผยแพร่เทมเพลตไปยังโปรเจ็กต์ได้
การเผยแพร่เทมเพลตจะแทนที่เทมเพลตการกำหนดค่าที่มีอยู่ทั้งหมดด้วยไฟล์ที่อัปเดตแล้ว และเพิ่มเวอร์ชันเทมเพลตขึ้น 1 เนื่องจากระบบจะแทนที่การกำหนดค่าทั้งหมด หากคุณลบพารามิเตอร์ออกจากไฟล์ 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ค่าเริ่มต้นไปยังแอป ได้ที่