Google is committed to advancing racial equity for Black communities. See how.
Diese Seite wurde von der Cloud Translation API übersetzt.
Switch to English

Remote-Konfigurationsvorlagen und Versionierung

Die Remote Config-Vorlage ist der serverseitige Satz von JSON-formatierten Parametern und Bedingungen, die Sie für Ihr Firebase-Projekt erstellt haben. Sie können die Vorlage mithilfe der Firebase-Konsole ändern und verwalten, die den Inhalt der Vorlage in grafischem Format auf den Registerkarten Parameter und Bedingungen anzeigt. Sie können auch die Remote Config-Backend-APIs oder die Firebase-CLI verwenden , um Ihre Konfiguration zu ändern und zu verwalten.

Hier ist ein Beispiel für eine Vorlagendatei:

  {
    "conditions": [
      {
        "name": "ios",
        "expression": "device.os == 'ios'"
      }
    ],
    "parameters": {
      "welcome_message": {
        "defaultValue": {
          "value": "Welcome to this sample app"
        },
        "conditionalValues": {
          "ios": {
            "value": "Welcome to this sample iOS app"
          }
        }
      },
      "welcome_message_caps": {
        "defaultValue": {
          "value": "false"
        }
      },
      "header_text": {
        "defaultValue": {
          "useInAppDefault": true
        }
      }
    },
    "version": {
      "versionNumber": "28",
      "updateTime": "2020-05-14T18:39:38.994Z",
      "updateUser": {
        "email": "user@google.com"
      },
      "updateOrigin": "CONSOLE",
      "updateType": "INCREMENTAL_UPDATE"
    }
  }

Jedes Mal, wenn Sie Parameter aktualisieren, erstellt Remote Config eine neue versionierte Remote Config-Vorlage und speichert die vorherige Vorlage als Version, die Sie bei Bedarf abrufen oder zurücksetzen können. Die Versionsnummern werden nacheinander von dem in Remote Config gespeicherten Anfangswert erhöht. Alle Vorlagen enthalten wie gezeigt ein version , das Metadaten zu dieser bestimmten Version enthält.

Mit der Firebase-Konsole, der Firebase-CLI oder den Remote Config-Backend-APIs können Sie folgende Versionsverwaltungsaufgaben ausführen:

  • Listen Sie alle gespeicherten Vorlagenversionen auf
  • Rufen Sie eine bestimmte Version ab
  • Rollback auf eine bestimmte Version

Beachten Sie beim Verwalten von Remotekonfigurationsvorlagen den Ablaufschwellenwert: 90 Tage ab Erstellungszeit oder ein Gesamtlimit von 300 gespeicherten Versionen. Wenn Sie eine Vorlage außerhalb dieser Grenzen speichern oder auf diese zurücksetzen möchten, speichern und speichern Sie sie manuell. Die derzeit von Ihrer App verwendete aktive Remote-Konfigurationsvorlage läuft nicht ab. Wenn es jedoch über 90 Tage seit der Erstellung aktiv war und durch ein Update ersetzt wurde, kann es (aufgrund des Ablaufs) nicht erneut abgerufen werden.

Verwalten von Remote Config-Vorlagenversionen

In diesem Abschnitt wird beschrieben, wie Sie Versionen Ihrer Remote Config-Vorlage verwalten. Weitere Informationen zum programmgesteuerten Erstellen, Ändern und Speichern von Vorlagen finden Sie unter Programmgesteuertes Ändern der Remote-Konfiguration .

Listen Sie alle gespeicherten Versionen der Remote Config-Vorlage auf

Sie können eine Liste aller gespeicherten Versionen der Remote Config-Vorlage abrufen. Zum Beispiel:

Node.js

function listAllVersions() {
  admin.remoteConfig().listVersions()
    .then((listVersionsResult) => {
      console.log("Successfully fetched the list of versions");
      listVersionsResult.versions.forEach((version) => {
        console.log('version', JSON.stringify(version));
      });
    })
    .catch((error) => {
      console.log(error);
    });
}

Java

ListVersionsPage page = FirebaseRemoteConfig.getInstance().listVersionsAsync().get();
while (page != null) {
  for (Version version : page.getValues()) {
    System.out.println("Version: " + version.getVersionNumber());
  }
  page = page.getNextPage();
}

// Iterate through all versions. This will still retrieve versions in batches.
page = FirebaseRemoteConfig.getInstance().listVersionsAsync().get();
for (Version version : page.iterateAll()) {
  System.out.println("Version: " + version.getVersionNumber());
}

SICH AUSRUHEN

curl --compressed -D headers -H "Authorization: Bearer <var>token</var>" -X GET https://firebaseremoteconfig.googleapis.com/v1/projects/<var>my-project-id</var>:listVersions

Firebase-Konsole

Wählen Sie auf der Registerkarte Parameter das oben rechts angezeigte Symbol "Uhr" aus. Dadurch wird die Seite Änderungsverlauf geöffnet, auf der alle gespeicherten Vorlagenversionen in einem Listenmenü auf der rechten Seite aufgelistet sind.

Zu den für jede gespeicherte Version angezeigten Details gehören Informationen darüber, ob die Änderungen von der Konsole, von der REST-API, von einem Rollback stammen oder ob es sich um inkrementelle Änderungen von einem erzwungenen Speichern der Vorlage handelt.

Firebase CLI

firebase remoteconfig:versions:list

Verwenden Sie die Option --limit , um die Anzahl der zurückgegebenen Versionen zu begrenzen. Übergeben Sie '0', um alle Versionen abzurufen.

