Activadores de Remote Config

Puedes activar una función como respuesta a un evento de Firebase Remote Config, incluida la publicación de una nueva versión de configuración o la reversión a una versión anterior. En esta guía se describe cómo crear una función en segundo plano de Remote Config que ejecuta un comando diff de dos versiones de plantilla.

Cómo activar una función de Remote Config

Para activar una función de Remote Config, usa el controlador onUpdate que proporciona functions.remoteConfig. El objeto TemplateVersion que muestra onUpdate contiene los campos de metadatos clave para una actualización de plantilla, como el número de versión y la hora de la actualización. También se puede recuperar el correo electrónico del usuario que realizó la actualización, con un nombre y una imagen, si se encuentran disponibles.

Este es un ejemplo de una función Remote Config que muestra una diferencia de cada versión actualizada y la versión que reemplazó. La función examina el campo versionNumber del objeto de la plantilla y recupera la versión actual (actualizada recientemente) junto con la versión inmediatamente anterior:

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

      console.log(diff);

      return null;
    }).catch(error => {
      console.error(error);
      return null;
    });
});

En esta muestra, se usan los módulos json-diff y request-promise para crear la diferencia y compilar la solicitud con el fin de obtener el objeto de la plantilla. Para ver una muestra en la que se incorpora la lógica de cliente de Remote Config y Firebase Cloud Messaging, consulta Propaga actualizaciones de Remote Config en tiempo real.

Enviar comentarios sobre...

Si necesitas ayuda, visita nuestra página de asistencia.