คุณสามารถทริกเกอร์ฟังก์ชันเพื่อตอบสนองต่อ เหตุการณ์การกำหนดค่าระยะไกลของ Firebase ซึ่งได้แก่ การเผยแพร่เวอร์ชันการกำหนดค่าใหม่หรือการย้อนกลับไปยังเวอร์ชันเก่า คำแนะนำนี้จะอธิบายวิธีสร้างฟังก์ชันพื้นหลังของการกำหนดค่าระยะไกล ที่สร้างความแตกต่างของเทมเพลต 2 เวอร์ชัน
ทริกเกอร์ฟังก์ชันการกำหนดค่าระยะไกล
หากต้องการกำหนดเครื่องจัดการสำหรับกิจกรรมการกำหนดค่าระยะไกล ให้ใช้พารามิเตอร์
functions.remoteConfig
ฟังก์ชัน onUpdate()
ของโมดูล
ออบเจ็กต์ TemplateVersion
แสดงผลโดย
onUpdate
มีข้อมูลเมตาคีย์
สำหรับการอัปเดตเทมเพลต เช่น หมายเลขเวอร์ชันและเวลาของการอัปเดต
คุณสามารถเรียกอีเมลของผู้ใช้ที่อัปเดต โดยใช้ชื่อ
และรูปภาพ (หากมี)
ตัวอย่างฟังก์ชันการกำหนดค่าระยะไกล
จะแสดงความแตกต่างของเวอร์ชันที่อัปเดตแต่ละเวอร์ชันและเวอร์ชันที่ถูกแทนที่ ฟังก์ชัน
ตรวจสอบช่อง versionNumber
ของออบเจ็กต์เทมเพลตและเรียกฟังก์ชัน
เวอร์ชันปัจจุบัน (เวอร์ชันปรับปรุงใหม่) พร้อมกับเวอร์ชันหนึ่งที่ต่ำกว่า:
exports.showConfigDiff = functions.remoteConfig.onUpdate(versionMetadata => { return admin.credential.applicationDefault().getAccessToken() .then(accessTokenObj => { return accessTokenObj.access_token; }) .then(accessToken => { const currentVersion = versionMetadata.versionNumber; const templatePromises = []; templatePromises.push(getTemplate(currentVersion, accessToken)); templatePromises.push(getTemplate(currentVersion - 1, accessToken)); return Promise.all(templatePromises); }) .then(results => { const currentTemplate = results[0]; const previousTemplate = results[1]; const diff = jsonDiff.diffString(previousTemplate, currentTemplate); functions.logger.log(diff); return null; }).catch(error => { functions.logger.error(error); return null; }); });
ตัวอย่างนี้ใช้json-diff
และ
request-promise
โมดูลเพื่อ
สร้างความแตกต่างและสร้างคำขอเพื่อรับออบเจ็กต์เทมเพลต ดูตัวอย่าง
ซึ่งรวมตรรกะของไคลเอ็นต์การกำหนดค่าระยะไกล
และการรับส่งข้อความในระบบคลาวด์ของ Firebase
ดูเผยแพร่การอัปเดตการกำหนดค่าระยะไกลแบบเรียลไทม์