Remote Config-Parameter und -Bedingungen


Sie können Vorlagen sowohl für Client- als auch für Serveranwendungen konfigurieren. Client-Vorlagen werden an alle App-Instanzen gesendet, die die Firebase-Client-SDKs für Remote Config implementieren, einschließlich Android-, Apple-, Web-, Unity-, Flutter- und C++-Apps. Remote Config-Parameter und ‑Werte aus serverspezifischen Vorlagen werden an Remote Config-Implementierungen (einschließlich Cloud Run und Cloud Functions) gesendet, die das Firebase Admin Node.js SDK v12.1.0 oder höher verwenden.

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 die In-App-Standardwerte überschreiben, indem Sie Parameterwerte festlegen. Parameterschlüssel und Parameterwerte sind Strings. Parameterwerte können jedoch in andere Datentypen umgewandelt werden, wenn Sie sie in Ihrer App verwenden.

Mit der Firebase Console, Admin SDK oder der Remote Config REST API können Sie neue Standardwerte für Ihre Parameter sowie bedingte Werte erstellen, die für die Ausrichtung auf 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 ausführen können. Diese Vorgänge sind in der Firebase-Konsole, in Firebase Admin SDK und in der REST API verfügbar. Weitere Informationen finden Sie unter Remote Config-Vorlagenversionen verwalten.

In diesem Leitfaden 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 ausgewählt. Bedingungen bestehen aus einer oder mehreren Regeln, die alle den Wert true haben müssen, damit die Bedingung für eine bestimmte App-Instanz den Wert true hat. Wenn der Wert für eine Regel nicht definiert ist (z. B. wenn kein Wert verfügbar ist), wird für diese Regel false zurückgegeben.

Sie können beispielsweise einen Parameter erstellen, der den Namen und den Versionsstring eines Large Language Models (LLM) definiert, und Antworten von verschiedenen Modellen basierend auf benutzerdefinierten Signalregeln ausliefern. In diesem Anwendungsfall können Sie eine stabile Modellversion als Standardwert verwenden, um die meisten Anfragen zu bedienen, und das benutzerdefinierte Signal verwenden, um mit einem experimentellen Modell auf Clientanfragen zu reagieren.

Ein Parameter kann mehrere bedingte Werte haben, für die unterschiedliche Bedingungen verwendet werden. Außerdem können Parameter innerhalb eines Projekts gemeinsame Bedingungen haben. Auf dem Tab Parameter der Firebase-Konsole sehen Sie den Abrufprozentsatz für die bedingten Werte der einzelnen Parameter. Dieser Messwert gibt den Prozentsatz der Anfragen in den letzten 24 Stunden an, die den jeweiligen Wert erhalten haben.

Priorität des Parameterwerts

Wenn Sie Remote Config in Server-Apps mit der Firebase Admin SDK verwenden, wird die gesamte Vorlage abgerufen und geladen, um bei jeder Clientanfrage die entsprechenden Parameterwerte auf Abruf zu extrahieren. Einem Parameter können mehrere bedingte Werte zugewiesen sein.

Anhand der folgenden Regeln wird festgelegt, welcher Wert bei der Vorlagenbewertung zu einem bestimmten Zeitpunkt zugewiesen wird:

  1. Zuerst werden bedingte Werte für alle Bedingungen angewendet, die für eine bestimmte Kundenanfrage zu true führen. Wenn mehrere Bedingungen zu true führen, hat die erste (oberste) Bedingung in der Firebase-Konsole Vorrang. Die zugehörigen bedingten Werte werden bei der Auswertung der Vorlage berücksichtigt. Sie können die Priorität von Bedingungen ändern, indem Sie sie auf dem Tab Bedingungen per Drag-and-drop verschieben.

  2. Wenn es keine bedingten Werte mit Bedingungen gibt, die zu true führen, wird bei der Vorlagenbewertung der Standardwert von Remote Config verwendet. Wenn ein Parameter in der Vorlage nicht vorhanden ist oder der Standardwert auf In-App-Standard 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 Serveranwendungen 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. Vor dem Aktualisieren einer Vorlage werden alle Remote Config-Werte anhand dieses Typs validiert. Der Datentyp wird bei einer getRemoteConfig-Anfrage gespeichert und zurückgegeben.

