Remote-Konfigurationsparameter und -bedingungen

Wenn Sie die Firebase-Konsole oder die Remote Config-Back-End-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, aber Parameterwerte können in andere Datentypen umgewandelt werden, wenn Sie diese Werte in Ihrer App verwenden.

Mit der Firebase-Konsole 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-Konfigurationsvorlage. Die vorherige Version wird gespeichert, sodass Sie sie nach Bedarf abrufen oder zurücksetzen können. Diese Operationen stehen Ihnen auch über die REST-API zur Verfügung.

Dieser Leitfaden erläutert Parameter, Bedingungen, Regeln, bedingte Werte und wie verschiedene Parameterwerte auf dem Remote Config Server und in Ihrer App priorisiert werden. Außerdem enthält es Details zu den Regeltypen, die zum Erstellen von Bedingungen verwendet werden.

Bedingungen, Regeln und bedingte Werte

Eine Bedingung wird verwendet, um auf eine Gruppe von App-Instanzen abzuzielen. 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 diese Regel als false ausgewertet.

Beispielsweise könnte ein Parameter, der die Begrüßungsseite einer App definiert, unterschiedliche Bilder basierend auf dem Betriebssystemtyp anzeigen, indem die einfache Regel if device_os = Android :

Screenshot des Parameters „splash_page“ in der Firebase-Konsole mit dem Standardwert für iOS und dem bedingten Wert für Android

Oder eine Zeitbedingung könnte verwendet werden, um zu steuern, wann Ihre App spezielle Werbeartikel anzeigt.

Ein Parameter kann mehrere bedingte Werte haben, die unterschiedliche Bedingungen verwenden, und Parameter können Bedingungen innerhalb eines Projekts gemeinsam verwenden. 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.

Parameterwertprioritä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. Zuerst werden bedingte Werte angewendet, falls Bedingungen vorhanden sind, die für eine bestimmte App-Instanz als true ausgewertet werden. Wenn mehrere Bedingungen zu true ausgewertet werden, hat die erste (oberste) Bedingung, die in der Benutzeroberfläche der Firebase-Konsole angezeigt wird, Vorrang, und bedingte Werte, die dieser Bedingung zugeordnet sind, werden bereitgestellt, wenn eine App Werte aus dem Back-End abruft. Sie können die Priorität von Bedingungen ändern, indem Sie Bedingungen auf der Registerkarte Bedingungen ziehen und ablegen.

  2. Wenn es keine bedingten Werte mit Bedingungen gibt, die als true ausgewertet werden, wird der serverseitige Standardwert bereitgestellt, wenn eine App Werte vom Back-End abruft. Wenn ein Parameter im Back-End 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

  1. Wenn ein Wert aus dem Backend abgerufen und dann aktiviert wurde, verwendet die App den abgerufenen Wert. Aktivierte Parameterwerte sind persistent.
  2. 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 Config-Vorlagen herunterladen .

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

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

Diagramm, das den durch die geordneten Listen oben beschriebenen Fluss zeigt

Parameterwert-Datentypen

Remote Config ermöglicht Ihnen die Auswahl eines Datentyps für jeden Parameter und validiert alle serverseitigen Werte anhand dieses Typs vor einer Vorlagenaktualisierung. Der Datentyp wird gespeichert und bei einer getRemoteConfig Anforderung 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 neben dem Parameterschlüssel ausgewählt werden. In der REST-API können Typen mithilfe des value_type innerhalb des Parameterobjekts festgelegt werden.

Parametergruppen

Remote Config ermöglicht es Ihnen, Parameter für eine besser organisierte Benutzeroberfläche und ein mentales Modell zu 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 mit dem Namen „Neue Anmeldung“ organisieren, ohne dass Präfixe oder eine spezielle Sortierung hinzugefügt werden 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 immer 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 jegliche 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:

  1. Wählen Sie Gruppen verwalten aus .
  2. Aktivieren Sie die Kontrollkästchen für Parameter, 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, 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 eingerichtet, um Anfragen an die API zu autorisieren, können Sie diese Schritte ausführen, um Gruppen programmgesteuert zu verwalten:

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

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 Vorlagenüberarbeitung, 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 zu bedingten Ausdrücken 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 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 angezeigt wird.

Verwenden Sie dieses Attribut wie folgt:
  • Für Apple-Plattformen: Verwenden Sie den CFBundleIdentifier der App. Sie finden die Bundle-ID auf der Registerkarte „ Allgemein “ für das primäre Ziel Ihrer App in Xcode.
  • Für Android: Verwenden Sie die applicationId der App. Sie finden die applicationId -ID in Ihrer build.gradle -Datei auf App-Ebene.
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 ausgerichtet werden soll.

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 Firebase Apple-Plattformen SDK Version 6.24.0 oder höher verwendet, da CFBundleShortVersionString nicht in früheren Versionen gesendet wird (siehe Versionshinweise ).

Für Android: Verwenden Sie den versionName der App.

Bei Zeichenfolgenvergleichen für diese Regel wird zwischen Groß- und Kleinschreibung unterschieden. Wenn Sie den Operator „ Genaue Übereinstimmungen “, „Enthält“, „ Enthält nicht “ oder „ Reguläre Ausdrücke “ verwenden, können Sie mehrere Werte auswählen.

