Confira tudo que foi anunciado no Firebase Summit e veja como usar o Firebase para acelerar o desenvolvimento de apps e executar os aplicativos com confiança. Saiba mais

Acionadores do Configuração remota

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

Você pode acionar uma função em resposta a eventos do Firebase Remote Config , incluindo a publicação de uma nova versão de configuração ou a reversão para uma versão mais antiga. Este guia descreve como criar uma função em segundo plano do Configuração remota que executa uma diferença de duas versões de modelo.

Acionar uma função de configuração remota

Para acionar uma função do Remote Config, use o manipulador onUpdate fornecido por functions.remoteConfig . O objeto TemplateVersion retornado por onUpdate contém os principais campos de metadados para uma atualização de modelo, como o número da versão e a hora da atualização. Você também pode recuperar o e-mail do usuário que fez a atualização, com nome e imagem, se disponível.

Aqui está um exemplo de uma função Remote Config que retorna um diff de cada versão atualizada e a versão que ela substituiu. A função examina o campo versionNumber do objeto de modelo e recupera a versão atual (recentemente atualizada) junto com a versão um número abaixo:

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 amostra usa os módulos json-diff e request-promise para criar o diff e construir a solicitação para obter o objeto de modelo. Para obter uma amostra que incorpora a lógica do cliente do Configuração remota, bem como o Firebase Cloud Messaging, consulte Propagar atualizações do Configuração remota em tempo real .