Firebase is back at Google I/O on May 10! Register now

Uzak Yapılandırma tetikleyicileri

Koleksiyonlar ile düzeninizi koruyun İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.

Yeni bir yapılandırma sürümünün yayınlanması veya daha eski bir sürüme geri alma da dahil olmak üzere, Firebase Remote Config olaylarına yanıt olarak bir işlevi tetikleyebilirsiniz. Bu kılavuz, iki şablon sürümünün farkını gerçekleştiren bir Remote Config arka plan işlevinin nasıl oluşturulacağını açıklar.

Bir Remote Config işlevini tetikleyin

Bir Remote Config işlevini tetiklemek için, functions.remoteConfig tarafından sağlanan onUpdate işleyicisini kullanın. onUpdate tarafından döndürülen TemplateVersion nesnesi, sürüm numarası ve güncellemenin zamanı gibi bir şablon güncellemesi için anahtar meta veri alanlarını içerir. Güncellemeyi yapan kullanıcının e-postasını, varsa adını ve resmini de alabilirsiniz.

Burada, güncellenen her sürümün ve değiştirdiği sürümün farkını döndüren bir Remote Config işlevi örneği verilmiştir. İşlev, şablon nesnesinin versionNumber alanını inceler ve geçerli (yeni güncellenen) sürümü, bir numaralı sürümle birlikte alır:

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

Bu örnek, diff'i oluşturmak ve şablon nesnesini alma isteğini oluşturmak için json-diff ve request-promise modüllerini kullanır. Remote Config istemci mantığını ve Firebase Cloud Messaging'i içeren bir örnek için bkz . Remote Config güncellemelerini gerçek zamanlı olarak yay .