Remote Config-Parameter und ‑Bedingungen in Servervorlagen

Vorlagentyp auswählen: Clientvorlagen Servervorlagen


Sie können Remote Config-Parameter und -Werte aus serverspezifischen Vorlagen für Remote Config-Implementierungen (einschließlich Cloud Run und Cloud Functions for Firebase) bereitstellen, die die folgenden Serverumgebungen verwenden:

  • Firebase Admin Node.js SDK v12.1.0+
  • Firebase Admin Python SDK v6.7.0+
  • Firebase Admin Go SDK v4.17.0+
  • Firebase Admin Java SDK v9.7.0+

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 Ihrem Servercode Standardwerte für diese Parameter an. Sie können Standardwerte überschreiben, indem Sie Parameterwerte in der Vorlage Remote Config definieren. Parameterschlüssel und Parameterwerte sind Strings, aber Parameterwerte können in andere Datentypen umgewandelt werden, wenn Sie diese Werte 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 Clientanfragen 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 Console, der Firebase Admin SDK und der REST API verfügbar und werden unter Remote Config-Vorlagenversionen verwalten ausführlicher beschrieben.

In diesem Leitfaden werden Parameter, Bedingungen, Regeln, bedingte Werte und die Priorisierung verschiedener Parameterwerte im Remote Config-Backend und in Ihrer Server-App erläutert. Außerdem finden Sie hier Details zu den Regeltypen, die zum Erstellen von Bedingungen verwendet werden.

Bedingungen, Regeln und bedingte Werte

Eine Bedingung wird verwendet, um eine Gruppe von Clientanfragen anzusprechen. Bedingungen bestehen aus einer oder mehreren Regeln, die alle als true ausgewertet werden müssen, damit die Bedingung für eine bestimmte Clientanfrage als true ausgewertet wird. Wenn der Wert für eine Regel nicht definiert ist (z. B. wenn kein Wert verfügbar ist), wird diese Regel als false ausgewertet.

Sie können beispielsweise einen Parameter erstellen, der den Namen und die Versionszeichenfolge eines Large Language Models (LLM) definiert, und Antworten von verschiedenen Modellen basierend auf benutzerdefinierten Signalregeln bereitstellen. In diesem Anwendungsfall können Sie eine stabile Modellversion als Standardwert verwenden, um die meisten Anfragen zu verarbeiten, und das benutzerdefinierte Signal verwenden, um ein experimentelles Modell für die Beantwortung von Testclientanfragen zu verwenden.

Ein Parameter kann mehrere bedingte Werte haben, die unterschiedliche Bedingungen verwenden. Parameter können Bedingungen innerhalb eines Projekts gemeinsam nutzen. Rufen Sie in der Firebase-Konsole die Seite DevOps & Engagement > Remote Config > Parameter auf, um den Abrufprozentsatz für die bedingten Werte der einzelnen Parameter aufzurufen. Dieser Messwert gibt den Prozentsatz der Anfragen in den letzten 24 Stunden an, die den jeweiligen Wert erhalten haben.

Bedingungen über die Firebase-Konsole hinzufügen, bearbeiten, neu anordnen oder löschen

Sie können Targeting-Bedingungen in der Firebase Console erstellen, bearbeiten, neu anordnen und löschen. Bedingungen werden von allen Parametern innerhalb eines Projekts gemeinsam genutzt. So verwalten Sie Bedingungen:

  1. Rufen Sie in der Firebase-Konsole die Seite DevOps & Engagement > Remote Config > Bedingungen auf oder wählen Sie auf der Seite Parameter die Option Bedingungen verwalten aus.
  2. Bedingung hinzufügen: Klicken Sie auf Bedingung hinzufügen (oder Erste Bedingung erstellen), geben Sie einen Namen ein, der das Targeting-Ziel definiert, und wählen Sie eine oder mehrere Targeting-Regeln aus.
  3. Bedingung bearbeiten: Klicken Sie auf den Namen der Bedingung oder auf das Bearbeitungssymbol, ändern Sie die Regeln nach Bedarf und klicken Sie auf Speichern.
  4. Priorität von Bedingungen ändern: Ziehen Sie auf der Seite Bedingungen die Bedingungen am Ziehpunkt, um sie neu anzuordnen. Bedingungen, die weiter oben in der Liste stehen, haben Vorrang vor Bedingungen, die weiter unten stehen.
  5. Bedingung löschen: Klicken Sie neben der Bedingung, die Sie entfernen möchten, auf das Löschsymbol. Wenn die Bedingung von einem Parameter referenziert wird, werden durch das Entfernen auch die zugehörigen bedingten Werte entfernt.

Nachdem Sie die Änderungen an den Bedingungen gespeichert haben, veröffentlichen Sie die Vorlage mit Änderungen veröffentlichen.

IPv6-Einschränkung bei IP-basierter Zugriffssteuerung

