Możesz aktywować funkcję w odpowiedzi na Firebase Remote Config zdarzenia, 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óry obsługuje różnice w 2 wersjach szablonu.
Aktywowanie funkcji Remote Config
Moduł obsługi zdarzeń Remote Config możesz zdefiniować za pomocą
functions.remoteConfig
.
funkcji onUpdate()
modułu.
Obiekt TemplateVersion
zwrócony przez
onUpdate
zawiera kluczowe metadane
związane z aktualizacją szablonu, takie jak numer wersji i godzina aktualizacji.
Możesz też pobrać e-maila z nazwą użytkownika, który wprowadził aktualizację.
i obraz, jeśli jest dostępny.
Oto przykład funkcji Remote Config, która
zwraca różnice dla każdej zaktualizowanej wersji i wersji, która została zastąpiona. Funkcja
sprawdza pole versionNumber
obiektu szablonu i pobiera pole
bieżąca (nowo zaktualizowana) wersja razem z wersją o numerze niższą niż wersja 1:
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 json-diff
oraz
request-promise
modułów do
utworzyć różnice i stworzyć żądanie pobrania obiektu szablonu. Przykład
który obejmuje logikę klienta Remote Config oraz Firebase Cloud Messaging,
przeczytaj artykuł Rozpowszechnianie aktualizacji Zdalnej konfiguracji w czasie rzeczywistym.