Remote Config-Parameter und -Bedingungen


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 als true ausgewertet werden müssen, damit die Bedingung für eine bestimmte App-Instanz als true ausgewertet wird. 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

Einem Parameter können mehrere bedingte Werte zugeordnet sein. Die folgenden Regeln bestimmen, welcher Wert aus der Remote Config-Vorlage abgerufen wird und welcher Wert zu einem bestimmten Zeitpunkt in einer bestimmten App-Instanz verwendet 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 erste (oberste) Bedingung, die in der Firebase-Console-UI angezeigt wird, Vorrang. Die mit dieser Bedingung verknüpften bedingten Werte werden bereitgestellt, wenn eine App Werte aus dem Backend abruft. 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 als true ausgewertet werden, wird der Standardwert von Remote Config bereitgestellt, wenn eine App Werte aus dem Backend abruft. Wenn ein Parameter im Backend nicht vorhanden ist oder der Standardwert auf In-App-Standardwert verwenden festgelegt ist, wird für diesen Parameter kein Wert angegeben, wenn eine App Werte abruft.

In Ihrer App werden Parameterwerte von get-Methoden gemäß der folgenden Prioritätsliste zurückgegeben.

  1. Wenn ein Wert aus dem Backend abgerufen und dann aktiviert wurde, verwendet die App den abgerufenen Wert. Aktivierte Parameterwerte bleiben erhalten.
  2. Wenn kein Wert vom Backend abgerufen wurde oder Werte, die vom Remote Config-Backend abgerufen wurden, nicht aktiviert wurden, verwendet die App den In-App-Standardwert.

    Weitere Informationen zum Abrufen und Festlegen von Standardwerten finden Sie unter Standardwerte für Remote Config-Vorlagen herunterladen.

  3. Wenn kein In-App-Standardwert festgelegt wurde, verwendet die App einen statischen Typwert (z. B. 0 für int und false für boolean).

In dieser Grafik sehen Sie, wie Parameterwerte im Remote Config-Backend und in Ihrer App priorisiert werden:

Diagramm, das den in den geordneten Listen oben beschriebenen Ablauf zeigt

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:

  1. Wählen Sie Gruppen verwalten aus.
  2. Setzen Sie ein Häkchen bei den Parametern, die Sie hinzufügen möchten, und wählen Sie In Gruppe verschieben aus.
  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 mit der Schaltfläche Änderungen veröffentlichen veröffentlichen.

Regeltypen für Bedingungen

Die folgenden Regeltypen werden in der Firebase-Konsole unterstützt. Entsprechende Funktionen sind in der Remote Config REST API verfügbar, wie in der Referenz zu bedingten Ausdrücken beschrieben.

Regeltyp Operator(en) Wert(e) Hinweis
App == Wählen Sie aus einer Liste von App-IDs für Apps aus, die mit Ihrem Firebase-Projekt verknüpft sind. Wenn Sie eine App in Firebase hinzufügen, geben Sie eine Paket-ID oder einen Android-Paketnamen ein, der ein Attribut definiert, das in Remote Config-Regeln als App-ID verfügbar ist.

So verwenden Sie dieses Attribut:
  • Für Apple-Plattformen:Verwenden Sie die CFBundleIdentifier der App. Sie finden die Bundle-ID in Xcode auf dem Tab Allgemein für das primäre Ziel Ihrer App.
  • Android:Verwenden Sie die applicationId der App. Sie finden die applicationId in der build.gradle(.kts)-Datei auf App-Ebene.
App-Version Für String-Werte
entspricht genau,
enthält,
enthält nicht,
enthält regulären Ausdruck

Für numerische Werte
<, <=, =, !=, >, >=

Geben Sie die Version(en) Ihrer App an, auf die Sie die Ausrichtung vornehmen möchten.

Bevor Sie diese Regel verwenden können, müssen Sie mit einer App-ID-Regel eine Android- oder Apple-App auswählen, die mit Ihrem Firebase-Projekt verknüpft ist.

Apple-Plattformen:Verwenden Sie den CFBundleShortVersionString der App.

Hinweis:Achten Sie darauf, dass Ihre Apple-App das Firebase Apple-Plattform-SDK in Version 6.24.0 oder höher verwendet, da CFBundleShortVersionString in früheren Versionen nicht gesendet wird (siehe Versionshinweise).

Android:Verwenden Sie die versionName der App.

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.

Build-Nummer Für Stringwerte
entspricht genau,
enthält,
enthält nicht,
regulärer Ausdruck

Für numerische Werte
=, ≠, >, ≥, <, ≤

Geben Sie die Builds Ihrer App an, auf die Sie die Kampagne ausrichten möchten.

Bevor Sie diese Regel verwenden, müssen Sie mit einer App-ID-Regel eine Apple- oder Android-App auswählen, die mit Ihrem Firebase-Projekt verknüpft ist.

Dieser Operator ist nur für Apple- und Android-Apps verfügbar. Er entspricht dem CFBundleVersion der App für Apple und dem versionCode für Android. Bei Stringvergleichen für diese Regel wird die Groß-/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 die Gesamtheit eines Zielstrings abzugleichen.

Plattform == iOS
Android
Web
 
Betriebssystem ==

Geben Sie das oder die Betriebssysteme für das Targeting an.

Bevor Sie diese Regel verwenden können, müssen Sie mit einer App-ID-Regel eine Web-App auswählen, die mit Ihrem Firebase-Projekt verknüpft ist.

Diese Regel wird für eine bestimmte Web-App-Instanz mit true ausgewertet, wenn das Betriebssystem und seine Version mit einem Zielwert in der angegebenen Liste übereinstimmen.
Browser ==

Geben Sie die Browser an, auf die Sie abzielen möchten.

Bevor Sie diese Regel verwenden können, müssen Sie mit einer App-ID-Regel eine Web-App auswählen, die mit Ihrem Firebase-Projekt verknüpft ist.

Diese Regel ergibt für eine bestimmte Web-App-Instanz true, wenn der Browser und seine Version mit einem Zielwert in der angegebenen Liste übereinstimmen.
Gerätekategorie ist, ist nicht mobil Mit dieser Regel wird geprüft, ob das Gerät, mit dem auf Ihre Web-App zugegriffen wird, ein Mobilgerät oder ein anderes Gerät (Computer oder Konsole) ist. Dieser Regeltyp ist nur für Web-Apps verfügbar.
Sprachen ist in Wählen Sie eine oder mehrere Sprachen aus. Diese Regel wird für eine bestimmte App-Instanz als true ausgewertet, wenn diese App-Instanz auf einem Gerät installiert ist, auf dem eine der aufgeführten Sprachen verwendet wird.
Land/Region ist in Wählen Sie eine oder mehrere Regionen oder Länder aus. Diese Regel wird für eine bestimmte App-Instanz als true ausgewertet, wenn sich die Instanz in einer der aufgeführten Regionen oder Länder befindet. Der Ländercode des Geräts wird anhand der IP-Adresse des Geräts in der Anfrage oder anhand des von Firebase Analytics ermittelten Ländercodes bestimmt (wenn Analytics-Daten mit Firebase geteilt werden).
Nutzerzielgruppe(n) Enthält mindestens eines Wählen Sie mindestens eine Google Analytics-Zielgruppe aus, die Sie für Ihr Projekt eingerichtet haben.

Für diese Regel ist eine App-ID-Regel erforderlich, um eine App auszuwählen, die mit Ihrem Firebase-Projekt verknüpft ist.

Hinweis:Da viele Analytics-Zielgruppen durch Ereignisse oder Nutzereigenschaften definiert werden, die auf den Aktionen von App-Nutzern basieren können, kann es einige Zeit dauern, bis eine Regel vom Typ Nutzer in Zielgruppe für eine bestimmte App-Instanz wirksam wird.

Nutzereigenschaft Für Stringwerte:
contains (enthält),
does not contain (enthält nicht),
exactly matches (entspricht genau),
contains regex (enthält regulären Ausdruck)

Für numerische Werte:
=, ≠, >, ≥, <, ≤

Hinweis: Auf dem Client können Sie nur Stringwerte für Nutzerattribute festlegen. Bei Bedingungen, für die numerische Operatoren verwendet werden, wandelt Remote Config den Wert der entsprechenden Nutzereigenschaft in eine Ganzzahl oder Gleitkommazahl um.
Wählen Sie aus einer Liste der verfügbaren Google Analytics-Nutzerattribute aus. Weitere InformationenRemote Config

Weitere Informationen zu Nutzereigenschaften finden Sie in den folgenden Leitfäden:

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 die Gesamtheit eines Zielstrings abzugleichen.

Hinweis:Automatisch erfasste Nutzereigenschaften sind beim Erstellen von Remote Config-Bedingungen nicht verfügbar.
Nutzer in zufälligem Prozentwert Schieberegler in der Firebase Console Die REST API verwendet die Operatoren <=, > und between. 0–100

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.

Importiertes Segment ist in Wählen Sie ein oder mehrere importierte Segmente aus. Für diese Regel müssen benutzerdefinierte importierte Segmente eingerichtet werden.
Datum/Uhrzeit Vorher, Nachher Ein angegebenes Datum und eine angegebene Uhrzeit, entweder in der Zeitzone des Geräts oder in einer angegebenen Zeitzone wie „(GMT+11) Sydney time“. Vergleicht die aktuelle Zeit mit der Abrufzeit des Geräts.
Erstes Öffnen Vorher, Nachher Ein angegebenes Datum und eine angegebene Uhrzeit in der angegebenen Zeitzone.

Entspricht Nutzern, die die Ziel-App zum ersten Mal innerhalb des angegebenen Zeitraums öffnen.

Erfordert die folgenden SDKs:

  • Firebase SDK für Google Analytics
  • Apple-Plattformen SDK v9.0.0+ oder Android SDK v21.1.1+ (Firebase BoM v30.3.0+)
Installations-ID ist in Geben Sie eine oder mehrere Installations-IDs (bis zu 50) für die Ausrichtung an. Diese Regel wird für eine bestimmte Installation als true ausgewertet, wenn die ID dieser Installation in der kommagetrennten Liste der Werte enthalten ist.

Informationen zum Abrufen von Installations-IDs finden Sie unter Client-IDs abrufen.
Nutzer existiert (kein Operator) Ausrichtung auf alle Nutzer aller Apps im aktuellen Projekt.

Mit dieser Bedingungsregel werden alle Nutzer im Projekt abgeglichen, unabhängig von App oder Plattform.

Benutzerdefiniertes Signal Für Stringwerte:
contains,
does not contain,
exactly matches,
contains regex

Für numerische Werte:
=, ≠, >, ≥, <, ≤

Für Versionswerte:
=, ≠, >, ≥, <, ≤

Bei Stringvergleichen für diese Regel wird die Groß- und Kleinschreibung beachtet. Wenn Sie die Operatoren „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 Ankerzeichen ^ und $ verwenden, um den Anfang, das Ende oder den gesamten Zielstring abzugleichen.

Die folgenden Datentypen werden für Clientumgebungen unterstützt:
  • iOS: int, double
  • Android: int, long, double
  • Web: Zahl

Ziffer, die die abzugleichende(n) Versionsnummer(n) darstellt (z. B. 2.1.0).

Weitere Informationen zu benutzerdefinierten Signalbedingungen und den zu verwendenden bedingten Ausdrücken finden Sie unter Benutzerdefinierte Signalbedingungen und Elemente zum Erstellen von Bedingungen.

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 2.000 Parameter und bis zu 500 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.

Nächste Schritte

Informationen zum Konfigurieren Ihres Firebase-Projekts und Ihrer App für die Verwendung von Remote Config finden Sie unter Erste Schritte mit Firebase Remote Config.