Remote Config bietet nur eingeschränkte Unterstützung für IPv6, wenn es mit IP-basierten Zugriffsrichtlinien verwendet wird. Wenn Ihre Organisation den Zugriff auf bestimmte öffentliche IP-Bereiche einschränkt, kann die Verbindung über ein IPv6-Netzwerk die folgenden Probleme verursachen:

  • Konsolenzugriff: Sie können bestimmte Remote Config-Funktionen in der Firebase-Konsole möglicherweise nicht verwenden, z. B. das Laden von Daten oder das Einrichten von Targeting.
  • Clientzugriff: Bei Client-Apps können PERMISSION_DENIED-Fehler auftreten.

Um diese Probleme zu vermeiden, konfigurieren Sie Ihr Netzwerk so, dass IPv4 verwendet wird, oder fügen Sie die erforderlichen Firebase-IP-Bereiche der Zulassungsliste Ihrer Organisation hinzu.

Priorität des Parameterwerts

Wenn Sie Remote Config in Server-Apps mit dem Firebase Admin SDK verwenden, rufen Sie die gesamte Vorlage ab und laden sie, um bei Bedarf für jede Clientanfrage die entsprechenden Parameterwerte zu extrahieren. Ein Parameter kann mehrere bedingte Werte haben.

Anhand der folgenden Regeln wird bestimmt, welcher Wert bei der Auswertung der Vorlage zu einem bestimmten Zeitpunkt zugewiesen wird:

  1. Zuerst werden bedingte Werte für alle Bedingungen angewendet, die für eine bestimmte Clientanfrage als true ausgewertet werden. Wenn mehrere Bedingungen als true ausgewertet werden, hat die oberste Bedingung in der Firebase-Console-UI Vorrang. Die mit dieser Bedingung verknüpften bedingten Werte werden dann bei der Auswertung der Vorlage bereitgestellt. Sie können die Priorität von Bedingungen ändern, indem Sie Bedingungen auf der Seite Bedingungen per Drag-and-drop verschieben.

  2. Wenn es keine bedingten Werte mit Bedingungen gibt, die als true ausgewertet werden, wird bei der Vorlagenauswertung der Standardwert von Remote Config verwendet. Wenn ein Parameter in der Vorlage nicht vorhanden ist oder der Standardwert auf In-App-Standardwert verwenden festgelegt ist, wird für diesen Parameter bei der Auswertung der Vorlage kein Wert 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. Alle Remote Config-Werte werden vor einer Vorlagenaktualisierung mit diesem Typ abgeglichen. Der Datentyp wird gespeichert und bei einer getRemoteConfig-Anfrage zurückgegeben.

Folgende Datentypen werden unterstützt:

  • String
  • Boolean
  • Number
  • JSON

In der Firebase-Konsolen-UI kann der Datentyp aus 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 übersichtlicher zu gestalten und die Nutzerfreundlichkeit zu verbessern.

Angenommen, Sie müssen drei verschiedene Authentifizierungstypen aktivieren oder deaktivieren, während Sie eine neue Anmeldefunktion einführen. 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 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 für alle Parameter eindeutig sein.
  • Namen von Parametergruppen dürfen maximal 256 Zeichen lang sein.
  • Wenn Sie sowohl die REST API als auch die Firebase-Konsole verwenden, achten Sie darauf, dass die REST API-Logik so aktualisiert wird, dass Parametergruppen bei der Veröffentlichung verarbeitet werden.

Parametergruppen mit der Firebase Console erstellen oder ändern

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

  1. Rufen Sie in der Firebase-Konsole die Seite DevOps & Engagement > Remote Config > Parameter auf.
  2. Wählen Sie Gruppen verwalten aus.
  3. Klicken Sie die Kästchen für die Parameter an, die Sie hinzufügen möchten, und wählen Sie In Gruppe verschieben aus.
  4. 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, kann sie über die Schaltfläche Änderungen veröffentlichen veröffentlicht werden.

Regeltypen für Bedingungen

Remote Config-Vorlagen für Serveranwendungen unterstützen die folgenden Bedingungstypen:

Nutzer in zufälligem Prozentwert

In diesem Feld können Sie eine Änderung auf eine zufällige Stichprobe von App-Instanzen anwenden (mit Stichprobengrößen von nur 0,0001 %). Verwenden Sie 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 ganzen Zahl oder Bruchzahl zugeordnet.

Eine Regel verwendet den Standardschlüssel (in der Firebase-Konsole als Startwert bearbeiten angezeigt), sofern Sie den Startwert nicht ändern. Sie können eine Regel wieder auf den Standardschlüssel zurücksetzen, indem Sie das Feld Seed leeren.

Wenn Sie dieselben App-Instanzen innerhalb bestimmter Prozentbereiche konsistent ansprechen möchten, verwenden Sie für alle Bedingungen denselben Seed-Wert. Oder Sie wählen eine neue, zufällig zugewiesene Gruppe von App-Instanzen für einen bestimmten Prozentsatz aus, indem Sie einen neuen Seed angeben.

Wenn Sie beispielsweise zwei zusammenhängende Bedingungen erstellen möchten, die jeweils für 5 % der Nutzer einer App gelten, 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 Sie zulassen möchten, dass einige Nutzer zufällig in beiden Gruppen erscheinen, verwenden Sie für die Regeln innerhalb der einzelnen Bedingungen unterschiedliche Startwerte.

