אתה יכול להפעיל פונקציה בתגובה לאירועי Firebase Remote Config , כולל פרסום של גרסת תצורה חדשה או חזרה לגרסה ישנה יותר. מדריך זה מתאר כיצד ליצור פונקציית רקע של תצורה מרחוק המבצעת הבדל של שתי גרסאות תבנית.
הפעל פונקציית Config מרחוק
כדי להפעיל פונקציה של Remote Config, השתמש במטפל onUpdate
המסופק על ידי functions.remoteConfig
. האובייקט 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
כדי ליצור את ה-diff ולבנות את הבקשה לקבל את אובייקט התבנית. לדוגמא המשלבת את לוגיקה של לקוח Config מרחוק וכן הודעות בענן Firebase, ראה הפצת עדכוני Config מרחוק בזמן אמת .