Parameter und Bedingungen für die Remote-Konfiguration

Wenn Firebase Konsole oder der Remote - Backend Config APIs definieren Sie einen oder mehrere Parameter (Schlüssel-Wert - Paare) , und für diese Parameter Standardwerte in-app bereitzustellen. Sie können In-App-Standardwerte überschreiben, indem Sie serverseitige Parameterwerte definieren. Parameterschlüssel und Parameterwerte sind Zeichenfolgen, aber Parameterwerte können in andere Datentypen umgewandelt werden, wenn Sie diese Werte in Ihrer App verwenden.

Mit Hilfe der Firebase - Konsole oder das Remote - Config - REST - API , können Sie neue Standardwerte für Ihre Parameter erstellen, sowie bedingte Werte, den Zielgruppen 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 zurücksetzen können. Diese Operationen stehen Ihnen auch über die REST-API zur Verfügung.

In diesem Handbuch werden Parameter, Bedingungen, Regeln, bedingte Werte und die Priorisierung verschiedener Parameterwerte auf dem Remote-Konfigurationsserver und in Ihrer App erläutert. Es enthält auch Details zu den Arten von Regeln, die zum Erstellen von Bedingungen verwendet werden.

Bedingungen, Regeln und bedingte Werte

Eine Bedingung wird verwendet, um auf eine Gruppe von App-Instanzen abzuzielen. Die Bedingungen werden von einer oder mehreren Regeln aus , die alle bewerten müssen true für die Bedingung zu bewerten true für eine bestimmte App - Instanz. Wenn der Wert für eine Regel (zum Beispiel, wenn kein Wert vorhanden ist) nicht definiert ist, wird diese Regel bewerten false .

Zum Beispiel kann ein Parameter, der ein App Splash - Seite definiert könnte verschiedene Bilder auf Basis von OS - Typ mit der einfachen Regel angezeigt , if device_os = Android :

Oder eine Zeitbedingung könnte verwendet werden , Werbeartikel zu steuern , wenn Sie Ihre App - Anzeigen besonders.

Ein Parameter kann mehrere bedingte Werte haben, die unterschiedliche Bedingungen verwenden, und Parameter können Bedingungen innerhalb eines Projekts gemeinsam nutzen. In der Registerkarte Parameter der Firebase - Konsole können Sie den Abruf sehen Prozentsatz für jeden bedingten Werte des Parameters. Diese Metrik gibt den Prozentsatz der Anfragen in den letzten 24 Stunden an, die jeden Wert erhalten haben.

Parameterwert Priorität

Einem Parameter können mehrere bedingte Werte zugeordnet sein. Die folgenden Regeln bestimmen, welcher Wert vom Remote Config Server 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

  1. Zunächst werden bedingte Werte angezeigt , wenn überhaupt Bedingungen, die zu bewerten true für eine bestimmte App - Instanz. Wenn mehrere Bedingungen zu bewerten true , die erste (oberste) eine in der Konsole Firebase UI gezeigt hat Vorrang, und Bedingungswerte mit diesem Zustand assoziiert sind , zur Verfügung gestellt , wenn eine app - Werte aus dem Backend abruft. Sie können die Priorität der Bedingungen ändern durch Ziehen und Bedingungen in der Registerkarte Bedingungen fallen zu lassen.

  2. Wenn es keine Bedingungswerte mit Bedingungen, die zu bewerten true , die serverseitige Standardwert wird bereitgestellt , wenn eine App Werte aus dem Backend abruft. Wenn ein Parameter nicht im Backend nicht vorhanden ist , oder wenn der Standardwert zu verwenden ist festgelegt in-Anwendungsstandard, dann wird kein Wert für den Parameter bereitgestellt wird, wenn eine Anwendung Wert abruft.

In der App werden Parameterwerte durch zurück get Methoden nach folgenden Prioritätenliste

  1. Wenn ein Wert aus dem Backend geholt und dann aktiviert wurde, verwendet die App den geholten Wert. Aktivierte Parameterwerte sind persistent.
  2. Wenn kein Wert aus dem Back-End abgerufen wurde oder wenn Werte aus dem Remote Config-Backend nicht aktiviert wurden, verwendet die App den In-App-Standardwert.
  3. Wenn kein In-App - Standardwert eingestellt worden ist, verwendet die Anwendung , um einen statischen Typwert (wie beispielsweise 0 für int und false für boolean ).

