הגדרות תצורה מרחוק מפעילות

אתה יכול להפעיל פונקציה בתגובה Config מרחוק Firebase אירועים, כולל פרסום גרסה תצורה חדשה או החזרה לגרסה ישנה יותר. מדריך זה מתאר כיצד ליצור פונקציית רקע של Config Remote שמבצעת שונות של שתי גרסאות תבנית.

הפעלת פונקציית Config Remote

כדי להפעיל פונקציה Config מרחוק, להשתמש onUpdate המטפל שמספקת functions.remoteConfig . TemplateVersion האובייקט שמחזיר onUpdate מכיל את שדות metadata מפתח עבור עדכון תבנית כגון מספר הגרסה והשעה של העדכון. תוכל גם לאחזר את הודעת הדוא"ל של המשתמש שביצע את העדכון, עם שם ותמונה אם זמין.

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