Remote Config tetikleyicileri


Bir işlevi şuna yanıt olarak tetikleyebilirsiniz: Aşağıdakiler dahil Firebase Remote Config etkinlikleri yeni bir yapılandırma sürümünün yayınlanması veya eski sürüme geri dönmesi. Bu kılavuzda, Remote Config arka plan işlevinin nasıl oluşturulacağı açıklanmaktadır. arasında bir fark vardır.

Remote Config işlevini tetikleyin

Remote Config etkinlikleri için bir işleyici tanımlamak üzere functions.remoteConfig modülünün onUpdate() işlevine geçiş yapın. Döndürülen TemplateVersion nesnesi: onUpdate, anahtar meta verilerini içeriyor alanları oluşturabilirsiniz. Ayrıca, güncellemeyi yapan kullanıcının e-postasını, adıyla birlikte ve varsa bir resim.

Aşağıda, her güncellenmiş sürümün ve değiştirildiği sürümün farkını döndürür. İşlev şablon nesnesinin versionNumber alanını inceler ve bir numarası daha düşük olan mevcut (yeni güncellenmiş) sürümle birlikte:

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 örnekte json-diff ve request-promise modülünde farkı oluşturun ve şablon nesnesini almak için isteği oluşturun. Örnek için Firebase Cloud Messaging'in yanı sıra Remote Config istemci mantığını içeren Remote Config güncellemelerini gerçek zamanlı olarak yayma başlıklı makaleyi inceleyin.