เทมเพลตการกำหนดค่าระยะไกลคือชุดพารามิเตอร์และเงื่อนไขรูปแบบ JSON ฝั่งเซิร์ฟเวอร์ที่คุณสร้างขึ้นสำหรับโปรเจ็กต์ Firebase คุณสามารถแก้ไขและจัดการเทมเพลตได้โดยใช้คอนโซล Firebase ซึ่งแสดงเนื้อหาของเทมเพลตในรูปแบบกราฟิกในแท็บ พารามิเตอร์ และ เงื่อนไข คุณยังสามารถใช้ API แบ็กเอนด์การกำหนดค่าระยะไกล หรือ Firebase CLI เพื่อแก้ไขและจัดการการกำหนดค่าของคุณ
นี่คือตัวอย่างไฟล์เทมเพลต:
{
"conditions": [
{
"name": "ios",
"expression": "device.os == 'ios'"
}
],
"parameters": {
"welcome_message": {
"defaultValue": {
"value": "Welcome to this sample app"
},
"conditionalValues": {
"ios": {
"value": "Welcome to this sample iOS app"
}
}
},
"welcome_message_caps": {
"defaultValue": {
"value": "false"
}
},
"header_text": {
"defaultValue": {
"useInAppDefault": true
}
}
},
"version": {
"versionNumber": "28",
"updateTime": "2020-05-14T18:39:38.994Z",
"updateUser": {
"email": "user@google.com"
},
"updateOrigin": "CONSOLE",
"updateType": "INCREMENTAL_UPDATE"
}
}
แต่ละครั้งที่คุณอัปเดตพารามิเตอร์ Remote Config จะสร้างเทมเพลต Remote Config เวอร์ชันใหม่และจัดเก็บเทมเพลตก่อนหน้าเป็นเวอร์ชันที่คุณสามารถดึงหรือย้อนกลับได้ตามต้องการ หมายเลขเวอร์ชันจะเพิ่มขึ้นตามลำดับจากค่าเริ่มต้นที่จัดเก็บโดย Remote Config เทมเพลตทั้งหมดมีช่อง version
ตามที่แสดง ซึ่งมีข้อมูลเมตาเกี่ยวกับเวอร์ชันเฉพาะนั้น
ด้วยคอนโซล Firebase, Firebase CLI หรือ API แบ็กเอนด์การกำหนดค่าระยะไกล คุณจะทำงานการจัดการเวอร์ชันเหล่านี้ได้
- แสดงรายการเวอร์ชันเทมเพลตที่เก็บไว้ทั้งหมด
- ดึงข้อมูลเฉพาะรุ่น
- ย้อนกลับเป็นเวอร์ชันเฉพาะ
เมื่อคุณจัดการเทมเพลต Remote Config ให้คำนึงถึงเกณฑ์การหมดอายุ: เทมเพลตการกำหนดค่าระยะไกลที่ใช้งานอยู่ในปัจจุบันที่แอปของคุณใช้อยู่ ไม่มี วันหมดอายุ อย่างไรก็ตาม หากมีการแทนที่ด้วยการอัปเดต เวอร์ชันก่อนหน้าจะถูกเก็บไว้เพียง 90 วันเท่านั้น หลังจากนั้นจะหมดอายุและไม่สามารถเรียกคืนได้ นอกจากนี้ยังมีขีดจำกัดทั้งหมด 300 เวอร์ชันที่เก็บไว้ หากคุณต้องการจัดเก็บหรือย้อนกลับเป็นเทมเพลตนอกขีดจำกัดดังกล่าว ให้บันทึกและจัดเก็บด้วยตนเอง
จัดการเวอร์ชันเทมเพลตการกำหนดค่าระยะไกล
ส่วนนี้อธิบายวิธีจัดการเวอร์ชันของเทมเพลตการกำหนดค่าระยะไกลของคุณ สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับวิธีการสร้าง ปรับเปลี่ยน และบันทึกแม่แบบโดยทางโปรแกรม โปรดดู ที่ แก้ไขการกำหนดค่าระยะไกลโดยทางโปรแกรม
แสดงรายการเทมเพลตการกำหนดค่าระยะไกลรุ่นที่เก็บไว้ทั้งหมด
คุณสามารถเรียกดูรายการของเทมเพลตการกำหนดค่าระยะไกลเวอร์ชันที่เก็บไว้ทั้งหมดได้ ตัวอย่างเช่น:
โหนด 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);
});
}
ชวา
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()); }
พักผ่อน
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
คอนโซล Firebase
ในแท็บ พารามิเตอร์ เลือกไอคอน "นาฬิกา" ที่แสดงที่ด้านบนขวา ซึ่งจะเปิดหน้า ประวัติการเปลี่ยนแปลง ที่แสดงเวอร์ชันเทมเพลตที่จัดเก็บทั้งหมดในเมนูรายการทางด้านขวา
รายละเอียดที่แสดงสำหรับแต่ละเวอร์ชันที่เก็บไว้ประกอบด้วยข้อมูลว่าการเปลี่ยนแปลงเกิดขึ้นจาก Console, ด้วย REST API, จากการย้อนกลับ หรือไม่ว่าจะเป็นการเปลี่ยนแปลงที่เพิ่มขึ้นจากการบังคับบันทึกของเทมเพลต
Firebase CLI
firebase remoteconfig:versions:list
ใช้ตัวเลือก --limit
เพื่อจำกัดจำนวนเวอร์ชันที่ส่งคืน ผ่าน '0' เพื่อดึงข้อมูลทุกเวอร์ชัน
รายการเทมเพลตประกอบด้วยข้อมูลเมตาสำหรับเวอร์ชันที่เก็บไว้ทั้งหมด รวมถึงเวลาของการอัปเดต ผู้ใช้ที่สร้าง และไม่ว่าจะสร้างผ่านคอนโซลหรือ REST API นี่คือตัวอย่างขององค์ประกอบเวอร์ชัน:
{
"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"
}]
ดึงแม่แบบการกำหนดค่าระยะไกลเฉพาะรุ่น
คุณสามารถเรียกคืนเทมเพลตการกำหนดค่าระยะไกลเวอร์ชันใดเวอร์ชันหนึ่งโดยเฉพาะได้ ตัวอย่างเช่น:
โหนด 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);
});
ชวา
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());
พักผ่อน
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:get -v VERSION_NUMBER
คุณสามารถเขียนเอาต์พุตไปยังไฟล์ที่ระบุด้วย -o, FILENAME
ย้อนกลับเป็นเวอร์ชันเฉพาะของเทมเพลตการกำหนดค่าระยะไกลที่เก็บไว้
คุณสามารถย้อนกลับไปใช้เทมเพลตเวอร์ชันใดก็ได้ที่เก็บไว้ ตัวอย่างเช่น:
โหนด 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);
})
ชวา
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()); } }
พักผ่อน
หากต้องการย้อนกลับเป็นเทมเพลตการกำหนดค่าระยะไกลที่เก็บไว้ ให้ออก 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}'
การตอบสนองประกอบด้วยเนื้อหาของเทมเพลตที่เก็บไว้ที่ใช้งานอยู่ในขณะนี้ พร้อมด้วยข้อมูลเมตาเวอร์ชันใหม่
คอนโซล Firebase
สำหรับเทมเพลตเวอร์ชันก่อนหน้าที่มีสิทธิ์ย้อนกลับ ปุ่มตัวเลือกเพื่อย้อนกลับเป็นเวอร์ชันนั้นจะแสดงที่ด้านบนขวาของหน้า ประวัติการเปลี่ยนแปลง คลิกและยืนยันสิ่งนี้เฉพาะในกรณีที่คุณแน่ใจว่าต้องการย้อนกลับเป็นเวอร์ชันนั้นและใช้ค่าเหล่านั้น ทันที สำหรับแอปและผู้ใช้ทั้งหมด
Firebase CLI
firebase remoteconfig:rollback -v VERSION_NUMBER
โปรดทราบว่าการดำเนินการย้อนกลับนี้จะสร้างเวอร์ชันที่มีหมายเลขใหม่ได้อย่างมีประสิทธิภาพ ตัวอย่างเช่น การย้อนกลับจากเวอร์ชัน 10 เป็นเวอร์ชัน 6 จะสร้างสำเนาใหม่ของเวอร์ชัน 6 ได้อย่างมีประสิทธิภาพ ซึ่งแตกต่างจากต้นฉบับตรงที่หมายเลขเวอร์ชันคือ 11 เท่านั้น เวอร์ชันดั้งเดิม 6 จะยังคงเก็บไว้ โดยถือว่ายังไม่ถึงวันหมดอายุ และ เวอร์ชัน 11 กลายเป็นเทมเพลตที่ใช้งานอยู่
ดาวน์โหลดและเผยแพร่เทมเพลตการกำหนดค่าระยะไกล
ดาวน์โหลดและเผยแพร่เทมเพลตการกำหนดค่าระยะไกลเพื่อรวมเข้ากับการควบคุมต้นทางและสร้างระบบ อัปเดตการกำหนดค่าอัตโนมัติ และซิงค์พารามิเตอร์และค่าต่างๆ ในโครงการต่างๆ
คุณสามารถดาวน์โหลดเทมเพลตการกำหนดค่าระยะไกลที่ใช้งานอยู่ในปัจจุบันโดยทางโปรแกรมหรือจากคอนโซล Firebase จากนั้น คุณสามารถอัปเดตไฟล์ JSON ที่ส่งออกและเผยแพร่ไปยังโครงการเดียวกัน หรือเผยแพร่ไปยังโครงการใหม่หรือโครงการที่มีอยู่
สมมติว่าคุณมีหลายโครงการที่แสดงถึงขั้นตอนต่างๆ ของวงจรการพัฒนาซอฟต์แวร์ของคุณ เช่น สภาพแวดล้อมการพัฒนา การทดสอบ การจัดเตรียม และการผลิต ในกรณีนี้ คุณสามารถเลื่อนระดับแม่แบบที่ผ่านการทดสอบอย่างสมบูรณ์จากสภาพแวดล้อมการจัดเตรียมของคุณไปยังสภาพแวดล้อมการผลิตของคุณโดยการดาวน์โหลดจากโครงการการจัดเตรียมและเผยแพร่ไปยังโครงการการผลิตของคุณ
คุณยังสามารถใช้วิธีนี้เพื่อโยกย้ายการกำหนดค่าจากโครงการหนึ่งไปยังอีกโครงการหนึ่ง หรือเติมข้อมูลโครงการใหม่ด้วยพารามิเตอร์และค่าจากโครงการที่สร้างไว้แล้ว
พารามิเตอร์และค่าพารามิเตอร์ที่สร้างขึ้นโดยเฉพาะเป็นตัวแปรในการทดสอบ A/B Testing จะไม่รวมอยู่ในเทมเพลตที่ส่งออก
หากต้องการส่งออกและนำเข้าเทมเพลตการกำหนดค่าระยะไกล:
- ดาวน์โหลดเทมเพลตการกำหนดค่า Remote Config ปัจจุบัน
- ตรวจสอบความถูกต้องของเทมเพลตการกำหนดค่าระยะไกล
- เผยแพร่เทมเพลตการกำหนดค่าระยะไกล
ดาวน์โหลดเทมเพลตการกำหนดค่าระยะไกลปัจจุบัน
คุณสามารถดาวน์โหลดเทมเพลตการกำหนดค่าระยะไกลปัจจุบันและที่ใช้งานอยู่โดยทางโปรแกรม หรือใช้คอนโซล Firebase
ใช้คำสั่งต่อไปนี้เพื่อดาวน์โหลดเทมเพลตการกำหนดค่าระยะไกลที่ใช้งานอยู่ในรูปแบบ JSON:
โหนด 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); }); }
ชวา
Template template = FirebaseRemoteConfig.getInstance().getTemplateAsync().get(); // See the ETag of the fetched template. System.out.println("ETag from server: " + template.getETag());
พักผ่อน
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
- จาก แท็บพารามิเตอร์หรือเงื่อนไขการกำหนดค่าระยะไกล ให้เปิด เมนู แล้วเลือก ดาวน์โหลดไฟล์กำหนดค่าปัจจุบัน
- เมื่อได้รับแจ้ง ให้คลิก ดาวน์โหลดไฟล์กำหนดค่า เลือกตำแหน่งที่คุณต้องการบันทึกไฟล์ จากนั้นคลิก บันทึก
Firebase CLI
firebase remoteconfig:get -o filename
ตรวจสอบเทมเพลตการกำหนดค่าระยะไกล
คุณตรวจสอบการอัปเดตเทมเพลตได้ก่อนที่จะเผยแพร่โดยใช้ Firebase Admin SDK หรือ REST API เทมเพลตจะได้รับการตรวจสอบเมื่อคุณพยายามเผยแพร่จากคอนโซล Firebase CLI หรือ Firebase
กระบวนการตรวจสอบเทมเพลตจะตรวจสอบข้อผิดพลาด เช่น คีย์ซ้ำสำหรับพารามิเตอร์และเงื่อนไข ชื่อเงื่อนไขไม่ถูกต้องหรือไม่มีเงื่อนไข หรือ ETag ที่จัดรูปแบบไม่ถูกต้อง ตัวอย่างเช่น คำขอที่มีคีย์มากกว่าจำนวนที่อนุญาต - 2000 จะส่งกลับข้อความแสดงข้อผิดพลาด Param count too large
โหนด 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); }); }
ชวา
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()); } }
พักผ่อน
ตรวจสอบการอัปเดตเทมเพลตโดยเพิ่มพารามิเตอร์ 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 และเผยแพร่ พารามิเตอร์นั้นจะถูกลบออกจากเซิร์ฟเวอร์และไม่สามารถใช้ได้กับไคลเอ็นต์อีกต่อไป
หลังจากเผยแพร่ การเปลี่ยนแปลงพารามิเตอร์และค่าจะพร้อมใช้งาน ทันที สำหรับแอปและผู้ใช้ของคุณ หากจำเป็น คุณสามารถ ย้อนกลับเป็นเวอร์ชันก่อนหน้า
ใช้คำสั่งต่อไปนี้เพื่อเผยแพร่เทมเพลตของคุณ:
โหนด 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); }); }
ชวา
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()); } }
พักผ่อน
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
นี้ คุณสามารถระบุเนื้อหาได้โดยใช้อักขระ "@" ตามด้วยชื่อไฟล์
คอนโซล Firebase
- จากแท็บ พารามิเตอร์หรือเงื่อนไขการกำหนดค่าระยะไกล ให้เปิด เมนู และเลือก เผยแพร่จากไฟล์
- เมื่อได้รับแจ้ง ให้คลิก เรียกดู นำทาง และเลือกไฟล์การกำหนดค่าระยะไกลที่คุณต้องการเผยแพร่ จากนั้นคลิก เลือก
- ไฟล์จะได้รับการตรวจสอบ และถ้าสำเร็จ คุณสามารถคลิก เผยแพร่ เพื่อให้การกำหนดค่าพร้อมใช้งานทันทีสำหรับแอปและผู้ใช้ของคุณ
การกำหนดค่าส่วนบุคคลและเงื่อนไขของการกำหนดค่าระยะไกลจะรวมอยู่ในเทมเพลตที่ดาวน์โหลด ดังนั้นสิ่งสำคัญคือต้องตระหนักถึงข้อจำกัดต่อไปนี้เมื่อพยายามเผยแพร่ไปยังโครงการอื่น:
ไม่สามารถนำเข้าการกำหนดค่าส่วนบุคคลจากโครงการหนึ่งไปยังอีกโครงการหนึ่ง
ตัวอย่างเช่น หากคุณเปิดใช้การกำหนดค่าส่วนบุคคลในโครงการของคุณ และดาวน์โหลดและแก้ไขเทมเพลต คุณสามารถเผยแพร่ไปยังโครงการเดียวกันได้ แต่คุณไม่สามารถเผยแพร่ไปยังโครงการอื่นได้ เว้นแต่คุณจะลบการกำหนดค่าส่วนบุคคลออกจากเทมเพลต
สามารถนำเข้าเงื่อนไขจากโครงการหนึ่งไปยังอีกโครงการหนึ่งได้ แต่โปรดทราบว่าค่าเงื่อนไขเฉพาะใดๆ (เช่น ID แอปหรือผู้ชม) ควรมีอยู่ในโครงการเป้าหมายก่อนที่จะเผยแพร่
ตัวอย่างเช่น หากคุณมีพารามิเตอร์ Remote Config ที่ใช้เงื่อนไขที่ระบุค่าแพลตฟอร์มของ
iOS
เทมเพลตนั้นสามารถเผยแพร่ไปยังโครงการอื่นได้ เนื่องจากค่าแพลตฟอร์มจะเหมือนกันสำหรับทุกโครงการ อย่างไรก็ตาม หากมีเงื่อนไขที่อาศัย ID แอปหรือผู้ชมผู้ใช้เฉพาะที่ไม่มีอยู่ในโปรเจ็กต์เป้าหมาย การตรวจสอบจะล้มเหลวหากเทมเพลตที่คุณวางแผนจะเผยแพร่มีเงื่อนไขที่ใช้ Google Analytics จะต้องเปิดใช้ Analytics ในโครงการเป้าหมาย
ดาวน์โหลดค่าเริ่มต้นของเทมเพลตการกำหนดค่าระยะไกล
เนื่องจากแอปของคุณอาจไม่ได้เชื่อมต่อกับอินเทอร์เน็ตตลอดเวลา คุณควรกำหนดค่าเริ่มต้นของแอปฝั่งไคลเอ็นต์สำหรับพารามิเตอร์การกำหนดค่าระยะไกลทั้งหมด นอกจากนี้ คุณควรซิงโครไนซ์ค่าเริ่มต้นของไคลเอ็นต์แอปและค่าพารามิเตอร์เริ่มต้นของแบ็กเอนด์การกำหนดค่าระยะไกลเป็นระยะๆ ด้วย เนื่องจากอาจมีการเปลี่ยนแปลงเมื่อเวลาผ่านไป
ตามที่อธิบายไว้ในลิงก์เฉพาะแพลตฟอร์มที่ส่วนท้ายของส่วนนี้ คุณสามารถตั้งค่าเริ่มต้นเหล่านี้ในแอปของคุณด้วยตนเอง หรือคุณสามารถปรับปรุงกระบวนการนี้ได้โดยดาวน์โหลดไฟล์ที่มี เฉพาะ คู่คีย์-ค่าสำหรับพารามิเตอร์ทั้งหมดและค่าเริ่มต้นใน เทมเพลตการกำหนดค่าระยะไกลที่ใช้งานอยู่ จากนั้น คุณสามารถรวมไฟล์นี้ในโครงการของคุณและกำหนดค่าแอปของคุณเพื่อนำเข้าค่าเหล่านี้
คุณสามารถดาวน์โหลดไฟล์เหล่านี้ในรูปแบบ XML สำหรับแอป Android รูปแบบรายการคุณสมบัติ (plist) สำหรับแอป iOS และ JSON สำหรับเว็บแอป
เราขอแนะนำให้ดาวน์โหลดค่าเริ่มต้นของการกำหนดค่าระยะไกลเป็นระยะๆ ก่อนการเปิดตัวแอปใหม่ เพื่อให้แน่ใจว่าแอปของคุณและแบ็กเอนด์การกำหนดค่าระยะไกลซิงค์กัน
ในการดาวน์โหลดไฟล์ที่มีค่าเริ่มต้นของเทมเพลต:
พักผ่อน
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
- ในแท็บ Parameters ให้เปิด เมนู แล้วเลือก Download default defaults
- เมื่อได้รับแจ้ง ให้คลิกปุ่มตัวเลือกที่ตรงกับรูปแบบไฟล์ที่คุณต้องการดาวน์โหลด จากนั้นคลิก ดาวน์โหลดไฟล์
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการนำเข้าค่าเริ่มต้นการกำหนดค่าระยะไกลไปยังแอปของคุณ โปรดดู: