RemoteConfig

Eine RemoteConfig stellt eine Remote-Konfigurationsvorlage dar.

Die Remote-Konfigurationsvorlage eines Projekts wird beim Abruf jeder Anwendungsinstanz ausgewertet.

Der aufgelöste Wert eines Parameters wird wie folgt ermittelt:

Angesichts der conditional values , die sich auf true conditions für die Anwendungsinstanz beziehen, ist der aufgelöste Wert des Parameters der Bedingungswert, dessen name in der conditions list am frühesten steht.

Andernfalls wird der aufgelöste Wert auf den default value gesetzt, wenn der Parameter einen Standardwert hat.

Andernfalls hat der Parameter keinen Wert und wird im Ergebnis, das die Anwendungsinstanz abruft, weggelassen.

Nehmen wir zum Beispiel an, wir haben den Parameterschlüssel „ fruit mit dem Standardwert „ pear “ und dem bedingten Wert „submap {"is_ios": "apple", "is_in_20_percent": "banana"} wobei "is_ios" und "is_20_percent" die Namen der Bedingungen in der Reihenfolge sind Zustandsliste. Der Wert von fruit würde zu apple ausgewertet, wenn is_ios wahr ist. Andernfalls, wenn is_in_20_percent true ist, würde „ fruit zu „ banana ausgewertet werden, und wenn is_ios “ und is_in_20_percent beide „false“ sind, würde „ fruit “ zu pear ausgewertet werden. Wenn kein Standardwert angegeben wurde und is_ios und is_in_20_percent beide falsch waren, würde vom Remote Config-Server kein Wert für fruit an den Client zurückgegeben.

Sobald die Remote-Konfigurationsvorlage eines Projekts über einen erfolgreichen Aufruf projects.updateRemoteConfig veröffentlicht wurde, können Clients diese Parameterwerte abrufen und sie den Benutzern anzeigen.

JSON-Darstellung
{
  "conditions": [
    {
      object (RemoteConfigCondition)
    }
  ],
  "parameters": {
    string: {
      object (RemoteConfigParameter)
    },
    ...
  },
  "version": {
    object (Version)
  },
  "parameterGroups": {
    string: {
      object (RemoteConfigParameterGroup)
    },
    ...
  }
}
Felder
conditions[]

object ( RemoteConfigCondition )

Eine Liste der Bedingungen in absteigender Reihenfolge nach Priorität.

Die Werte der google.firebase.remoteconfig.v1.RemoteConfigCondition.name -Einträge müssen eindeutig sein.

parameters

map (key: string, value: object ( RemoteConfigParameter ))

Zuordnung von Parameterschlüsseln zu ihren optionalen Standardwerten und optionalen bedingten Werten.

Ein Objekt, das eine Liste von "key": value Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

version

object ( Version )

Nur Ausgabe, mit Ausnahme der description . Metadaten, die einer bestimmten Version einer Vorlage zugeordnet sind. Das Beschreibungsfeld einer Version kann in projects.updateRemoteConfig Aufrufen angegeben werden.

parameterGroups

map (key: string, value: object ( RemoteConfigParameterGroup ))

Zuordnung von Parametergruppennamen zu ihren Beschreibungen und gruppierten Parametern. Der Name einer Gruppe ist veränderbar, muss jedoch unter den Gruppen in der Konfiguration eindeutig sein. Der Name ist auf 256 Zeichen begrenzt und soll für Menschen lesbar sein. Alle Unicode-Zeichen sind zulässig.

Gruppen verfügen über eine Liste von Parametern, die es Benutzern der API ermöglicht, Parameter, die mit derselben Funktion oder demselben Thema verknüpft sind, zu gruppieren, um den organisatorischen Zugriff zu erleichtern.

Beispielsweise kann eine Parametergruppe mit dem Namen „Suche V2“ die description „Neue mobile Suchansicht“ haben und Parameter für das Layout und die Schriftart der neuen Suche enthalten.

Ein Objekt, das eine Liste von "key": value Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

RemoteConfigCondition

Eine Bedingung, die auf eine bestimmte Benutzergruppe abzielt. Eine Liste dieser Bedingungen ist Teil eines RemoteConfig-Objekts.

JSON-Darstellung
{
  "name": string,
  "expression": string,
  "tagColor": enum (ConditionDisplayColor)
}
Felder
name

string

Erforderlich. Ein nicht leerer und eindeutiger Name dieser Bedingung.

expression

string

Erforderlich. Die Logik dieser Bedingung.

Informationen zur erwarteten Syntax dieses Felds finden Sie in der Dokumentation zu Bedingungsausdrücken .

tagColor

enum ( ConditionDisplayColor )

Optional. Die dieser Bedingung zugeordnete Farbe für Anzeigezwecke in der Firebase-Konsole. Wenn Sie diesen Wert nicht angeben oder „CONDITION_DISPLAY_COLOR_UNSPECIFIED“ haben, wählt die Konsole eine beliebige Farbe aus, die der Bedingung zugeordnet werden soll.

ConditionDisplayColor

Liste der Farben, die zu Anzeigezwecken Bedingungen zugeordnet sind.