Bei Verwendung des Operators für reguläre Ausdrücke 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 an, auf die abgezielt werden soll.

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. Er entspricht der CFBundleVersion der App für Apple und dem versionCode für Android. Bei Zeichenfolgenvergleichen für diese Regel wird zwischen Groß- und Kleinschreibung unterschieden.

Wenn Sie den Operator „ Genaue Übereinstimmungen “, „Enthält“, „ Enthält nicht “ oder „ Reguläre Ausdrücke “ verwenden, können Sie mehrere Werte auswählen.

Bei Verwendung des Operators für reguläre Ausdrücke 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 Ziel-Betriebssystem(e) an.

Bevor Sie diese Regel verwenden, müssen Sie eine App-ID -Regel verwenden, um eine mit Ihrem Firebase-Projekt verknüpfte Web-App auszuwählen.

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 oder die Browser an, auf die abgezielt werden soll.

Bevor Sie diese Regel verwenden, müssen Sie eine App-ID -Regel verwenden, um eine mit Ihrem Firebase-Projekt verknüpfte Web-App auszuwählen.

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 (Desktop 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, 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 mithilfe 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 einen 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-Zielgruppe- 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 eine Ganzzahl/Float.
Wählen Sie aus einer Liste verfügbarer Google Analytics-Benutzereigenschaften aus. Um zu erfahren, wie Sie Benutzereigenschaften verwenden können, um Ihre App für ganz bestimmte Segmente Ihrer Benutzerbasis anzupassen, lesen Sie Remote-Konfiguration und Benutzereigenschaften .

Weitere Informationen zu Benutzereigenschaften finden Sie in den folgenden Anleitungen:

Wenn Sie den Operator „ Genaue Übereinstimmung “, „Enthält“, „ Enthält nicht “ oder „ Regulärer Ausdruck “ verwenden, können Sie mehrere Werte auswählen.

Bei Verwendung des Operators für reguläre Ausdrücke 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 gesammelte Benutzereigenschaften sind derzeit nicht verfügbar, wenn Remote Config-Bedingungen erstellt werden.
Benutzer im zufälligen Perzentil <=, > 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 die Operatoren <= und > verwenden, um Benutzer (App-Instanzen) in Gruppen zu segmentieren.

Jede App-Instanz wird gemäß einem in diesem Projekt definierten Schlüssel dauerhaft einer zufälligen ganzen oder gebrochenen Zahl zugeordnet. Eine Regel verwendet den Standardschlüssel (in der Firebase-Konsole als DEF angezeigt), es sei denn, Sie wählen oder erstellen einen anderen Schlüssel. Sie können eine Regel wieder auf die Verwendung des Standardschlüssels zurücksetzen, indem Sie das Feld Randomize users using this key deaktivieren. Sie können einen einzigen Schlüssel regelübergreifend verwenden, um dieselben App-Instanzen innerhalb bestimmter Prozentbereiche konsistent 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.

Um beispielsweise zwei verwandte Bedingungen zu erstellen, die jeweils für nicht überlappende 5 % der Nutzer einer App gelten, könnten Sie eine Bedingung eine <= 5 % -Regel und eine andere Bedingung sowohl eine > 5 % -Regel als auch ein <= enthalten lassen 10% -Regel. Um zu ermöglichen, dass einige Benutzer zufällig in beiden Gruppen erscheinen, verwenden Sie unterschiedliche Schlüssel für die Regeln in 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 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.
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 die ID dieser Installation in der durch Kommas getrennten Werteliste enthalten ist.

Informationen zum Abrufen von Installations-IDs finden Sie unter Abrufen von Client- IDs .

Suche nach Parametern und Bedingungen

Sie können die Parameterschlüssel, Parameterwerte und Bedingungen Ihres Projekts in der Firebase-Konsole mithilfe des Suchfelds oben auf der Registerkarte „Remote Config Parameters “ durchsuchen.

Einschränkungen bei Parametern und Bedingungen

Innerhalb eines Firebase-Projekts 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 Ziffern enthalten. Die Gesamtlänge der Parameterwert-Strings 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 Config-Vorlagen in der Firebase-Konsole anzeigen . Für jeden einzelnen Parameter und Zustand 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 aufgetreten ist, zeigen Sie die Anzahl der Minuten oder Stunden an, die vergangen sind, seit die Änderung in der aktiven Remote-Konfigurationsvorlage veröffentlicht wurde.

  • Wenn die Änderung einen oder mehrere Tage in der Vergangenheit aufgetreten ist, zeigen Sie das Datum an, an dem die Änderung in der aktiven Remote Config-Vorlage veröffentlicht wurde.

Parameter-Updates

Auf der Seite „Remote-Konfigurationsparameter“ zeigt die Spalte „Zuletzt veröffentlicht“ den letzten Benutzer an, der jeden 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 dem Veröffentlichungsdatum zu sortieren, klicken Sie auf die Spaltenbezeichnung Zuletzt veröffentlicht .

Zustandsaktualisierungen

Auf der Seite „Remote-Konfigurationsbedingungen“ können Sie den letzten Benutzer, der die Bedingung geändert hat, und das Datum, an dem er sie geändert hat, neben „ Zuletzt geändert “ unter jeder Bedingung sehen.

Nächste Schritte

Informationen zum Konfigurieren Ihres Firebase-Projekts finden Sie unter Einrichten eines Firebase-Remote- Konfigurationsprojekts .