Wyzwalacze Zdalnej konfiguracji


Możesz aktywować funkcję w odpowiedzi na zdarzenia Zdalnej konfiguracji Firebase, w tym na opublikowanie nowej wersji konfiguracji lub przywrócenie starszej wersji. Z tego przewodnika dowiesz się, jak utworzyć funkcję działającą w tle Zdalnej konfiguracji, która odróżnia 2 wersje szablonu.

Aktywowanie funkcji Zdalnej konfiguracji

Aby zdefiniować moduł obsługi zdarzeń Zdalnej konfiguracji, użyj funkcji onUpdate() modułu functions.remoteConfig. Obiekt TemplateVersion zwrócony przez onUpdate zawiera pola najważniejszych metadanych aktualizacji szablonu, takie jak numer wersji i godzina aktualizacji. Możesz też pobrać e-maila użytkownika, który wprowadził aktualizację, wraz z jego nazwą i obrazem, jeśli jest dostępny.

Oto przykład funkcji Zdalnej konfiguracji, która zwraca różnice między każdą zaktualizowaną wersją a zastąpioną wersją. Funkcja bada pole versionNumber obiektu szablonu i pobiera aktualną (nowo zaktualizowaną) wersję razem z wersją o numerze 1 niższą:

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;
    });
});

W tym przykładzie użyto modułów json-diff i request-promise do utworzenia różnic i utworzenia żądania pobrania obiektu szablonu. Przykład, który obejmuje logikę klienta Zdalnej konfiguracji oraz Komunikację w chmurze Firebase (FCM)), znajdziesz w artykule Propagowanie aktualizacji Zdalnej konfiguracji w czasie rzeczywistym.