คุณสามารถทริกเกอร์ฟังก์ชันเพื่อตอบสนองต่อ Firebase Remote Config กิจกรรม รวมถึง การเผยแพร่เวอร์ชันการกำหนดค่าใหม่หรือการย้อนกลับไปยังเวอร์ชันเก่า คำแนะนำนี้จะอธิบายวิธีสร้างฟังก์ชันพื้นหลังของ Remote Config ที่สร้างความแตกต่างของเทมเพลต 2 เวอร์ชัน
ทริกเกอร์ฟังก์ชัน Remote Config
หากต้องการกำหนดเครื่องจัดการสำหรับเหตุการณ์ Remote Config ให้ใช้
functions.remoteConfig
ฟังก์ชัน onUpdate()
ของโมดูล
ออบเจ็กต์ TemplateVersion
แสดงผลโดย
onUpdate
มีข้อมูลเมตาคีย์
สำหรับการอัปเดตเทมเพลต เช่น หมายเลขเวอร์ชันและเวลาของการอัปเดต
คุณสามารถเรียกอีเมลของผู้ใช้ที่อัปเดต โดยใช้ชื่อ
และรูปภาพ (หากมี)
นี่คือตัวอย่างของฟังก์ชัน Remote Config ที่
จะแสดงความแตกต่างของเวอร์ชันที่อัปเดตแต่ละเวอร์ชันและเวอร์ชันที่ถูกแทนที่ ฟังก์ชัน
ตรวจสอบช่อง 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
โมดูลเพื่อ
สร้างความแตกต่างและสร้างคำขอเพื่อรับออบเจ็กต์เทมเพลต ดูตัวอย่าง
ที่รวมตรรกะไคลเอ็นต์ Remote Config และ Firebase Cloud Messaging
ดูเผยแพร่การอัปเดตการกำหนดค่าระยะไกลแบบเรียลไทม์