Die Liste der Vorlagen enthält Metadaten für alle gespeicherten Versionen, einschließlich des Zeitpunkts des Updates, des Benutzers, der es erstellt hat, und ob es über die Konsole oder die REST-API erstellt wurde. Hier ist ein Beispiel für ein Versionselement:

{
  "versions": [{
    "version_number": "6",
    "update_time": "2018-05-12T02:38:54Z",
    "update_user": {
      "email": "jane@developer.org",
    },
    "description": "One small change on the console",
    "origin": "CONSOLE",
    "update_type": "INCREMENTAL_UPDATE"
  }]

Rufen Sie eine bestimmte Version der Remote Config-Vorlage ab

Sie können jede bestimmte gespeicherte Version der Remote Config-Vorlage abrufen. Zum Beispiel:

Node.js

getTemplate() ohne Argumente, um die neueste Version der Vorlage abzurufen, oder verwenden Sie getTemplateAtVersion() , um eine bestimmte Version getTemplateAtVersion() .

// Get template version: 6
admin.remoteConfig().getTemplateAtVersion('6')
  .then((template) => {
    console.log("Successfully fetched the template with ETag: " + template.etag);
  })
  .catch((error) => {
    console.log(error);
  });

Java

Template template = FirebaseRemoteConfig.getInstance().getTemplateAtVersionAsync(versionNumber).get();
// See the ETag of the fetched template.
System.out.println("Successfully fetched the template with ETag: " + template.getETag());

SICH AUSRUHEN

curl --compressed -D headers -H "Authorization: Bearer <var>token</var>" -X GET https://firebaseremoteconfig.googleapis.com/v1/projects/<var>my-project-id</var>/remoteConfig?version_number=6</pre>

Der URL-Parameter ?version_number ist nur für GET Operationen gültig. Sie können damit keine Versionsnummern für Updates angeben. Eine ähnliche ?version_number ohne den Parameter ?version_number würde die aktuell aktive Vorlage abrufen.

Firebase-Konsole

Standardmäßig wird im Detailbereich auf der Registerkarte Änderungsverlauf die aktuell aktive Vorlage angezeigt. Um Details für eine andere Version in der Liste anzuzeigen, wählen Sie diese aus dem rechten Menü aus.

Sie können einen detaillierten Unterschied der aktuell ausgewählten Version und jeder anderen gespeicherten Version anzeigen, indem Sie den Mauszeiger über das Kontextmenü für eine nicht ausgewählte Version bewegen und Mit ausgewählter Version vergleichen auswählen.

Firebase CLI

firebase remoteconfig:get -v VERSION_NUMBER

Optional können Sie die Ausgabe mit -o, FILENAME in eine angegebene Datei -o, FILENAME .

Führen Sie einen Rollback zu einer bestimmten gespeicherten Version der Remote Config-Vorlage durch

Sie können zu jeder gespeicherten Version der Vorlage zurückkehren. Zum Beispiel:

Node.js

// Roll back to template version: 6
admin.remoteConfig().rollback('6')
  .then((template) => {
    console.log("Successfully rolled back to template version 6.");
    console.log("New ETag: " + template.etag);
  })
  .catch((error) => {
    console.log('Error trying to rollback:', e);
  })

Java

try {
  Template template = FirebaseRemoteConfig.getInstance().rollbackAsync(versionNumber).get();
  System.out.println("Successfully rolled back to template version: " + versionNumber);
  System.out.println("New ETag: " + template.getETag());
} catch (ExecutionException e) {
  if (e.getCause() instanceof FirebaseRemoteConfigException) {
    FirebaseRemoteConfigException rcError = (FirebaseRemoteConfigException) e.getCause();
    System.out.println("Error trying to rollback template.");
    System.out.println(rcError.getMessage());
  }
}

SICH AUSRUHEN

Geben Sie zum :rollback auf eine gespeicherte Remotekonfigurationsvorlage einen HTTP-POST mit der benutzerdefinierten Methode :rollback und im Anforderungshauptteil die anzuwendende spezifische Version aus. Zum Beispiel:

curl --compressed -D headers -H "Authorization: Bearer <var>token</var>" -X POST https://firebaseremoteconfig.googleapis.com/v1/projects/<var>my-project-id</var>/remoteConfig:rollback -d '{"version_number": 6}'</pre>

Die Antwort enthält den Inhalt der jetzt aktiven gespeicherten Vorlage mit ihren neuen Versionsmetadaten.

Firebase-Konsole

Bei früheren Vorlagenversionen, für die ein Rollback möglich ist, wird oben rechts auf der Seite "Verlauf ändern" ein Optionsfeld zum Zurücksetzen auf diese Version angezeigt. Klicken Sie auf und bestätigen Sie dies nur, wenn Sie sicher sind, dass Sie auf diese Version zurücksetzen und diese Werte sofort für alle Apps und Benutzer verwenden möchten.

Firebase CLI

firebase remoteconfig:rollback -v VERSION_NUMBER

Beachten Sie, dass durch diesen Rollback-Vorgang effektiv eine neue nummerierte Version erstellt wird. Wenn Sie beispielsweise von Version 10 auf Version 6 zurücksetzen, wird effektiv eine neue Kopie von Version 6 erstellt, die sich vom Original nur dadurch unterscheidet, dass die Versionsnummer 11 lautet. Die ursprüngliche Version 6 wird weiterhin gespeichert, sofern sie nicht abgelaufen ist Version 11 wird zur aktiven Vorlage.