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

Mit einem Parameter können mehrere bedingte Werte verknüpft sein. Anhand der folgenden Regeln wird festgelegt, welcher Wert aus der Remote Config-Vorlage abgerufen und in einer bestimmten App-Instanz zu einem bestimmten Zeitpunkt verwendet 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-Benutzeroberfläche der Console Vorrang. Die zugehörigen 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 zu true führen, wird der Standardwert von Remote Config angegeben, wenn eine App Werte aus dem Backend abruft. Wenn ein Parameter im Backend nicht vorhanden ist oder der Standardwert auf In-App-Standard 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 aus dem Back-End abgerufen wurde oder die aus dem Remote Config-Back-End abgerufenen Werte nicht aktiviert wurden, verwendet die App den In-App-Standardwert.

    Weitere Informationen zum Abrufen und Festlegen von Standardwerten finden Sie unter Remote Config-Vorlagenstandardwerte 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 Abbildung wird zusammengefasst, wie Parameterwerte im Remote Config-Backend und in Ihrer App priorisiert werden:

Diagramm, das den Ablauf zeigt, der in den oben aufgeführten Listen beschrieben wird

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

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 Betreiber 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 Firebase eine App hinzufügen, geben Sie eine Bundle-ID oder einen Android-Paketnamen ein, der ein Attribut definiert, das in Remote Config-Regeln als App-ID freigegeben wird.

Verwenden Sie dieses Attribut so:
  • 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-Datei auf App-Ebene.
App-Version Für Stringwerte:
stimmt genau überein,
enthält,
enthält nicht,
enthält regulären Ausdruck

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

Geben Sie die Versionen Ihrer App an, auf die Sie Ihre Anzeigen ausrichten 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 die CFBundleShortVersionString der App.

Hinweis:Ihre Apple-App muss das Firebase Apple Platforms SDK Version 6.24.0 oder höher verwenden, da CFBundleShortVersionString in früheren Versionen nicht gesendet wird (siehe Release-Notes).

Android:Verwenden Sie den versionName der App.

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 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 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:
stimmt genau überein,
enthält,
enthält nicht,
regulärer Ausdruck

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

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

Bevor Sie diese Regel verwenden können, 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. Sie entspricht der CFBundleVersion der App für Apple und der versionCode für Android. Bei Stringvergleichen für diese Regel wird die Groß-/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 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 oder einem Teil des Zielversionsstrings übereinstimmen. Sie können auch die Anker ^ und $ verwenden, um den Anfang, das Ende oder den gesamten Zielstring abzugleichen.

Plattform == iOS
Android
Web
 
Betriebssystem ==

Geben Sie die Betriebssysteme an, auf die Sie Ihre Anzeigen ausrichten 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 wird für eine bestimmte Instanz der Webanwendung 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 Ihre Anzeigen ausrichten 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 Instanz einer Webanwendung den Wert 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 ermittelt, ob das Gerät, von dem aus auf Ihre Webanwendung zugegriffen wird, ein Mobilgerät oder ein Computer (Desktop oder Konsole) ist. Dieser Regeltyp ist nur für Webanwendungen verfügbar.
Sprachen ist in Wählen Sie eine oder mehrere Sprachen aus. Diese Regel ergibt für eine bestimmte App-Instanz den Wert true, 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 des von Firebase Analytics ermittelten Ländercodes ermittelt (sofern Analytics-Daten mit Firebase geteilt werden).
Nutzerzielgruppe(n) Enthält mindestens eines Wählen Sie eine oder mehrere Zielgruppen aus einer Liste von Google Analytics Zielgruppen 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:
enthält,
enthält nicht,
stimmt genau überein,
enthält regulären Ausdruck

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

Hinweis: Auf dem Client können Sie nur Stringwerte für Nutzereigenschaften festlegen. Bei Bedingungen mit numerischen Operatoren wandelt Remote Config den Wert der entsprechenden Nutzereigenschaft in eine Ganzzahl/Fließkommazahl um.
Wählen Sie eine der verfügbaren Google Analytics-Nutzereigenschaften aus der Liste aus. Wie Sie Ihre App mithilfe von Nutzereigenschaften für bestimmte Segmente Ihrer Nutzerbasis anpassen können, erfahren Sie unter Remote Config und Nutzereigenschaften.

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

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 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 oder einem Teil des Zielversionsstrings übereinstimmen. Sie können auch die Anker ^ und $ verwenden, um den Anfang, das Ende oder den gesamten Zielstring abzugleichen.

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

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.

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

Die Ausrichtung erfolgt auf Nutzer, die die App, auf die ausgerichtet wird, innerhalb des angegebenen Zeitraums zum ersten Mal öffnen.

Folgende SDKs sind erforderlich:

  • Firebase SDK für Google Analytics
  • Apple Platforms SDK v9.0.0 oder höher oder Android SDK v21.1.1 oder höher (Firebase BoM v30.3.0 oder höher)
Installations-ID ist in Geben Sie eine oder mehrere Installations-IDs (bis zu 50) für die Ausrichtung an. Bei dieser Regel wird für eine bestimmte Installation true zurückgegeben, wenn die ID dieser Installation in der durch Kommas getrennten 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 können Sie alle Nutzer im Projekt abgleichen, unabhängig von App oder Plattform.

Suchparameter und -bedingungen

In der Firebase-Konsole können Sie über das Suchfeld oben auf dem Tab Remote Config Parameter nach 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 App für die Verwendung von Remote Config finden Sie unter Einstieg in Firebase Remote Config.