Wenn Sie die Firebase-Konsole oder die Remote Config-Backend-APIs verwenden, definieren Sie einen oder mehrere Parameter (Schlüssel-Wert-Paare) und stellen In-App-Standardwerte für diese Parameter bereit. Sie können In-App-Standardwerte überschreiben, indem Sie serverseitige Parameterwerte definieren. Parameterschlüssel und Parameterwerte sind Zeichenfolgen, Parameterwerte können jedoch in andere Datentypen umgewandelt werden, wenn Sie diese Werte in Ihrer App verwenden.
Mit der Firebase-Konsole, dem Admin SDK oder der Remote Config REST API können Sie neue Standardwerte für Ihre Parameter sowie bedingte Werte erstellen, die zur Zielgruppenausrichtung 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-Konfigurationsvorlage. Die vorherige Version wird gespeichert, sodass Sie sie bei Bedarf abrufen oder zurücksetzen können. Diese Vorgänge stehen Ihnen über die Firebase-Konsole, das Firebase Admin SDK und die REST-API zur Verfügung und werden unter „Remote-Konfigurationsvorlagenversionen verwalten“ ausführlicher beschrieben.
In diesem Handbuch werden Parameter, Bedingungen, Regeln, Bedingungswerte und die Priorisierung verschiedener Parameterwerte auf dem Remote Config Server und in Ihrer App erläutert. Es enthält außerdem Einzelheiten zu den Regeltypen, die zum Erstellen von Bedingungen verwendet werden.
Bedingungen, Regeln und bedingte Werte
Eine Bedingung wird verwendet, um eine Gruppe von App-Instanzen anzusprechen. 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 undefiniert ist (z. B. wenn kein Wert verfügbar ist), wird diese Regel als false
ausgewertet.
Beispielsweise könnte ein Parameter, der die Begrüßungsseite einer App definiert, mithilfe der einfachen Regel if device_os = Android
unterschiedliche Bilder basierend auf dem Betriebssystemtyp anzeigen:
Alternativ könnte eine Zeitbedingung verwendet werden, um zu steuern, wann in Ihrer App spezielle Werbeartikel angezeigt werden.
Ein Parameter kann mehrere Bedingungswerte haben, die unterschiedliche Bedingungen verwenden, und Parameter können Bedingungen innerhalb eines Projekts gemeinsam nutzen. Auf der Registerkarte „Parameter“ der Firebase-Konsole können Sie den Abrufprozentsatz für die bedingten Werte jedes Parameters anzeigen. Diese Metrik gibt den Prozentsatz der Anfragen in den letzten 24 Stunden an, die jeden Wert erhalten haben.
Priorität des Parameterwerts
Einem Parameter können mehrere bedingte Werte zugeordnet sein. Die folgenden Regeln bestimmen, welcher Wert vom Remote-Konfigurationsserver abgerufen wird und welcher Wert in einer bestimmten App-Instanz zu einem bestimmten Zeitpunkt verwendet wird:
Serverseitige Parameterwerte werden gemäß der folgenden Prioritätenliste abgerufen
Zunächst werden bedingte Werte angewendet, sofern es Bedingungen gibt, die für eine bestimmte App-Instanz als
true
ausgewertet werden. Wenn mehrere Bedingungen alstrue
ausgewertet werden, hat die erste (oberste) Bedingung, die in der Benutzeroberfläche der Firebase-Konsole angezeigt wird, Vorrang und mit dieser Bedingung verknüpfte Bedingungswerte werden bereitgestellt, wenn eine App Werte vom Backend abruft. Sie können die Priorität von Bedingungen ändern, indem Sie Bedingungen per Drag-and-Drop auf die Registerkarte „Bedingungen“ ziehen.Wenn keine bedingten Werte mit Bedingungen vorhanden sind, die als „
true
ausgewertet werden, wird der serverseitige Standardwert bereitgestellt, wenn eine App Werte vom 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 bereitgestellt, wenn eine App Werte abruft.
In Ihrer App werden Parameterwerte von get
Methoden gemäß der folgenden Prioritätenliste zurückgegeben
- Wenn ein Wert vom Backend abgerufen und dann aktiviert wurde, verwendet die App den abgerufenen Wert. Aktivierte Parameterwerte bleiben erhalten.
Wenn kein Wert vom Backend abgerufen wurde oder wenn vom Remote Config-Backend abgerufene Werte 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-Konfigurationsvorlagen herunterladen .
Wenn kein In-App-Standardwert festgelegt wurde, verwendet die App einen statischen Typwert (z. B.
0
fürint
undfalse
fürboolean
).
Diese Grafik fasst zusammen, wie Parameterwerte im Remote Config-Backend und in Ihrer App priorisiert werden:
Parameterwert-Datentypen
Mit Remote Config können Sie für jeden Parameter einen Datentyp auswählen und vor einer Vorlagenaktualisierung alle serverseitigen Werte anhand dieses Typs validieren. Der Datentyp wird gespeichert und bei einer getRemoteConfig
Anfrage zurückgegeben.
Die derzeit unterstützten Typen sind:
-
String
-
Boolean
-
Number
-
JSON
In der Benutzeroberfläche der Firebase-Konsole kann der Datentyp aus einem Dropdown-Menü neben dem Parameterschlüssel ausgewählt werden. In der REST-API können Typen mithilfe des Felds value_type
innerhalb des Parameterobjekts festgelegt werden.
Parametergruppen
Mit Remote Config können Sie Parameter gruppieren, um die Benutzeroberfläche und das mentale Modell besser zu organisieren.
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 Typen wie gewünscht zu aktivieren, und sie dann in einer Gruppe mit dem Namen „Neue Anmeldung“ organisieren, ohne dass Präfixe oder spezielle Sortierungen hinzugefügt werden müssen.
Sie können Parametergruppen mit der Firebase-Konsole oder der Remote Config REST API erstellen. Jede von Ihnen erstellte Parametergruppe hat in Ihrer Remote-Konfigurationsvorlage einen eindeutigen Namen. Beachten Sie beim Erstellen von Parametergruppen Folgendes:
- Parameter können jeweils nur in einer Gruppe enthalten sein und ein Parameterschlüssel muss dennoch für alle Parameter eindeutig sein.
- Parametergruppennamen sind auf 256 Zeichen begrenzt.
- Wenn Sie sowohl die REST-API als auch die Firebase-Konsole verwenden, stellen Sie sicher, dass die gesamte REST-API-Logik aktualisiert wird, um Parametergruppen bei der Veröffentlichung zu verarbeiten.
Erstellen oder ändern Sie Parametergruppen mit der Firebase-Konsole
Sie können Parameter auf der Registerkarte „Parameter“ der Firebase-Konsole gruppieren. So erstellen oder ändern Sie eine Gruppe:
- Wählen Sie Gruppen verwalten aus .
- Aktivieren Sie die Kontrollkästchen für die Parameter, 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, kann sie über die Schaltfläche „Änderungen veröffentlichen“ veröffentlicht werden.
Erstellen Sie Gruppen programmgesteuert
Die Remote Config REST API bietet eine automatisierte Möglichkeit zum Erstellen und Veröffentlichen von Parametergruppen. Vorausgesetzt, Sie sind mit REST vertraut und für die Autorisierung von Anfragen an die API eingerichtet, können Sie die folgenden Schritte ausführen, um Gruppen programmgesteuert zu verwalten:
- Rufen Sie die aktuelle Vorlage ab
- Fügen Sie JSON-Objekte hinzu, um Ihre Parametergruppen darzustellen
- Veröffentlichen Sie die Parametergruppen mithilfe einer HTTP-PUT-Anfrage.
Das parameterGroups
Objekt enthält Gruppenschlüssel mit einer verschachtelten Beschreibung und einer Liste gruppierter Parameter. Beachten Sie, dass jeder Gruppenschlüssel global eindeutig sein muss.
Hier ist zum Beispiel ein Auszug aus einer Vorlagenrevision, die die Parametergruppe „neues Menü“ mit einem Parameter, pumpkin_spice_season
, hinzufügt:
{ "parameters": {}, "version": { "versionNumber": "1", … }, "parameterGroups": { "new menu": { "description": "New Menu", "parameters": { "pumpkin_spice_season": { "defaultValue": { "value": "true" }, "description": "Whether it's currently pumpkin spice season." } } } } }
Bedingungsregeltypen
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 zum bedingten Ausdruck beschrieben.
Regeltyp | Betreiber | Werte) | Notiz |
---|---|---|---|
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 zu Firebase hinzufügen, geben Sie eine Bundle-ID oder einen Android-Paketnamen ein, der ein Attribut definiert, das in Remote-Konfigurationsregeln als App-ID verfügbar gemacht wird. Verwenden Sie dieses Attribut wie folgt:
|
App Version | Für Zeichenfolgenwerte: passt genau, enthält, beinhaltet nicht, regulären Ausdruck Für numerische Werte: =, ≠, >, ≥, <, ≤ | Geben Sie die Version(en) Ihrer App an, auf die Sie abzielen möchten. Bevor Sie diese Regel verwenden, müssen Sie eine App-ID- Regel verwenden, um eine Android-/Apple-App auszuwählen, die Ihrem Firebase-Projekt zugeordnet ist. | Für Apple-Plattformen: Verwenden Sie den CFBundleShortVersionString der App. Hinweis: Stellen Sie sicher, dass Ihre Apple-App das Firebase Apple Platforms SDK Version 6.24.0 oder höher verwendet, da CFBundleShortVersionString in früheren Versionen nicht gesendet wird (siehe Versionshinweise ). Für Android: Verwenden Sie den Versionsnamen der App. Bei Zeichenfolgenvergleichen für diese Regel wird die Groß-/Kleinschreibung beachtet. Wenn Sie die Operatoren „Genau entspricht“ , „ Enthält “, „Enthält nicht“ oder „Regulärer Ausdruck“ verwenden, können Sie mehrere Werte auswählen. Wenn Sie den Operator für reguläre Ausdrücke verwenden, können Sie reguläre Ausdrücke im RE2- Format erstellen. Ihr regulärer Ausdruck kann mit der Zielversionszeichenfolge ganz oder teilweise übereinstimmen. Sie können auch die Anker ^ und $ verwenden, um den Anfang, das Ende oder die Gesamtheit einer Zielzeichenfolge abzugleichen. |
Build-Nummer | Für Zeichenfolgenwerte: passt genau, enthält, beinhaltet nicht, regulären Ausdruck Für numerische Werte: =, ≠, >, ≥, <, ≤ | Geben Sie die Builds Ihrer App als Ziel an. Bevor Sie diese Regel verwenden, müssen Sie eine App-ID- Regel verwenden, um eine Apple- oder Android-App auszuwählen, die Ihrem Firebase-Projekt zugeordnet ist. | Dieser Operator ist nur für Apple- und Android-Apps verfügbar. Es entspricht der CFBundleVersion der App für Apple und dem versionCode für Android. Bei Zeichenfolgenvergleichen für diese Regel wird die Groß-/Kleinschreibung beachtet. Wenn Sie die Operatoren „Genau entspricht“ , „ Enthält “, „Enthält nicht“ oder „Regulärer Ausdruck“ verwenden, können Sie mehrere Werte auswählen. Wenn Sie den Operator für reguläre Ausdrücke verwenden, können Sie reguläre Ausdrücke im RE2- Format erstellen. Ihr regulärer Ausdruck kann mit der Zielversionszeichenfolge ganz oder teilweise übereinstimmen. Sie können auch die Anker ^ und $ verwenden, um den Anfang, das Ende oder die Gesamtheit einer Zielzeichenfolge abzugleichen. |
Plattform | == | iOS Android Netz | |
Betriebssystem | == | Geben Sie das/die Zielbetriebssystem(e) an. Bevor Sie diese Regel verwenden, müssen Sie eine App-ID- Regel verwenden, um eine Web-App auszuwählen, die Ihrem Firebase-Projekt zugeordnet ist. | Diese Regel wird für eine bestimmte Web-App-Instanz als true ausgewertet, wenn das Betriebssystem und seine Version mit einem Zielwert in der angegebenen Liste übereinstimmen. |
Browser | == | Geben Sie den/die Zielbrowser an. Bevor Sie diese Regel verwenden, müssen Sie eine App-ID- Regel verwenden, um eine Web-App auszuwählen, die Ihrem Firebase-Projekt zugeordnet ist. | Diese Regel wird für eine bestimmte Web-App-Instanz als true ausgewertet, wenn der Browser und seine Version mit einem Zielwert in der angegebenen Liste übereinstimmen. |
Gerätekategorie | ist, ist nicht | Handy, Mobiltelefon | Diese Regel wertet aus, ob das Gerät, das auf Ihre Web-App zugreift, mobil oder nicht mobil ist (Desktop oder Konsole). 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, das eine der aufgeführten Sprachen verwendet. |
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 (wenn Analytics-Daten mit Firebase geteilt werden). |
Benutzerzielgruppe(n) | Enthält mindestens eine | Wählen Sie eine oder mehrere aus einer Liste von Google Analytics-Zielgruppen aus, die Sie für Ihr Projekt eingerichtet haben. | Diese Regel erfordert eine App-ID-Regel, um eine mit Ihrem Firebase-Projekt verknüpfte App auszuwählen. Hinweis: Da viele Analytics-Zielgruppen durch Ereignisse oder Benutzereigenschaften definiert werden, die auf den Aktionen von App-Benutzern basieren können, kann es einige Zeit dauern, bis eine Benutzer-in-Zielgruppen- Regel für eine bestimmte App-Instanz wirksam wird. |
Benutzereigenschaft | Für Zeichenfolgenwerte: enthält, beinhaltet nicht, passt genau, regulären Ausdruck Für numerische Werte: =, ≠, >, ≥, <, ≤ Hinweis: Auf dem Client können Sie nur Zeichenfolgenwerte für Benutzereigenschaften festlegen. Für Bedingungen, die numerische Operatoren verwenden, konvertiert Remote Config den Wert der entsprechenden Benutzereigenschaft in einen Integer/Float-Wert. | Wählen Sie aus einer Liste verfügbarer Google Analytics-Benutzereigenschaften aus. | Informationen dazu, wie Sie Benutzereigenschaften verwenden können, um Ihre App für ganz bestimmte Segmente Ihrer Benutzerbasis anzupassen, finden Sie unter Remote-Konfiguration und Benutzereigenschaften . Weitere Informationen zu Benutzereigenschaften finden Sie in den folgenden Leitfäden: Wenn Sie die Operatoren „Genau entspricht“ , „enthält “, „enthält nicht“ oder „Regulärer Ausdruck“ verwenden, können Sie mehrere Werte auswählen. Wenn Sie den Operator für reguläre Ausdrücke verwenden, können Sie reguläre Ausdrücke im RE2- Format erstellen. Ihr regulärer Ausdruck kann mit der Zielversionszeichenfolge ganz oder teilweise übereinstimmen. Sie können auch die Anker ^ und $ verwenden, um den Anfang, das Ende oder die Gesamtheit einer Zielzeichenfolge abzugleichen. Hinweis: Automatisch erfasste Benutzereigenschaften sind derzeit beim Erstellen von Remote-Konfigurationsbedingungen nicht verfügbar. |
Benutzer in zufälligem Prozentsatz | Schieberegler (in der Firebase-Konsole. Die REST-API verwendet die Operatoren <= , > und between ). | 0-100 | Verwenden Sie dieses Feld, um eine Änderung auf eine zufällige Stichprobe von App-Instanzen anzuwenden (mit Stichprobengrößen von nur 0,0001 %), indem Sie das Schieberegler-Widget verwenden, um zufällig gemischte Benutzer (App-Instanzen) in Gruppen zu segmentieren. Jede App-Instanz wird dauerhaft einer zufälligen ganzen oder gebrochenen Zahl zugeordnet, entsprechend einem in diesem Projekt definierten Startwert . Eine Regel verwendet den Standardschlüssel (in der Firebase-Konsole als Startwert bearbeiten angezeigt), es sei denn, Sie ändern den Startwert. Sie können eine Regel wieder auf die Verwendung des Standardschlüssels zurückführen, indem Sie das Feld „Seed“ löschen. Um dieselben App-Instanzen innerhalb bestimmter Prozentbereiche konsistent anzusprechen, verwenden Sie für alle Bedingungen denselben Startwert. Oder wählen Sie eine neue, zufällig zugewiesene Gruppe von App-Instanzen für einen bestimmten Prozentbereich aus, indem Sie einen neuen Startwert angeben. Um beispielsweise zwei verwandte Bedingungen zu erstellen, die jeweils für nicht überlappende 5 % der Benutzer einer App gelten, könnten Sie eine Bedingung so konfigurieren, dass sie einem Prozentsatz zwischen 0 % und 5 % entspricht, und eine andere Bedingung so konfigurieren, dass sie einem Bereich zwischen 5 % und entspricht 10 %. Um zu ermöglichen, dass einige Benutzer zufällig in beiden Gruppen erscheinen, verwenden Sie unterschiedliche Startwerte für die Regeln innerhalb jeder Bedingung. | Importiertes Segment | ist in | Wählen Sie ein oder mehrere importierte Segmente aus. | Diese Regel erfordert die Einrichtung benutzerdefinierter importierter Segmente . |
Terminzeit | Vorher Nachher | Ein angegebenes 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 Zeit mit der Geräteabrufzeit. |
Zuerst öffnen | Vorher Nachher | Ein angegebenes Datum und eine angegebene Uhrzeit in der angegebenen Zeitzone. | Entspricht Benutzern, die die Ziel-App zum ersten Mal innerhalb des angegebenen Zeitraums öffnen. Erfordert die folgenden SDKs:
|
Installations-ID | ist in | Geben Sie eine oder mehrere Installations-IDs (bis zu 50) als Ziel an. | Diese Regel wird für eine bestimmte Installation als true ausgewertet, wenn sich die ID dieser Installation in der durch Kommas getrennten Werteliste befindet.Informationen zum Abrufen von Installations-IDs finden Sie unter Client-IDs abrufen . |
Benutzer existiert | (kein Betreiber) | Zielgruppe sind alle Benutzer aller Apps im aktuellen Projekt. | Verwenden Sie diese Bedingungsregel, um alle Benutzer innerhalb des Projekts abzugleichen, unabhängig von App oder Plattform. |
Suche nach Parametern und Bedingungen
Sie können die Parameterschlüssel, Parameterwerte und Bedingungen Ihres Projekts über die Firebase-Konsole mithilfe des Suchfelds oben auf der Registerkarte „Remote- Konfigurationsparameter“ durchsuchen.
Grenzen für Parameter und Bedingungen
Innerhalb eines Firebase-Projekts 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 englischen Buchstaben (AZ, az) beginnen und dürfen auch Zahlen enthalten. Die Gesamtlänge der Parameterwertzeichenfolgen innerhalb eines Projekts darf 1.000.000 Zeichen nicht überschreiten.
Anzeigen von Änderungen an Parametern und Bedingungen
Sie können die neuesten Änderungen an Ihren Remote-Konfigurationsvorlagen über die Firebase-Konsole anzeigen. Für jeden einzelnen Parameter und jede einzelne Bedingung können Sie:
Zeigen Sie den Namen des Benutzers an, der den Parameter oder die Bedingung zuletzt geändert hat.
Wenn die Änderung am selben Tag erfolgte, zeigen Sie die Anzahl der Minuten oder Stunden an, die seit der Veröffentlichung der Änderung in der aktiven Remote-Konfigurationsvorlage vergangen sind.
Wenn die Änderung vor einem oder mehreren Tagen stattgefunden hat, sehen Sie sich das Datum an, an dem die Änderung in der aktiven Remote-Konfigurationsvorlage veröffentlicht wurde.
Parameteraktualisierungen
Auf der Seite „Remote- Konfigurationsparameter“ zeigt die Spalte „Zuletzt veröffentlicht“ den letzten Benutzer an, der die einzelnen Parameter geändert hat, sowie das letzte Veröffentlichungsdatum für die Änderung:
Um Änderungsmetadaten für gruppierte Parameter anzuzeigen, erweitern Sie die Parametergruppe.
Um in aufsteigender oder absteigender Reihenfolge nach Veröffentlichungsdatum zu sortieren, klicken Sie auf die Spaltenbezeichnung „Zuletzt veröffentlicht“ .
Zustandsaktualisierungen
Auf der Seite „Remote- Konfigurationsbedingungen“ können Sie neben „Zuletzt geändert“ unter jeder Bedingung den letzten Benutzer sehen, der die Bedingung geändert hat, sowie das Datum, an dem er sie geändert hat.
Nächste Schritte
Um mit der Konfiguration Ihres Firebase-Projekts zu beginnen, lesen Sie Einrichten eines Firebase-Remote-Konfigurationsprojekts .