Diese Grafik fasst zusammen, wie Parameterwerte im Remote Config-Back-End und in Ihrer App priorisiert werden:

Parameterwert-Datentypen

Remote Config ermöglicht Ihnen die Auswahl eines Datentyps für jeden Parameter und validiert alle serverseitigen Werte mit diesem Typ vor einer Vorlagenaktualisierung. Der Datentyp wird gespeichert und auf einer zurück getRemoteConfig Anfrage.

Die derzeit unterstützten Typen sind:

  • String
  • Boolean
  • Number
  • JSON

In der Benutzeroberfläche der Firebase-Konsole kann der Datentyp aus einer Dropdown-Liste neben dem Parameterschlüssel ausgewählt werden. In dem Rest können API - Typen die Verwendung eingestellt werden value_type Feld innerhalb des Parameterobjekts.

Parametergruppen

Mit Remote Config können Sie Parameter für eine besser organisierte Benutzeroberfläche und ein besseres mentales Modell gruppieren.

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 Typen wie gewünscht zu aktivieren, und sie dann in einer Gruppe namens "Neuer Login" organisieren, ohne Präfixe oder spezielle Sortierungen hinzufügen zu müssen.

Sie können Parametergruppen mithilfe der Firebase-Konsole 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 immer nur in einer Gruppe enthalten sein und ein Parameterschlüssel muss dennoch über alle Parameter hinweg eindeutig sein.
  • Parametergruppennamen sind auf 256 Zeichen beschränkt.
  • Wenn Sie sowohl die REST-API als auch die Firebase-Konsole verwenden, stellen Sie sicher, dass die REST-API-Logik aktualisiert wird, um Parametergruppen bei der Veröffentlichung zu verarbeiten.

Parametergruppen mit der Firebase-Konsole erstellen oder ändern

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

  1. Wählen Sie Gruppen verwalten.
  2. Wählen Sie Kontrollkästchen für Parameter Sie hinzufügen möchten , und verschieben zu Gruppe auswählen.
  3. Wählen Sie eine bestehende Gruppe oder eine neue Gruppe von der Eingabe des Namens und der Beschreibung und Auswählen Neue Gruppe erstellen. Nachdem Sie eine Gruppe zu speichern, ist es verfügbar , um die Publish Schaltfläche Änderungen werden veröffentlicht werden.

Gruppen programmatisch erstellen

Das Remote - Config - REST - API bietet eine automatisierte Art und Weise Parametergruppen zu erstellen und zu veröffentlichen. Vorausgesetzt, Sie sind mit REST vertraut und eingerichtet, Anfragen an die API zu autorisieren, können Sie die folgenden Schritte ausführen, um Gruppen programmgesteuert zu verwalten:

  1. Abrufen der aktuellen Vorlage
  2. Fügen Sie JSON-Objekte hinzu, um Ihre Parametergruppen darzustellen
  3. Veröffentlichen Sie die Parametergruppen mithilfe einer HTTP-PUT-Anforderung.

Die parameterGroups Objekt enthält Gruppenschlüssel, mit einer verschachtelten Beschreibung und die Liste von Parametern gruppiert. Beachten Sie, dass jeder Gruppenschlüssel global eindeutig sein muss.

Zum Beispiel, hier ist ein Auszug aus einer Vorlage Revision, die die Parametergruppe „neues Menü“ mit einem Parameter, fügt pumpkin_spice_season :

{
  "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."
        }
      }
    }
  }
}

Konditionsregeltypen

Die folgenden Regeltypen werden in der Firebase-Konsole unterstützt. Äquivalente Funktionalität ist in dem Remote - Config REST - API zur Verfügung, wie in dem detaillierten Bedingungsausdruck Bezug .

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 auf Firebase hinzuzufügen, geben Sie ein iOS - Bundle - ID oder Android Paketnamen , die definiert , ein Attribut , das als App - ID in Remote - Config Regeln ausgesetzt ist.

Verwenden Sie dieses Attribut wie folgt:
  • Für iOS: Verwenden Sie die App CFBundleIdentifier . Sie können die Bundle Identifier in der Registerkarte Allgemein für Ihre App primären Ziel in Xcode finden.
  • Für Android: Verwenden Sie die App applicationId . Sie können die finden applicationId in Ihrer App-Ebene build.gradle Datei.
App Version Für Zeichenfolgenwerte:
stimmt genau überein,
enthält,
beinhaltet nicht,
regulären Ausdruck

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

Geben Sie die Version(en) Ihrer App für das Targeting an.

