Remote Config-Vorlagen sind JSON-formatierte Parameter und Bedingungen, die Sie für Ihr Firebase-Projekt erstellt haben. Sie können Clientvorlagen erstellen, aus denen Ihre App Werte abrufen kann, und Servervorlagen, aus denen Serverclients Werte abrufen können.
In diesem Abschnitt werden Client-Vorlagen erläutert. Informationen zu serverspezifischen Vorlagen finden Sie unter Servervorlagen.Sie ändern und verwalten die Vorlage mit der Firebase-Konsole, in der den Inhalt der Vorlage im grafischen Format im Tab Parameter und Bedingungen
Sie können auch die die Remote Config REST API und das Admin SDK oder die Firebase-Befehlszeile verwenden, um Ihre Einstellungen für Client-Vorlage.
Hier sehen Sie ein Beispiel für eine Server-Vorlagedatei:
{
"parameters": {
"preamble_prompt": {
"defaultValue": {
"value": "You are a helpful assistant who knows everything there is to know about Firebase! "
},
"description": "Add this prompt to the user's prompt",
"valueType": "STRING"
},
"model_name": {
"defaultValue": {
"value": "gemini-pro-test"
},
"valueType": "STRING"
},
"generation_config": {
"defaultValue": {
"value": "{\"temperature\": 0.9, \"maxOutputTokens\": 2048, \"topP\": 0.9, \"topK\": 20}"
},
"valueType": "JSON"
},
},
"version": {
"versionNumber": "19",
"isLegacy": true
}
}
Sie können die folgenden Versionsverwaltungsaufgaben mit der Firebase-Konsole ausführen:
- Alle gespeicherten Vorlagenversionen auflisten
- Bestimmte Version abrufen
- Rollback auf eine bestimmte Clientversion durchführen
- Löschen Sie Remote Config Vorlagen aus der Änderung Verlauf Seite
Es gibt ein Gesamtlimit von 300 gespeicherten Versionen pro Vorlagentyp. (300 Client-Vorlagen und 300 Servervorlagen), einschließlich der gespeicherten Versionsnummern für gelöschte Vorlagen. Wenn Sie mehr als 300 Vorlagenversionen pro Vorlagentyp während der Lebensdauer eines Projekts, früheste Versionen werden gelöscht, wobei maximal 300 Versionen der für diesen Typ.
Jedes Mal, wenn Sie Parameter aktualisieren, erstellt Remote Config einen
neue versionierte Vorlage Remote Config und speichert die vorherige Vorlage als
eine Version, die Sie bei Bedarf abrufen oder zu der Sie ein Rollback durchführen können. Versionsnummern
werden sequentiell ausgehend vom Anfangswert erhöht, der von Remote Config gespeichert wird.
Alle Vorlagen enthalten wie gezeigt das Feld version
mit Metadaten dazu.
bestimmte Version.
Sie können Remote Config Vorlage nach Bedarf aus dem Änderungsverlauf Seite an der Remote Config-Konsole.
Remote Config Vorlagenversionen verwalten
In diesem Abschnitt wird beschrieben, wie du Versionen deiner Remote Config verwalten kannst Vorlage.
Alle gespeicherten Versionen der Vorlage Remote Config auflisten
Sie können eine Liste aller alle gespeicherten Versionen der Vorlage Remote Config. Vorgehensweise:
Firebase-Konsole
Wählen Sie auf dem Tab Parameter oben rechts das Uhrensymbol aus. Dadurch wird die Änderungsverlauf Seite mit allen gespeicherten Vorlagenversionen rechts in einem Listenmenü.
Für jede gespeicherte Version wird angegeben, die von der Console, mit der REST API, von einem Rollback stammen, oder ob es sich um inkrementelle Änderungen handelt, die durch ein erzwungenes Speichern der Vorlage
Firebase CLI
firebase remoteconfig:versions:list
Mit der Option --limit
können Sie die Anzahl der zurückgegebenen Versionen begrenzen.
Übergeben Sie "0" um alle Versionen abzurufen.
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()); }
REST
curl --compressed -D headers -H "Authorization: Bearer <var>token</var>" -X GET https://firebaseremoteconfig.googleapis.com/v1/projects/<var>my-project-id</var>/remoteConfig:listVersions
Die Liste der Vorlagen enthält Metadaten für alle gespeicherten Versionen, einschließlich der Zeitpunkt des Updates, wer es vorgenommen hat und wie es erstellt wurde. Hier ist eine Beispiel für ein Versionselement:
```json
{
"versions": [{
"version_number": "6",
"update_time": "2022-05-12T02:38:54Z",
"update_user": {
"name": "Jane Smith",
"email": "jane@developer.org",
"imageUrl": "https://lh3.googleusercontent.com/a-/..."
},
"description": "One small change on the console",
"origin": "CONSOLE",
"update_type": "INCREMENTAL_UPDATE"
}]
}
```
Eine bestimmte Version der Vorlage Remote Config abrufen
Sie können eine bestimmte gespeicherte Version der Remote Config-Vorlage abrufen. So rufen Sie eine gespeicherte Vorlage ab: Version:
Firebase-Konsole
Im Detailbereich auf dem Tab Änderungsverlauf wird standardmäßig die aktuell aktive Vorlage angezeigt. Zum Ansehen für eine andere Version in der Liste, wählen Sie sie im rechten Menü aus.
Sie können sich detaillierte Unterschiede zwischen der aktuell ausgewählten Version und jeder anderen gespeicherte Version aufrufen, indem Sie den Mauszeiger auf das Kontextmenü für eine nicht ausgewählte Version bewegen und wählen Sie Mit ausgewählter Version vergleichen aus.
Firebase CLI
firebase remoteconfig:get -v VERSION_NUMBER
Optional können Sie die Ausgabe mit -o, FILENAME
in eine angegebene Datei schreiben.
Node.js
Geben Sie getTemplate()
ohne Argumente an, um die neueste Version der Vorlage abzurufen. Verwenden Sie getTemplateAtVersion()
, um eine bestimmte Version abzurufen.
// 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());
REST
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
Der URL-Parameter ?version_number
ist nur für GET
-Vorgänge gültig. Sie können damit keine Versionsnummern für Updates angeben. Ein ähnliches Ergebnis
Anfrage ohne die ?version_number
-Parameter würde die aktuell aktive Vorlage abrufen.
Rollback auf eine bestimmte gespeicherte Version der Vorlage Remote Config durchführen
Sie können zu jedem gespeicherten Version der Vorlage. So führen Sie ein Rollback für eine Vorlage durch:
Firebase-Konsole
Bei früheren Vorlagenversionen, die für ein Rollback infrage kommen, wird rechts oben auf der Seite Änderungsverlauf eine Schaltfläche angezeigt, über die Sie zu dieser Version zurückkehren können. Bestätigen Sie diese Option nur, wenn Sie sicher sind, dass ein Rollback wirklich durchgeführt werden soll und verwenden Sie diese Werte sofort für alle Apps und Nutzer.
Firebase CLI
firebase remoteconfig:rollback -v VERSION_NUMBER
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()); } }
REST
Um zu einer gespeicherten Remote Config-Vorlage zurückzukehren, gib einen HTTP-POST-Befehl aus mit
die benutzerdefinierte Methode :rollback
und im Anfragetext die spezifische Version
zu beantragen. Beispiel:
curl --compressed -D headers -H "Authorization: Bearer <var>token</var>" -H "Content-Type: application/json" -X POST https://firebaseremoteconfig.googleapis.com/v1/projects/<var>my-project-id</var>/remoteConfig:rollback -d '{"version_number": 6}'
Die Antwort enthält den Inhalt der gespeicherten Vorlage, die nun aktiv ist, Metadaten der neuen Version.
Beachten Sie, dass durch diesen Rollback-Vorgang eine neue nummerierte Version erstellt wird. Beispiel: Ein Rollback von Version 10 auf Version 6 eine neue Kopie von Version 6 erstellt, nur dadurch, dass die Versionsnummer 11 ist. Die Originalversion 6 unter der Annahme, dass das Ablaufdatum noch nicht erreicht ist, und Version 11 wird zur aktiven Vorlage.
Remote Config-Vorlage löschen
Sie können Remote Config-Vorlagen über die Firebase-Konsole löschen. Bis Remote Config-Vorlage löschen:
1. Aus der Remote Config Parameter klicken Sie auf Änderungsverlauf:Wechseln Sie zu der Vorlage, die Sie löschen möchten, und klicken Sie auf
Mehr und dann Löschen.Wenn Sie dazu aufgefordert werden, den Löschvorgang zu bestätigen, klicken Sie auf Löschen.
Remote Config Vorlagen herunterladen und veröffentlichen
Laden Sie Remote Config Vorlagen herunter und veröffentlichen Sie sie, um sie in Ihr Versionsverwaltung nutzen und Systeme erstellen, Konfigurationsaktualisierungen automatisieren und Parameter beibehalten und Werte über mehrere Projekte hinweg zu synchronisieren.
Sie können die derzeit aktive Vorlage „Remote Config“ herunterladen über die Firebase-Konsole. Anschließend können Sie die exportierten JSON-Datei und veröffentlichen Sie sie im selben Projekt oder in einem neuen oder Projekt arbeiten.
Nehmen wir an, Sie haben mehrere Projekte, die verschiedene Phasen Ihres Softwareentwicklungszyklus wie Entwicklung, Test, Staging und Produktion Umgebungen. In diesem Fall können Sie eine vollständig getestete Vorlage aus Ihrem Staging-Umgebung in Ihre Produktionsumgebung übertragen, indem Sie sie von der und veröffentlichen Sie es in Ihrem Produktionsprojekt.
Sie können diese Methode auch verwenden, um Konfigurationen von einem Projekt zu oder ein neues Projekt mit Parametern und Werten eines Projekts erstellt.
Parameter und Parameterwerte, die speziell als Varianten in einem A/B Testing Test ist nicht in exportierten Vorlagen enthalten.
So exportieren und importieren Sie Remote Config Vorlagen:
- Laden Sie die aktuelle Remote Config-Konfigurationsvorlage herunter.
- Validiere die Vorlage Remote Config.
- Veröffentlichen Sie die Vorlage Remote Config.
Aktuelle Remote Config-Vorlage herunterladen
So laden Sie die aktive Vorlage Remote Config herunter: JSON-Format:
Firebase-Konsole
- Öffnen Sie auf dem Tab Remote Config Parameter oder Bedingungen das Dreipunkt-Menü und wählen Sie Aktuelle Konfigurationsdatei herunterladen aus.
- Wenn Sie dazu aufgefordert werden, klicken Sie auf Konfigurationsdatei herunterladen und wählen Sie den Speicherort aus. die Sie speichern möchten, und klicken Sie auf Speichern.
Firebase CLI
firebase remoteconfig:get -o filename
Node.js
function getTemplate() { var config = admin.remoteConfig(); config.getTemplate() .then(function (template) { console.log('ETag from server: ' + template.etag); var templateStr = JSON.stringify(template); fs.writeFileSync('config.json', templateStr); }) .catch(function (err) { console.error('Unable to get template'); console.error(err); }); }
Java
Template template = FirebaseRemoteConfig.getInstance().getTemplateAsync().get(); // See the ETag of the fetched template. System.out.println("ETag from server: " + template.getETag());
REST
curl --compressed -D headers -H "Authorization: Bearer token" -X GET https://firebaseremoteconfig.googleapis.com/v1/projects/my-project-id/remoteConfig -o filename
Dieser Befehl gibt die JSON-Nutzlast in eine Datei aus und die Header
(einschließlich des ETag) in eine separate headers
-Datei.
Remote Config-Vorlage validieren
Sie können Ihre Vorlagenaktualisierungen vor der Veröffentlichung validieren. Verwenden Sie dazu den Firebase Admin SDK oder die REST API verwenden. Vorlagen werden auch überprüft, wenn Sie versuchen, um über die Firebase-Befehlszeile oder die Firebase-Konsole zu veröffentlichen.Der Vorlagenvalidierungsprozess prüft auf Fehler, z. B. doppelte Schlüssel für
Parameter und Bedingungen, ungültige Bedingungsnamen oder nicht vorhandene Bedingungen oder
falsch formatierte ETags. Beispiel: Eine Anfrage mit mehr als den zulässigen
bei einer Anzahl von Schlüsseln (2.000) die Fehlermeldung Param count too
large
zurückgeben.
Node.js
function validateTemplate(template) { admin.remoteConfig().validateTemplate(template) .then(function (validatedTemplate) { // The template is valid and safe to use. console.log('Template was valid and safe to use'); }) .catch(function (err) { console.error('Template is invalid and cannot be published'); console.error(err); }); }
Java
try { Template validatedTemplate = FirebaseRemoteConfig.getInstance() .validateTemplateAsync(template).get(); System.out.println("Template was valid and safe to use"); } catch (ExecutionException e) { if (e.getCause() instanceof FirebaseRemoteConfigException) { FirebaseRemoteConfigException rcError = (FirebaseRemoteConfigException) e.getCause(); System.out.println("Template is invalid and cannot be published"); System.out.println(rcError.getMessage()); } }
REST
Vorlagenaktualisierungen durch Anfügen des URL-Parameters ?validate_only=true
validieren
zu Ihrer Veröffentlichungsanfrage hinzufügen:
curl --compressed -H "Content-Type: application/json; UTF8" -H "If-Match: last-returned-etag" -H "Authorization: Bearer token" -X PUT https://firebaseremoteconfig.googleapis.com/v1/projects/my-project-id/remoteConfig?validate_only=true -d @filename
Wenn Ihre Vorlage erfolgreich validiert wurde, gibt der curl-Befehl den Fehlerwert
JSON-Vorlage, die Sie eingereicht haben. In der gespeicherten Datei headers
finden Sie
HTTP/2-Status 200 und ein aktualisiertes ETag mit dem Suffix -0
. Wenn Ihre Vorlage nicht validiert wurde, erhalten Sie den Validierungsfehler in der JSON-Antwort und Ihre headers
-Datei enthält eine Antwort, die nicht 200 ist (und kein ETag).
Vorlage „Remote Config“ veröffentlichen
Nehmen Sie nach dem Herunterladen einer Vorlage alle erforderlichen Änderungen am JSON-Inhalt vor und können Sie sie in einem Projekt veröffentlichen.
Beim Veröffentlichen einer Vorlage wird die gesamte vorhandene Konfigurationsvorlage durch die aktualisierte Datei und erhöht die Vorlagenversion um eins. Da die gesamte Konfiguration ersetzt werden, wenn Sie einen Parameter aus der JSON-Datei löschen und veröffentlichen, wird der Parameter vom Server gelöscht und ist nicht mehr verfügbar für die Kundschaft.
Nach der Veröffentlichung sind Änderungen an Parametern und Werten sofort verfügbar für Ihre Apps und Nutzer. Bei Bedarf können Sie Rollback auf eine frühere Version durchführen.
Verwenden Sie die folgenden Befehle, um Ihre Vorlage zu veröffentlichen:
Firebase-Konsole
- Wählen Sie im Remote Config-Parameter oder Bedingungen öffnen Sie das Menü, und wählen Sie Aus einer Datei veröffentlichen aus.
- Wenn Sie dazu aufgefordert werden, klicken Sie auf Durchsuchen, gehen Sie zum Remote Config Datei, die Sie veröffentlichen möchten, und klicken Sie dann auf Auswählen.
- Die Datei wird überprüft. Wenn der Vorgang erfolgreich war, klicken Sie auf Klicken Sie auf Veröffentlichen, um die Konfiguration sofort für Ihr Konto verfügbar zu machen. Apps und Nutzer.
Node.js
function publishTemplate() { var config = admin.remoteConfig(); var template = config.createTemplateFromJSON( fs.readFileSync('config.json', 'UTF8')); config.publishTemplate(template) .then(function (updatedTemplate) { console.log('Template has been published'); console.log('ETag from server: ' + updatedTemplate.etag); }) .catch(function (err) { console.error('Unable to publish template.'); console.error(err); }); }
Java
try { Template publishedTemplate = FirebaseRemoteConfig.getInstance() .publishTemplateAsync(template).get(); System.out.println("Template has been published"); // See the ETag of the published template. System.out.println("ETag from server: " + publishedTemplate.getETag()); } catch (ExecutionException e) { if (e.getCause() instanceof FirebaseRemoteConfigException) { FirebaseRemoteConfigException rcError = (FirebaseRemoteConfigException) e.getCause(); System.out.println("Unable to publish template."); System.out.println(rcError.getMessage()); } }
REST
curl --compressed -H "Content-Type: application/json; UTF8" -H "If-Match: last-returned-etag" -H "Authorization: Bearer token" -X PUT https://firebaseremoteconfig.googleapis.com/v1/projects/my-project-id/remoteConfig -d @filename
Für diesen curl
-Befehl können Sie den Inhalt mit dem @-Zeichen angeben
gefolgt vom Dateinamen.
Remote Config Personalisierungen und Bedingungen sind enthalten in heruntergeladenen Vorlagen. Beachten Sie deshalb Folgendes: Einschränkungen beim Veröffentlichen in einem anderen Projekt:
Personalisierungen können nicht von einem Projekt in ein anderes importiert werden.
Wenn Sie beispielsweise in Ihrem Projekt Personalisierungen aktiviert haben und eine Vorlage herunterladen und bearbeiten, können Sie sie in demselben Projekt veröffentlichen. In einem anderen Projekt ist dies jedoch nur möglich, wenn Sie die Personalisierungen aus der Vorlage löschen.
Bedingungen können von einem Projekt in ein anderes importiert werden. Beachten Sie jedoch, dass alle spezifischen bedingten Werte (z. B. App-IDs oder Zielgruppen) vor der Veröffentlichung im Zielprojekt vorhanden sein müssen.
Wenn Sie beispielsweise einen Remote Config-Parameter mit einer Bedingung haben, die einen Plattformwert von
iOS
angibt, kann die Vorlage in einem anderen Projekt veröffentlicht werden, da die Plattformwerte für alle Projekte gleich sind. Wenn sie jedoch eine Bedingung enthält, die auf einer bestimmten App-ID oder einem Nutzer basiert, die im Zielprojekt nicht vorhanden ist, schlägt die Validierung fehl.Wenn die zu veröffentlichende Vorlage Bedingungen enthält, Google Analytics, Analytics muss im Ziel aktiviert sein Projekt arbeiten.
Standardvorlagen für Remote Config herunterladen
Da Ihre App möglicherweise nicht immer mit dem Internet verbunden ist, sollten Sie clientseitige Standardwerte für alle Remote Config-Parameter konfigurieren. Sie sollten auch den Standard-App-Client regelmäßig synchronisieren und Remote Config-Standardparameterwerten für das Back-End, da sie kann sich im Laufe der Zeit ändern.
Wie in den platformspezifischen Links am Ende dieses Abschnitts beschrieben, können Sie diese Standardwerte manuell in Ihrer App festlegen. Sie können diesen Vorgang auch vereinfachen, indem Sie Dateien herunterladen, die nur die Schlüssel/Wert-Paare für alle Parameter und ihre Standardwerte in der aktiven Remote Config-Vorlage enthalten. Anschließend können Sie Nehmen Sie diese Datei in Ihr Projekt auf und konfigurieren Sie Ihre App so, dass diese Werte importiert werden.
Sie können diese Dateien im XML-Format für Android-Apps, Eigenschaftenlistenformat (plist) für iOS-Apps und JSON für Web-Apps.
Wir empfehlen, Remote Config-Standardeinstellungen regelmäßig herunterzuladen, bevor neue App-Release, um dafür zu sorgen, dass deine App und das Remote Config-Backend im synchronisieren.
So laden Sie eine Datei herunter, die Standardvorlagen enthält:
REST
curl --compressed -D headers -H "Authorization: Bearer token -X GET https://firebaseremoteconfig.googleapis.com/v1/projects/my-project-id/remoteConfig:downloadDefaults?format=file_format'
Verwenden Sie XML
, PLIST
oder JSON
als format
-Wert, je nachdem, welches Dateiformat Sie herunterladen möchten.
Firebase-Konsole
- Gehen Sie auf dem Tab Parameter so vor: öffnen Sie das Menü und wählen Sie Standardwerte herunterladen
- Wenn Sie dazu aufgefordert werden, klicken Sie auf das Optionsfeld für die Datei. Format, das Sie herunterladen möchten, und klicken Sie dann auf Datei herunterladen.
Weitere Informationen zum Importieren von Remote Config-Standardwerten in Ihr App finden Sie unter:
Standardparameterwerte für In-App-Transaktionen für Android festlegen
Standardparameterwerte für In-App-Produkte für das Web festlegen