Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

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 .