Vor Verwendung dieser Regel müssen Sie eine App - ID - Regel verwenden , um ein Android / iOS - App mit Ihrem Firebase Projekt verbunden zu wählen.

Für iOS: Verwenden Sie die App CFBundleShortVersionString .

Hinweis: Stellen Sie sicher , dass Ihr iOS - App ist mit iOS SDK Firebase Version 6.24.0 oder höher, als CFBundleShortVersionString nicht in früheren Versionen (siehe gesendet werden wird , Release Notes ).

Für Android: Verwenden Sie die App - version .

Bei Zeichenfolgenvergleichen für diese Regel muss die Groß-/Kleinschreibung beachtet werden. Wenn die genau Streichhölzern, enthält, enthält nicht, oder einen regulären Ausdruck Operator können Sie mehrere Werte auswählen.

Wenn der regulären Ausdruck Operator verwenden, können Sie reguläre Ausdrücke in erstellen RE2 - Format. Ihr regulärer Ausdruck kann mit der gesamten oder einem Teil der Zielversionszeichenfolge übereinstimmen. Sie können auch den ^ und $ Anker verwenden den Anfang, Ende oder Gesamtheit einer Zielzeichenfolge übereinstimmen.

Build-Nummer Für Zeichenfolgenwerte:
stimmt genau überein,
enthält,
beinhaltet nicht,
regulären Ausdruck

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

Geben Sie den/die Build(s) Ihrer App für das Targeting an.

Vor Verwendung dieser Regel müssen Sie eine App - ID - Regel verwenden , um einen iOS- oder Android - App mit Ihrem Firebase Projekt verbunden zu wählen.

Dieser Operator ist nur für iOS- und Android-Apps verfügbar. Sie entspricht der App CFBundleVersion für iOS und version für Android. Bei Zeichenfolgenvergleichen für diese Regel muss die Groß-/Kleinschreibung beachtet werden.

Wenn die genau Streichhölzern, enthält, enthält nicht, oder einen regulären Ausdruck Operator können Sie mehrere Werte auswählen.

Wenn der regulären Ausdruck Operator verwenden, können Sie reguläre Ausdrücke in erstellen RE2 - Format. Ihr regulärer Ausdruck kann mit der gesamten oder einem Teil der Zielversionszeichenfolge übereinstimmen. Sie können auch den ^ und $ Anker verwenden den Anfang, Ende oder Gesamtheit einer Zielzeichenfolge übereinstimmen.

Plattform == iOS
Android
Netz
Betriebssystem ==

Geben Sie das/die Zielbetriebssystem(e) an.

Bevor diese Regel verwendet, müssen Sie eine App - ID - Regel verwenden , um einen Web - App zu wählen , die mit Ihrem Projekt Firebase.

Diese Regel auswertet , um true für eine bestimmte Web App - Instanz , wenn das Betriebssystem und seine Version eines Zielwert in der angegebenen Liste übereinstimmt.
Browser ==

Geben Sie die Browser an, die als Ziel verwendet werden sollen.

Bevor diese Regel verwendet, müssen Sie eine App - ID - Regel verwenden , um einen Web - App zu wählen , die mit Ihrem Projekt Firebase.

Diese Regel auswertet , um true für eine bestimmte Web App - Instanz , wenn der Browser und seine Version eines Zielwert in der angegebenen Liste übereinstimmt.
Terminzeit <=, > Ein bestimmtes Datum und eine bestimmte Uhrzeit, entweder in der Zeitzone des Geräts oder in einer bestimmten Zeitzone wie "(GMT+11) Sydney time". Vergleicht die aktuelle Uhrzeit mit der Geräteabrufzeit.
Benutzer im zufälligen Perzentil <=, > 0-100

Verwenden Sie dieses Feld eine Änderung an einer Stichprobe von App - Instanzen anzuwenden (mit Stichprobengrößen so klein wie 0,0001%), mit der <= und> Betreiber Segment Benutzer (App - Instanzen) in Gruppen.

Jede Instanz wird app auf eine zufällige ganze oder gebrochene Zahl persistent kartiert, nach einem Schlüssel in diesem Projekt definiert. Eine Regel wird die Standardschlüssel (dargestellt als DEF in Firebase - Konsole) verwenden , wenn Sie einen anderen Schlüssel auswählen oder erstellen. Sie können eine Regel geben die Standardschlüssel durch Löschen der Randomize Benutzer mit diesem Schlüsselfeld zu verwenden. Sie können einen einzelnen Schlüssel regelübergreifend verwenden, um konsistent dieselben App-Instanzen innerhalb bestimmter Prozentbereiche zu adressieren. Oder Sie können eine neue zufällig zugewiesene Gruppe von App-Instanzen für einen bestimmten Prozentbereich auswählen, indem Sie einen neuen Schlüssel erstellen.

