Vous pouvez déclencher une fonction en réponse à Firebase Remote Config événements, y compris la publication d'une nouvelle version de configuration ou la restauration d'une version antérieure. Ce guide explique comment créer une fonction d'arrière-plan Remote Config qui effectue une comparaison de deux versions de modèle.
Déclencher une fonction Remote Config
Pour définir un gestionnaire d'événements Remote Config, utilisez la
functions.remoteConfig
fonction onUpdate() du module.
L'TemplateVersion objet renvoyé par
onUpdate contient les champs de métadonnées clés
pour une mise à jour de modèle, tels que le numéro de version et l'heure de la mise à jour.
Vous pouvez également récupérer l'adresse e-mail de l'utilisateur qui a effectué la mise à jour, avec son nom
et une image, le cas échéant.
Voici un exemple de fonction Remote Config qui
renvoie une comparaison de chaque version mise à jour et de la version qu'elle a remplacée. La fonction
examine le champ versionNumber de l'objet modèle et récupère la
version actuelle (nouvellement mise à jour) ainsi que la version précédente :
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; }); });
Cet exemple utilise les json-diff et
request-promise modules pour
créer la comparaison et générer la requête permettant d'obtenir l'objet modèle. Pour obtenir un exemple
qui intègre la logique du client Remote Config ainsi que Firebase Cloud Messaging,
consultez Propager les mises à jour Remote Config en temps réel.