Sie können Vorlagen sowohl für Client- als auch für Serveranwendungsfälle konfigurieren. Clientvorlagen werden für alle App-Instanzen bereitgestellt, in denen die Firebase-Client-SDKs für Remote Config implementiert sind, einschließlich Android-, Apple-, Web-, Unity-, Flutter- und C++-Apps. Remote Config-Parameter und -Werte aus serverspezifischen Vorlagen werden für Remote Config-Implementierungen (einschließlich Cloud Run und Cloud Functions) bereitgestellt, die die folgenden Serverumgebungen verwenden:
- Firebase Admin Node.js SDK v12.1.0 und höher
- Firebase Admin Python SDK v6.7.0 und höher
Wenn Sie die Firebase Console oder die Remote Config-Backend-APIs verwenden, definieren Sie einen oder mehrere Parameter (Schlüssel-Wert-Paare) und geben In-App-Standardwerte für diese Parameter an. Sie können In-App-Standardwerte überschreiben, indem Sie Parameterwerte definieren. Parameterschlüssel und ‑werte sind Strings, aber Parameterwerte können in andere Datentypen umgewandelt werden, wenn Sie diese Werte in Ihrer App verwenden.
Mit der Firebase-Konsole, Admin SDK oder der Remote Config REST API können Sie neue Standardwerte für Ihre Parameter sowie bedingte Werte erstellen, die für Gruppen von App-Instanzen verwendet werden. Jedes Mal, wenn Sie Ihre Konfiguration in der Firebase-Konsole aktualisieren, erstellt und veröffentlicht Firebase eine neue Version Ihrer Remote Config-Vorlage. Die vorherige Version wird gespeichert, sodass Sie sie bei Bedarf abrufen oder ein Rollback durchführen können. Diese Vorgänge sind in der Firebase-Konsole, der Firebase Admin SDK und der REST API verfügbar und werden ausführlicher unter Remote Config-Vorlagenversionen verwalten beschrieben.
In dieser Anleitung werden Parameter, Bedingungen, Regeln, bedingte Werte und die Priorisierung verschiedener Parameterwerte im Remote Config-Backend und in Ihrer App erläutert. Außerdem finden Sie hier Details zu den Arten von Regeln, die zum Erstellen von Bedingungen verwendet werden.
Bedingungen, Regeln und bedingte Werte
Mit einer Bedingung wird eine Gruppe von App-Instanzen als Ziel festgelegt. Bedingungen bestehen aus einer oder mehreren Regeln, die alle true
ergeben müssen, damit die Bedingung für eine bestimmte App-Instanz true
ergibt. Wenn der Wert für eine Regel nicht definiert ist (z. B. wenn kein Wert verfügbar ist), wird die Regel als false
ausgewertet.
Sie können beispielsweise einen Parameter erstellen, der den Namen und die Versions-String eines Large Language Model (LLM) definiert, und Antworten von verschiedenen Modellen basierend auf benutzerdefinierten Signalregeln bereitstellen. In diesem Anwendungsfall könnten Sie eine stabile Modellversion als Standardwert verwenden, um die meisten Anfragen zu bearbeiten, und das benutzerdefinierte Signal verwenden, um mit einem experimentellen Modell auf Anfragen von Testclients zu reagieren.
Ein Parameter kann mehrere bedingte Werte mit unterschiedlichen Bedingungen haben. Parameter können sich innerhalb eines Projekts Bedingungen teilen. Auf dem Tab „Parameter“ der Firebase-Konsole können Sie den Abrufprozentsatz für die bedingten Werte der einzelnen Parameter sehen. Dieser Messwert gibt den Prozentsatz der Anfragen in den letzten 24 Stunden an, die die einzelnen Werte erhalten haben.
Priorität von Parameterwerten
Wenn Sie Remote Config in Server-Apps mit Firebase Admin SDK verwenden, rufen Sie die gesamte Vorlage ab und laden sie, um für jede Clientanfrage bei Bedarf die entsprechenden Parameterwerte zu extrahieren. Einem Parameter können mehrere bedingte Werte zugeordnet sein.
Die folgenden Regeln bestimmen, welcher Wert während der Vorlagenauswertung zu einem bestimmten Zeitpunkt zugewiesen wird:
Zuerst werden bedingte Werte für alle Bedingungen angewendet, die für eine bestimmte Clientanfrage als
true
ausgewertet werden. Wenn mehrere Bedingungen alstrue
ausgewertet werden, hat die erste (oberste) Bedingung in der Firebase-Konsolen-UI Vorrang. Die bedingten Werte, die dieser Bedingung zugeordnet sind, werden bei der Auswertung der Vorlage bereitgestellt. Sie können die Priorität von Bedingungen ändern, indem Sie sie auf dem Tab Bedingungen per Drag-and-drop verschieben.Wenn es keine bedingten Werte mit Bedingungen gibt, die als
true
ausgewertet werden, wird der Standardwert von Remote Config bei der Vorlagenauswertung angegeben. Wenn ein Parameter in der Vorlage nicht vorhanden ist oder der Standardwert auf In-App-Standardwert verwenden festgelegt ist, wird bei der Auswertung der Vorlage kein Wert für diesen Parameter angegeben.
Weitere Informationen zum Laden und Auswerten von Remote Config-Vorlagen in Server-Apps finden Sie unter Remote Config in Serverumgebungen verwenden.
Datentypen für Parameterwerte
Mit Remote Config können Sie für jeden Parameter einen Datentyp auswählen und alle Remote Config-Werte vor einer Vorlagenaktualisierung anhand dieses Typs validieren. Der Datentyp wird bei einer getRemoteConfig
-Anfrage gespeichert und zurückgegeben.
Folgende Datentypen werden unterstützt:
String
Boolean
Number
JSON
In der Firebase-Konsolenoberfläche kann der Datentyp über ein Drop-down-Menü neben dem Parameterschlüssel ausgewählt werden. In der REST API können Typen mit dem Feld value_type
im Parameterobjekt festgelegt werden.
Parametergruppen
Mit Remote Config können Sie Parameter gruppieren, um die Benutzeroberfläche übersichtlicher zu gestalten und die Nutzerfreundlichkeit zu verbessern.
Angenommen, Sie müssen beim Einführen einer neuen Anmeldefunktion drei verschiedene Authentifizierungstypen aktivieren oder deaktivieren. Mit Remote Config können Sie die drei Parameter erstellen, um die gewünschten Typen zu aktivieren, und sie dann in einer Gruppe mit dem Namen „Neue Anmeldung“ organisieren, ohne Präfixe oder eine spezielle Sortierung hinzufügen zu müssen.
Sie können Parametergruppen mit der Firebase-Konsole oder der Remote Config REST API erstellen. Jede Parametergruppe, die Sie erstellen, hat einen eindeutigen Namen in Ihrer Remote Config-Vorlage. Beachten Sie beim Erstellen von Parametergruppen Folgendes:
- Parameter können jeweils nur in einer Gruppe enthalten sein und ein Parameterschlüssel muss weiterhin für alle Parameter eindeutig sein.
- Namen von Parametergruppen dürfen nicht länger als 256 Zeichen sein.
- Wenn Sie sowohl die REST API als auch die Firebase-Konsole verwenden, müssen Sie dafür sorgen, dass die REST API-Logik so aktualisiert wird, dass Parametergruppen bei der Veröffentlichung berücksichtigt werden.
Parametergruppen mit der Firebase-Konsole erstellen oder ändern
Sie können Parameter auf dem Tab Parameters der Firebase-Konsole gruppieren. So erstellen oder ändern Sie eine Gruppe:
- Wählen Sie Gruppen verwalten aus.
- Setzen Sie ein Häkchen bei den Parametern, die Sie hinzufügen möchten, und wählen Sie In Gruppe verschieben aus.
- Wählen Sie eine vorhandene Gruppe aus oder erstellen Sie eine neue Gruppe, indem Sie einen Namen und eine Beschreibung eingeben und Neue Gruppe erstellen auswählen. Nachdem Sie eine Gruppe gespeichert haben, können Sie sie mit der Schaltfläche Änderungen veröffentlichen veröffentlichen.
Regeltypen für Bedingungen
Remote Config-Vorlagen für Serveranwendungen unterstützen die folgenden Bedingungstypen:
Nutzer in zufälligem Prozentwert
Mit diesem Feld können Sie eine Änderung auf eine zufällige Stichprobe von App-Instanzen anwenden. Die Stichprobengröße kann bis zu 0,0001 % betragen. Mit dem Schieberegler-Widget können Sie zufällig ausgewählte Nutzer (App-Instanzen) in Gruppen segmentieren.
Jede App-Instanz wird dauerhaft einer zufälligen Ganz- oder Bruchzahl zugewiesen, die auf einem Seed basiert, der in diesem Projekt definiert ist.
Für eine Regel wird der Standardschlüssel verwendet (in der Firebase-Konsole als Ausgangswert bearbeiten angezeigt), sofern Sie den Ausgangswert nicht ändern. Sie können eine Regel wieder auf den Standardschlüssel zurücksetzen, indem Sie das Feld Seed leeren.
Wenn Sie innerhalb bestimmter Prozentbereiche immer dieselben App-Instanzen ansprechen möchten, verwenden Sie für alle Bedingungen denselben Seed-Wert. Alternativ können Sie eine neue zufällig zugewiesene Gruppe von App-Instanzen für einen bestimmten Prozentbereich auswählen, indem Sie einen neuen Seed angeben.
Wenn Sie beispielsweise zwei verknüpfte Bedingungen erstellen möchten, die jeweils auf 5% der Nutzer einer App angewendet werden, können Sie eine Bedingung so konfigurieren, dass sie mit einem Prozentsatz zwischen 0% und 5% übereinstimmt, und eine andere Bedingung so, dass sie mit einem Bereich zwischen 5% und 10 % übereinstimmt. Wenn einige Nutzer zufällig in beiden Gruppen erscheinen sollen, verwenden Sie für die Regeln in jeder Bedingung unterschiedliche Ausgangswerte.
Informationen zum Hinzufügen von Bedingungen mit zufälligem Prozentsatz zu Ihrer Anwendung finden Sie unter Serveranwendung konfigurieren.
Bedingungen für benutzerdefinierte Signale
Mit dem Firebase Admin Node.js SDK 12.5.0 und höher können Sie die bedingten Werte für benutzerdefinierte Signale verwenden, um beliebige Bedingungen abzugleichen, die Sie in Ihrer Anwendung definieren. So können Sie die Serverantwort für jede Clientanfrage anpassen.
Wenn Sie beispielsweise an einer Serveranwendung arbeiten, die generative KI verwendet, um Antworten mit verschiedenen Modellen zu erstellen, die für bestimmte Plattformen optimiert sind, können Sie Folgendes tun:
- Fügen Sie Ihrer Remote Config-Servervorlage die Parameter
prompt
undmodel_name
hinzu. - Fügen Sie für jede Plattform, auf die Sie ausgerichtet werden soll, benutzerdefinierte Signalbedingungen mit dem Wert
platform
hinzu. - Fügen Sie Ihrer serverspezifischen Remote Config-Vorlage Standardwerte und bedingte Werte für jede von Ihnen definierte Plattformbedingung hinzu.
- Aktualisieren Sie Ihren Anwendungscode, um das benutzerdefinierte Signal
platform
festzulegen und zu verwenden.
Ihre App kann jetzt während der Vorlagenauswertung den entsprechenden Prompt und das entsprechende Modell extrahieren und damit benutzerdefinierte Antworten für jeden Client zurückgeben.
Mit den folgenden Regeltypen können Sie benutzerdefinierte Signalbedingungen in der Firebase-Konsole erstellen.
Operatorkategorie | Operator(en) | Wert | Hinweis |
---|---|---|---|
Text | „stimmt genau überein“, „enthält“, „enthält nicht“, „enthält Regex“ |
Bei Stringvergleichen für diese Regel wird die Groß- und Kleinschreibung beachtet. Wenn Sie den Operator stimmt genau überein mit, enthält, enthält nicht oder enthält regulären Ausdruck verwenden, können Sie mehrere Werte auswählen. Wenn Sie den Operator contains regex verwenden, können Sie reguläre Ausdrücke im RE2-Format erstellen. Ihr regulärer Ausdruck kann mit dem gesamten oder einem Teil des Zielversionsstrings übereinstimmen. Sie können auch die Anker ^ und $ verwenden, um den Anfang, das Ende oder den gesamten Zielstring abzugleichen. |
|
Zahlen | <, <=, =, !=, >, >= | Zahl mit maximal zehn Ziffern auf jeder Seite des Dezimalzeichens. | |
Versionen | <, <=, =, !=, >, >= | Ziffer, die die abzugleichende(n) Versionsnummer(n) darstellt (z. B. 2.1.0). |
Informationen zum Hinzufügen benutzerdefinierter Signale zu Ihrer Anwendung finden Sie unter Serveranwendung konfigurieren.
Suchparameter und ‑bedingungen
Sie können in der Firebase-Konsole über das Suchfeld oben auf dem Tab Remote Config Parameter nach den Parameterschlüsseln, Parameterwerten und Bedingungen Ihres Projekts suchen.
Limits für Parameter und Bedingungen
In einem Firebase-Projekt können Sie bis zu 3.000 Parameter und bis zu 2.000 Bedingungen haben. Parameterschlüssel können bis zu 256 Zeichen lang sein, müssen mit einem Unterstrich oder einem Buchstaben des lateinischen Alphabets (A–Z, a–z) beginnen und dürfen Zahlen enthalten. Die Gesamtlänge der Parameterwert-Strings in einem Projekt darf 1.000.000 Zeichen nicht überschreiten.
Änderungen an Parametern und Bedingungen ansehen
Die letzten Änderungen an Ihren Remote Config-Vorlagen können Sie in der Firebase-Konsole ansehen. Für jeden einzelnen Parameter und jede Bedingung haben Sie folgende Möglichkeiten:
Hier sehen Sie den Namen des Nutzers, der den Parameter oder die Bedingung zuletzt geändert hat.
Wenn die Änderung am selben Tag erfolgt ist, sehen Sie nach, wie viele Minuten oder Stunden seit der Veröffentlichung der Änderung in der aktiven Remote Config-Vorlage vergangen sind.
Wenn die Änderung vor einem oder mehreren Tagen erfolgt ist, sehen Sie sich das Datum an, an dem die Änderung in der aktiven Remote Config-Vorlage veröffentlicht wurde.
Änderungsverlauf für Parameter
Auf der Seite Remote Config Parameter wird in der Spalte Zuletzt veröffentlicht der letzte Nutzer angezeigt, der die einzelnen Parameter geändert hat, sowie das letzte Veröffentlichungsdatum der Änderung:
Wenn Sie die Metadaten für Änderungen an gruppierten Parametern aufrufen möchten, maximieren Sie die Parametergruppe.
Wenn Sie die Gruppenbereiche nach Veröffentlichungsdatum aufsteigend oder absteigend sortieren möchten, klicken Sie auf das Spaltenlabel Zuletzt veröffentlicht.
Änderungsverlauf für Bedingungen
Auf der Seite Remote Config Bedingungen sehen Sie neben Zuletzt geändert unter jeder Bedingung den letzten Nutzer, der die Bedingung geändert hat, und das Datum der Änderung.