获取我们在 Firebase 峰会上发布的所有信息,了解 Firebase 可如何帮助您加快应用开发速度并满怀信心地运行应用。了解详情

Desencadenadores de configuración remota

Puede activar una función en respuesta a eventos 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. Esta guía describe cómo crear una función de fondo de Remote Config que realiza una diferencia de dos versiones de plantilla.

Activar una función de configuración remota

Para activar una función de configuración remota, use el controlador onUpdate proporcionado por functions.remoteConfig . El objeto TemplateVersion devuelto por 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 puede recuperar el correo electrónico del usuario que realizó la actualización, con nombre y una imagen si está disponible.

Aquí hay un ejemplo de una función de configuración remota que devuelve una diferencia de cada versión actualizada y la versión que reemplazó. La función versionNumber el campo número de versión del objeto de plantilla y recupera la versión actual (actualizada recientemente) junto con la versión un número inferior:

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

Esta muestra usa los módulos json-diff y request-promise para crear la diferencia y compilar la solicitud para obtener el objeto de plantilla. Para obtener una muestra que incorpora la lógica del cliente de Remote Config, así como Firebase Cloud Messaging, consulte Propagación de actualizaciones de Remote Config en tiempo real .

,

Puede activar una función en respuesta a eventos 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. Esta guía describe cómo crear una función de fondo de Remote Config que realiza una diferencia de dos versiones de plantilla.

Activar una función de configuración remota

Para activar una función de configuración remota, use el controlador onUpdate proporcionado por functions.remoteConfig . El objeto TemplateVersion devuelto por 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 puede recuperar el correo electrónico del usuario que realizó la actualización, con nombre y una imagen si está disponible.

Aquí hay un ejemplo de una función de configuración remota que devuelve una diferencia de cada versión actualizada y la versión que reemplazó. La función versionNumber el campo número de versión del objeto de plantilla y recupera la versión actual (actualizada recientemente) junto con la versión un número inferior:

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

Esta muestra usa los módulos json-diff y request-promise para crear la diferencia y compilar la solicitud para obtener el objeto de plantilla. Para obtener una muestra que incorpora la lógica del cliente de Remote Config, así como Firebase Cloud Messaging, consulte Propagación de actualizaciones de Remote Config en tiempo real .