Aufzählungen
CONDITION_DISPLAY_COLOR_UNSPECIFIED
BLUE Blau
BROWN Braun
CYAN Cyan
DEEP_ORANGE auch bekannt als „Rot-Orange“
GREEN Grün
INDIGO Indigo
LIME Kalk
ORANGE Orange
PINK Rosa
PURPLE Lila
TEAL Blaugrün

RemoteConfigParameter

Ein Parameterwert, der einem Parameterschlüssel in google.firebase.remoteconfig.v1.RemoteConfig.parameters zugeordnet ist.

Damit der Parameter eine Wirkung hat, sollte mindestens ein Eintrag defaultValue oder „ conditionalValues vorhanden sein.

JSON-Darstellung
{
  "defaultValue": {
    object (RemoteConfigParameterValue)
  },
  "conditionalValues": {
    string: {
      object (RemoteConfigParameterValue)
    },
    ...
  },
  "description": string,
  "valueType": enum (ParameterValueType)
}
Felder
defaultValue

object ( RemoteConfigParameterValue )

Optional – Wert, auf den der Parameter gesetzt werden soll, wenn keine der genannten Bedingungen als true ausgewertet wird.

conditionalValues

map (key: string, value: object ( RemoteConfigParameterValue ))

Optional – eine Karte ( condition name , Wert). Der Bedingungsname mit der höchsten Priorität (der in der Bedingungsliste von RemoteConfig zuerst aufgeführt ist) bestimmt den Wert dieses Parameters.

Ein Objekt, das eine Liste von "key": value Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

description

string

Optional. Eine Beschreibung für diesen Parameter. Seine Länge muss kleiner oder gleich 256 Zeichen sein. Eine Beschreibung kann beliebige Unicode-Zeichen enthalten.

valueType

enum ( ParameterValueType )

Der Datentyp für alle Werte dieses Parameters in der aktuellen Version der Vorlage. Standardmäßig ParameterValueType.STRING , wenn nicht angegeben.

RemoteConfigParameterValue

Eine RemoteConfigParameterValue-Ressource enthält den Wert, den ein Parameter haben kann.

JSON-Darstellung
{

  // Union field value_option can be only one of the following:
  "value": string,
  "useInAppDefault": boolean,
  "personalizationValue": {
    object (PersonalizationValue)
  }
  // End of list of possible types for union field value_option.
}
Felder
Union-Feld value_option . Ein RemoteConfigParameterValue besteht entweder aus einer Zeichenfolge (Wert) oder einem booleschen Wert (use_in_app_default, ggf. auf true gesetzt). value_option kann nur einer der folgenden Werte sein:
value

string

Der Zeichenfolgenwert, auf den der Parameter festgelegt ist.

useInAppDefault

boolean

Wenn „true“, wird der Parameter in den an einen Client zurückgegebenen Parameterwerten weggelassen.

personalizationValue

object ( PersonalizationValue )

Ein dynamischer, benutzerspezifischer Wert, der beim Abrufen der Konfiguration berechnet wird.

Personalisierungswert

Enthält die notwendigen Informationen, um einen personalisierten Wert abzurufen.

JSON-Darstellung
{
  "personalizationId": string
}
Felder
personalizationId

string

Bezeichner, der eine Personalisierungsdefinition darstellt. Diese Definition wird verwendet, um den Wert zum Zeitpunkt des Konfigurationsabrufs aufzulösen. Dieser vom System generierte Wert sollte nicht geändert werden.

ParameterValueType

Akzeptierte Datentypen für Parameterwerte.

Aufzählungen
PARAMETER_VALUE_TYPE_UNSPECIFIED Catch-All für nicht erkannte Enum-Werte.
STRING Stellt String-Werte dar.
BOOLEAN Stellt boolesche Werte dar („wahr“ oder „falsch“).
NUMBER Stellt sowohl positive als auch negative Ganzzahl- und Gleitkommawerte dar.
JSON Stellt JSON-Werte dar.

RemoteConfigParameterGroup

Eine benannte Gruppe von Parametern. Das Gruppieren von Parametern dient nur Verwaltungszwecken und hat keinen Einfluss auf das clientseitige Abrufen von Parameterwerten.

JSON-Darstellung
{
  "description": string,
  "parameters": {
    string: {
      object (RemoteConfigParameter)
    },
    ...
  }
}
Felder
description

string

Optional. Eine Beschreibung für die Gruppe. Seine Länge muss kleiner oder gleich 256 Zeichen sein. Eine Beschreibung kann beliebige Unicode-Zeichen enthalten.

parameters

map (key: string, value: object ( RemoteConfigParameter ))

Zuordnung von Parameterschlüsseln zu ihren optionalen Standardwerten und optionalen bedingten Werten für Parameter, die zu dieser Gruppe gehören. Ein Parameter erscheint nur einmal pro RemoteConfig: Ein nicht gruppierter Parameter erscheint auf der obersten Ebene; Ein innerhalb einer Gruppe organisierter Parameter erscheint in der Parameterkarte seiner Gruppe.

Ein Objekt, das eine Liste von "key": value Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" } .