Check out what’s new from Firebase@ Google I/O 2021, and join our alpha program for early access to the new Remote Config personalization feature. Learn more

Uzak Yapılandırma tetikleyicileri

Yeni bir yapılandırma sürümünün yayınlanması veya eski bir sürüme geri dönüş 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 farklılığını gerçekleştiren bir Remote Config arka plan işlevinin nasıl oluşturulacağını açıklar.

Remote Config işlevini tetikleyin

Uzak Yapılandırma işlevini tetiklemek için kullanmak onUpdate tarafından sağlanan işleyici functions.remoteConfig . onUpdate tarafından döndürülen TemplateVersion nesnesi, güncellemenin sürüm numarası ve zamanı gibi bir şablon güncellemesi için anahtar meta veri alanlarını içerir. Ayrıca, güncellemeyi yapan kullanıcının e-postasını ad ve varsa bir resimle birlikte alabilirsiniz.

Burada, güncellenen her sürümün ve değiştirdiği sürümün bir farkını döndüren bir Remote Config işlevi örneği verilmiştir. İşlev, şablon nesnesinin versionNumber alanını inceler ve mevcut (yeni güncellenen) sürümü, bir alt 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, farkı oluşturmak ve şablon nesnesini almak için isteği 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 yayma .