Zum Beispiel , um zwei ähnliche Bedingungen , die jeweils mit einem nicht-überlappende 5% einer App - Benutzer anwenden, können Sie eine Bedingung haben ein <= 5% -Regel, und eine weitere Bedingung umfassen sowohl a> 5% -Regel und a <= 10% -Regel. Damit einige Benutzer zufällig in beiden Gruppen erscheinen, verwenden Sie in jeder Bedingung unterschiedliche Schlüssel für die Regeln.

Nutzer im Publikum == 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 App auszuwählen, die mit Ihrem Firebase-Projekt verknüpft ist.

Hinweis: Da viele Analytics Publikum durch Ereignisse oder Benutzereigenschaften definiert, die die Aktionen der App - Nutzer basieren können, kann es einige Zeit für einen Benutzer in Gruppenregel wirksam für eine bestimmte App - Instanz zu nehmen.

Gerät in Region/Land == Wählen Sie eine oder mehrere Regionen oder Länder aus. Diese Regel auswertet , um true für eine bestimmte App - Instanz , wenn die Instanz in eine der Regionen oder Länder aufgeführt ist. 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 (sofern Analytics-Daten mit Firebase geteilt werden) ermittelt.
Gerätesprache == Wählen Sie eine oder mehrere Sprachen aus. Diese Regel auswertet , um true für eine bestimmte App - Instanz , wenn die App - Instanz auf einem Gerät installiert , die aufgelistet einen der Sprachen verwendet.
Benutzereigenschaft Für Zeichenfolgenwerte:
enthält,
beinhaltet nicht,
stimmt genau überein,
regulären Ausdruck

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

Hinweis: Auf dem Client können Sie nur Zeichenfolgenwerte für Benutzereigenschaften festlegen. Bei Bedingungen, die numerische Operatoren verwenden, konvertiert Remote Config den Wert der entsprechenden Benutzereigenschaft in eine Ganzzahl/ein Gleitkommawert.
Wählen Sie aus einer Liste verfügbarer Google Analytics-Nutzereigenschaften aus. Um zu erfahren , wie Sie Ihre App - Benutzereigenschaften anpassen für ganz bestimmte Segmente Ihrer Benutzerbasis verwenden können, finden Remote - Config und Benutzereigenschaften .

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

Wenn die genau Streichhölzern, enthält, nicht enthält oder einen regulären Ausdruck Operator können Sie mehrere Werte auswählen.

Wenn der regulären Ausdruck Operator verwenden, können Sie reguläre Ausdrücke in erstellen RE2 - Format. Ihr regulärer Ausdruck kann mit der gesamten oder einem Teil der Zielversionszeichenfolge übereinstimmen. Sie können auch den ^ und $ Anker verwenden den Anfang, Ende oder Gesamtheit einer Zielzeichenfolge übereinstimmen.

Hinweis: Automatisch gesammelte Benutzereigenschaften sind derzeit nicht verfügbar , wenn Remote - Config Bedingungen zu schaffen.
Importiertes Segment == Wählen Sie ein oder mehrere importierte Segmente aus. Diese Regel erfordert individuelle Einrichtung importierten Segmente .

Parameter und Bedingungen suchen

Sie können Ihr Projekt Parameterschlüssel, Parameterwerte und Bedingungen von der Suche Firebase - Konsole über das Suchfeld am oberen Rand des Remote Config Registerkarte Parameter.

Grenzen von Parametern und Bedingungen

In einem Firebase-Projekt können Sie bis zu 2000 Parameter und bis zu 500 Bedingungen haben. Parameterschlüssel können bis zu 256 Zeichen lang sein, müssen mit einem Unterstrich oder englischen Buchstaben (AZ, az) beginnen und dürfen auch Zahlen enthalten. Die Gesamtlänge der Parameterwertzeichenfolgen innerhalb eines Projekts darf 800.000 Zeichen nicht überschreiten.

Nächste Schritte

Um loszulegen Ihr Projekt Firebase - Konfiguration finden Sie eine Firebase Fern Config Projekt einrichten .