Folgende Datentypen werden unterstützt:

  • String
  • Boolean
  • Number
  • JSON

In der Firebase-Benutzeroberfläche kann der Datentyp in einem 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 zu organisieren 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 namens „Neue Anmeldung“ organisieren, ohne Präfixe oder eine spezielle Sortierung hinzufügen zu müssen.

Sie können Parametergruppen mit der Firebase Console oder der Remote Config REST API erstellen. Jede von Ihnen erstellte Parametergruppe hat in der Remote Config-Vorlage einen eindeutigen Namen. Beachten Sie beim Erstellen von Parametergruppen Folgendes:

  • Parameter können jeweils nur einer Gruppe zugewiesen werden. Ein Parameterschlüssel muss jedoch für alle Parameter eindeutig sein.
  • Parametergruppennamen sind auf 256 Zeichen beschränkt.
  • Wenn du sowohl die REST API als auch die Firebase-Konsole verwendest, musst du die REST API-Logik so aktualisieren, dass Parametergruppen bei der Veröffentlichung verarbeitet werden.

Parametergruppen mit der Firebase-Console erstellen oder ändern

Sie können Parameter auf dem Tab Parameter der Firebase-Konsole gruppieren. So erstellen oder ändern Sie eine Gruppe:

  1. Wählen Sie Gruppen verwalten aus.
  2. Klicken Sie die Kästchen der Parameter an, die Sie hinzufügen möchten, und dann auf In Gruppe verschieben.
  3. 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 über die Schaltfläche Änderungen veröffentlichen veröffentlichen.

Typen von Bedingungsregeln

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 (mit Stichprobengrößen von bis zu 0,0001%). Verwenden Sie dazu das Schieberegler-Widget, um zufällig gemischte Nutzer (App-Instanzen) in Gruppen zu segmentieren.

Jede App-Instanz wird gemäß einem in diesem Projekt definierten Seed dauerhaft einer zufälligen Ganzzahl oder Bruchzahl zugeordnet.

Sofern Sie den Startwert nicht ändern, wird für eine Regel der Standardschlüssel verwendet, der in der Firebase-Konsole als Startwert bearbeiten angezeigt wird. Sie können eine Regel wieder auf den Standardschlüssel zurücksetzen, indem Sie das Feld Seed löschen.

Wenn Sie dieselben App-Instanzen innerhalb bestimmter Prozentbereiche konsistent 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 Prozentsatzbereich auswählen, indem Sie einen neuen Startwert angeben.

Wenn Sie beispielsweise zwei ähnliche Bedingungen erstellen möchten, die jeweils auf 5% der Nutzer einer App zutreffen, die sich nicht überschneiden, können Sie eine Bedingung so konfigurieren, dass sie einem Prozentsatz zwischen 0% und 5% entspricht, und eine andere Bedingung so, dass sie einem Bereich zwischen 5% und 10 % entspricht. Wenn einige Nutzer zufällig in beiden Gruppen erscheinen sollen, verwenden Sie für die Regeln in jeder Bedingung unterschiedliche Startwerte.

Informationen zum Hinzufügen von Zufallsprozentsätzen zu Ihrer Anwendung finden Sie unter Serveranwendung konfigurieren.

Benutzerdefinierte Signale

