Remote Config-Trigger

Sie können eine Funktion als Reaktion auslösen Firebase Fern Config Ereignisse, einschließlich der Veröffentlichung einer neuen Config - Version oder dem Zurückkehren zu einer älteren Version. In dieser Anleitung wird beschrieben, wie Sie eine Remote Config-Hintergrundfunktion erstellen, die einen Unterschied zwischen zwei Vorlagenversionen ausführt.

Auslösen einer Remote Config-Funktion

Um eine Remote - Config - Funktion auslösen, verwenden Sie die onUpdate Handler bereitgestellt durch functions.remoteConfig . Das TemplateVersion Objekt zurückgegeben von onUpdate enthält die wichtigsten Metadatenfelder für eine Vorlage Update wie die Versionsnummer und die Uhrzeit der Aktualisierung. Sie können auch die E-Mail des Benutzers abrufen, der die Aktualisierung vorgenommen hat, mit Namen und einem Bild, falls verfügbar.

Hier ist ein Beispiel für eine Remote Config-Funktion, die einen Diff jeder aktualisierten Version und der ersetzten Version zurückgibt. Die Funktion überprüft die versionNumber Feld des Template - Objekt und ruft die aktuelle (neu aktualisierten) Version zusammen mit der Version eine Nummer reduzieren:

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

In diesem Beispiel wird den json-diff und request-promise Module das Diff und baut die Anforderung erstellen , um das Template - Objekt zu erhalten. Für eine Probe , die Remote - Config - Client - Logik sowie Firebase Cloud Messaging finden Sie enthält Propagieren Fern Config - Updates in Echtzeit .