Możesz aktywować funkcję w odpowiedzi na zdarzenia Firebase Remote Config, w tym opublikowanie nowej wersji konfiguracji lub przywrócenie starszej wersji. Z tego przewodnika dowiesz się, jak utworzyć funkcję działającą w tle Remote Config, która porównuje 2 wersje szablonu.
Aktywowanie funkcji Zdalnej konfiguracji
Aby zdefiniować moduł obsługi zdarzeń Remote Config, użyj funkcji onUpdate() modułu functions.remoteConfig.
Obiekt TemplateVersion zwracany przez onUpdate zawiera kluczowe pola metadanych dotyczące aktualizacji szablonu, takie jak numer wersji i czas aktualizacji.
Możesz też pobrać adres e-mail użytkownika, który dokonał aktualizacji, wraz z nazwą i obrazem, jeśli są dostępne.
Oto przykład funkcji Remote Config, która zwraca różnicę między każdą zaktualizowaną wersją a wersją, którą zastąpiła. Funkcja sprawdza pole versionNumber obiektu szablonu i pobiera bieżącą (nowo zaktualizowaną) wersję wraz z wersją o numerze o 1 niższym:
exports.showConfigDiff = functions.remoteConfig.onUpdate(versionMetadata => { return 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óżnicy i żądania pobrania obiektu szablonu. Przykładowy kod, który zawiera logikę klienta Remote Config i Firebase Cloud Messaging, znajdziesz w artykule Propagowanie aktualizacji Zdalnej konfiguracji w czasie rzeczywistym.