Mit dem Firebase Admin Node.js SDK 12.5.0 und höher können Sie den Bedingungstyp Benutzerdefiniertes Signal verwenden, um beliebige Bedingungen zu prüfen, die Sie in Ihrer Anwendung definieren. So können Sie die Serverantwort auf 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:

  1. Fügen Sie Ihrer Remote Config-Servervorlage die Parameter prompt und model_name hinzu.
  2. Fügen Sie für jede Plattform, auf die Sie Ihre Anzeigen ausrichten möchten, benutzerdefinierte Signale mit dem Wert platform hinzu.
  3. Fügen Sie Ihrer serverspezifischen Remote Config-Vorlage Standardwerte und bedingte Werte für jede von Ihnen definierte Plattformbedingung hinzu.
  4. Aktualisieren Sie Ihren Anwendungscode, um das benutzerdefinierte Signal platform festzulegen und zu verwenden.

Jetzt kann Ihre App bei der Vorlagenbewertung den entsprechenden Prompt und das Modell extrahieren und damit personalisierte Antworten an jeden Kunden zurückgeben.

Mit den folgenden Regeltypen können Sie benutzerdefinierte Signale in der Firebase-Konsole erstellen.

Betreiberkategorie Betreiber Wert Hinweis
Text genau mit, enthält, enthält nicht, enthält Regex

Bei Stringvergleichen für diese Regel wird die Groß- und Kleinschreibung beachtet. Wenn Sie die Operatoren stimmt genau überein, 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 <, <=, =, !=, >, >= Eine Zahl mit maximal zehn Ziffern auf jeder Seite des Dezimaltrennzeichens.
Versionen <, <=, =, !=, >, >= Die zu vergleichende Versionsnummer (z. B. 2.1.0).

Informationen zum Hinzufügen benutzerdefinierter Signale zu Ihrer Anwendung finden Sie unter Serveranwendung konfigurieren.

Suchparameter und -bedingungen

In der Firebase-Konsole können Sie über das Suchfeld oben auf dem Tab Remote Config Parameter nach den Parameterschlüsseln, Parameterwerten und Bedingungen Ihres Projekts suchen.

Einschränkungen für Parameter und Bedingungen

Innerhalb eines Firebase-Projekts können Sie bis zu 2.000 Parameter und bis zu 500 Bedingungen verwenden. Parameterschlüssel können bis zu 256 Zeichen lang sein, müssen mit einem Unterstrich oder einem lateinischen Buchstaben (A–Z, a–z) beginnen und dürfen Zahlen enthalten. Die Gesamtlänge der Parameterwertstrings innerhalb eines Projekts 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 einsehen. Für jeden einzelnen Parameter und jede einzelne Bedingung haben Sie folgende Möglichkeiten:

  • Der Name des Nutzers, der den Parameter oder die Bedingung zuletzt geändert hat.

  • Wenn die Änderung am selben Tag erfolgt ist, sehen Sie sich die Anzahl der Minuten oder Stunden an, die vergangen sind, seit die Änderung in der aktiven Remote Config-Vorlage veröffentlicht wurde.

  • Wenn die Änderung vor mindestens einem Tag stattgefunden hat, 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 Nutzer angezeigt, der den jeweiligen Parameter zuletzt geändert hat, sowie das Datum der letzten Veröffentlichung der Änderung:

  • Wenn Sie die Änderungsmetadaten für gruppierte Parameter aufrufen möchten, maximieren Sie die Parametergruppe.

  • Wenn Sie nach dem Veröffentlichungsdatum in aufsteigender oder absteigender Reihenfolge sortieren möchten, klicken Sie auf das Spaltenlabel Zuletzt veröffentlicht.

Änderungsverlauf für Bedingungen

Auf der Seite Remote Config Bedingungen sehen Sie neben jeder Bedingung unter Letzte Änderung den Nutzer, der die Bedingung zuletzt geändert hat, und das Datum der Änderung.

Nächste Schritte

Informationen zum Konfigurieren Ihres Firebase-Projekts und Ihrer Server-App für die Verwendung von Remote Config finden Sie unter Remote Config in Serverumgebungen verwenden.