Informationen zum Hinzufügen von Bedingungen für zufällige Prozentsätze zu Ihrer Anwendung finden Sie unter Serveranwendung konfigurieren.

Bedingungen für benutzerdefinierte Signale

Mit den bedingten Werten für Benutzerdefiniertes Signal können Sie beliebige Bedingungen abgleichen, die Sie in Ihrer Anwendung definieren. So können Sie die Serverantwort für jede Clientanfrage anpassen. Bedingungen für benutzerdefinierte Signale werden ab den folgenden Versionen von Serverumgebungen unterstützt:

  • Firebase Admin Node.js SDK v12.1.0+
  • Firebase Admin Python SDK v6.7.0+
  • Firebase Admin Go SDK v4.17.0+
  • Firebase Admin Java SDK v9.7.0+

Wenn Sie beispielsweise an einer Server-App arbeiten, die generative KI verwendet, um Antworten mit verschiedenen Modellen zu erstellen, die für bestimmte Plattformen optimiert sind, könnten Sie so vorgehen:

  1. Fügen Sie die Parameter prompt und model_name Ihrer Remote Config-Servervorlage hinzu.
  2. Fügen Sie für jede Plattform, die Sie als Ziel festlegen möchten, benutzerdefinierte Signalbedingungen mit dem Wert platform hinzu.
  3. Fügen Sie der serverspezifischen Vorlage Remote Config 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.

Ihre Anwendung kann jetzt während der Vorlagenbewertung den entsprechenden Prompt und das entsprechende Modell extrahieren und damit benutzerdefinierte Antworten an jeden Client zurückgeben.

Sie können die folgenden Regeltypen verwenden, um benutzerdefinierte Signalbedingungen in der Firebase-Konsole zu erstellen.

Betreiberkategorie Operatoren Wert
Text stimmt genau überein, enthält, enthält nicht, enthält Regex

Bei Stringvergleichen für diese Regel wird die Groß-/Kleinschreibung beachtet. Wenn Sie den Operator stimmt genau überein, enthält, enthält nicht oder enthält Regex verwenden, können Sie mehrere Werte auswählen.

Wenn Sie den Operator enthält regulären Ausdruck verwenden, können Sie reguläre Ausdrücke im RE2-Format erstellen. Ihr regulärer Ausdruck kann mit dem gesamten Zielversionsstring oder einem Teil davon übereinstimmen. Sie können auch die Anker ^ und $ verwenden, um den Anfang, das Ende oder den gesamten Zielstring abzugleichen.

Zahlen <, <=, =, !=, >, >= Zahl mit maximal 10 Ziffern auf jeder Seite des Dezimaltrennzeichens.
Versionen <, <=, =, !=, >, >= Zahl, die die Versionsnummern darstellt, die übereinstimmen sollen (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 die Parameterschlüssel, Parameterwerte und Bedingungen Ihres Projekts in der Firebase-Konsole über das Suchfeld oben auf der Seite DevOps & Engagement > Remote Config > Parameter durchsuchen.

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 auch Zahlen enthalten. Die Gesamtlänge der Parameterwert-Strings innerhalb eines Projekts darf 1.000.000 Zeichen nicht überschreiten. Außerdem können Bedingungsregeln, die auf Nutzereigenschaften basieren, bis zu 100 Nutzereigenschaftswerte enthalten. Eine vollständige Liste der Limits finden Sie unter Kontingente und Limits.

Änderungen an Parametern und Bedingungen ansehen

Sie können die neuesten Änderungen an Ihren Remote Config-Vorlagen in der Firebase-Konsole aufrufen. Für jeden einzelnen Parameter und jede Bedingung haben Sie folgende Möglichkeiten:

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

  • Wenn die Änderung am selben Tag vorgenommen wurde, sehen Sie die Anzahl der Minuten oder Stunden, die seit der Veröffentlichung der Änderung in der aktiven Remote Config-Vorlage vergangen sind.

  • Wenn die Änderung vor einem oder mehreren Tagen vorgenommen wurde, sehen Sie sich das Datum an, an dem die Änderung in der aktiven Remote Config-Vorlage veröffentlicht wurde.

Änderungsverlauf für Parameter

Rufen Sie in der Firebase-Konsole die Seite DevOps & Engagement > Remote Config > Parameter auf. In der Spalte Zuletzt veröffentlicht sehen Sie, wer den jeweiligen Parameter zuletzt geändert hat und wann die Änderung veröffentlicht wurde:

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

  • Wenn Sie die Liste nach Veröffentlichungsdatum aufsteigend oder absteigend sortieren möchten, klicken Sie auf die Spaltenüberschrift Zuletzt veröffentlicht.

Änderungsverlauf für Bedingungen

Rufen Sie in der Firebase Console die Seite DevOps & Engagement > Remote Config > Bedingungen auf. Neben Zuletzt geändert unter jeder Bedingung sehen Sie den letzten Nutzer, der die Bedingung geändert hat, und das Datum, an dem sie geändert wurde.

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.