RemoteConfig

RemoteConfig は Remote Config テンプレートを表します。

プロジェクトの Remote Config テンプレートは、各アプリケーション インスタンスのフェッチ時に評価されます。

注: 現在、サーバー テンプレートは割合条件をサポートしています。サポートされていない条件値を含むサーバー テンプレートを公開すると、検証エラーが返されます。詳しくは、サーバー環境の Remote Config をご覧ください。

パラメータの解決値は以下のように決定されます。

アプリケーション インスタンスの true conditions を参照する conditional values の場合、パラメータの解決値は、nameconditions list の中で最も早い条件値になります。

それ以外の場合は、パラメータに default value が含まれている場合、解決された値はデフォルト値に設定されます。

それ以外の場合、このパラメータには値がなく、アプリケーション インスタンスがフェッチする結果から除外されます。

たとえば、パラメータキー fruit とデフォルト値 pear と条件値のサブマップ {"is_ios": "apple", "is_in_20_percent": "banana"} があるとします。ここで、"is_ios""is_20_percent" は順序付けされた条件リスト内の条件の名前です。is_ios が true の場合、fruit の値は apple と評価されます。それ以外の場合、is_in_20_percenttrue の場合、fruitbanana と評価されます。is_iosis_in_20_percent の両方が false の場合、fruitpear と評価されます。デフォルト値が指定されず、is_iosis_in_20_percent の両方が false の場合、fruit の値は Remote Config サーバーからクライアントに返されません。

projects.updateRemoteConfig 呼び出しが成功してプロジェクトの Remote Config テンプレートが公開されると、クライアントはこれらのパラメータ値をフェッチしてユーザーに表示できます。

JSON 表現
{
  "conditions": [
    {
      object (RemoteConfigCondition)
    }
  ],
  "parameters": {
    string: {
      object (RemoteConfigParameter)
    },
    ...
  },
  "version": {
    object (Version)
  },
  "parameterGroups": {
    string: {
      object (RemoteConfigParameterGroup)
    },
    ...
  }
}
フィールド
conditions[]

object (RemoteConfigCondition)

優先度の降順での条件のリスト。

google.firebase.remoteconfig.v1.RemoteConfigCondition.name エントリの値は一意である必要があります。

parameters

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

パラメータキーの、オプションのデフォルト値およびオプションの条件値へのマップ。

"key": value ペアのリストを含むオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }

version

object (Version)

出力専用(バージョン description を除く)。特定のバージョンのテンプレートに関連付けられたメタデータ。バージョンの説明フィールドは、projects.updateRemoteConfig の呼び出しで指定できます。

parameterGroups

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

パラメータ グループ名とその説明およびグループ化されたパラメータとのマッピング。グループの名前は変更可能ですが、設定内のグループ間で一意である必要があります。名前は 256 文字に制限されており、人が読める形式になっています。任意の Unicode 文字を使用できます。

グループにはパラメータ リストがあります。このリストを使用すると、API のユーザーは、同じ機能やテーマに関連付けられたパラメータをグループ化して、組織に簡単にアクセスできます。

たとえば、「Search V2」という名前のパラメータ グループには、description「新しいモバイル検索ビュー」を利用できる可能性がある新しい検索のレイアウトとフォントのパラメータが含まれています。

"key": value ペアのリストを含むオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }

RemoteConfigCondition

特定のユーザー グループを対象とする条件。これらの条件のリストが RemoteConfig オブジェクトの一部を構成します。

JSON 表現
{
  "name": string,
  "expression": string,
  "tagColor": enum (ConditionDisplayColor)
}
フィールド
name

string

必須。この条件の空でない一意の名前。

expression

string

必須。この条件のロジック。

このフィールドで想定される構文については、条件式に関するドキュメントをご覧ください。

tagColor

enum (ConditionDisplayColor)

省略可。Firebase コンソールでの表示用に、この条件に関連付けられている色。この値を指定しないか、「CONDITION_DISPLAY_COLOR_UNSPECIFIED」が指定されているすると、コンソールで、条件に関連付ける任意の色が選択されます。

状態表示色

条件に関連付けられている色のリストで、表示に使用されます。

列挙型
CONDITION_DISPLAY_COLOR_UNSPECIFIED
BLUE
BROWN ブラウン大学
CYAN シアン
DEEP_ORANGE 別名「レッド オレンジ」
GREEN
INDIGO インディゴ
LIME ライム
ORANGE オレンジ
PINK ピンク
PURPLE
TEAL 青緑

RemoteConfigParameter

google.firebase.remoteconfig.v1.RemoteConfig.parameters のパラメータキーに関連付けられたパラメータ値。

パラメータを有効にするには、少なくとも defaultValue エントリまたは conditionalValues エントリが必要です。

JSON 表現
{
  "defaultValue": {
    object (RemoteConfigParameterValue)
  },
  "conditionalValues": {
    string: {
      object (RemoteConfigParameterValue)
    },
    ...
  },
  "description": string,
  "valueType": enum (ParameterValueType)
}
フィールド
defaultValue

object (RemoteConfigParameterValue)

省略可 - 名前付きの条件が true と評価されない場合にパラメータを設定する値。

conditionalValues

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

省略可 - (condition name, 値) マップ。このパラメータの値は、優先度が最も高い condition_name(RemoteConfig の条件リストの最初にリストされているもの)によって決まります。

"key": value ペアのリストを含むオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }

description

string

省略可。このパラメータの説明。長さは 256 文字以下にしてください。説明には Unicode 文字を使用できます。

valueType

enum (ParameterValueType)

現在のバージョンのテンプレートにおける、このパラメータのすべての値のデータ型。指定しない場合のデフォルトは ParameterValueType.STRING です。

RemoteConfigParameterValue

RemoteConfigParameterValue リソースには、パラメータに含まれる可能性のある値が含まれます。

JSON 表現
{

  // Union field value_option can be only one of the following:
  "value": string,
  "useInAppDefault": boolean,
  "personalizationValue": {
    object (PersonalizationValue)
  },
  "rolloutValue": {
    object (RolloutValue)
  }
  // End of list of possible types for union field value_option.
}
フィールド
共用体フィールド value_option。RemoteConfigParameterValue は、文字列(値)またはブール値(use_in_app_default、該当する場合は true に設定)のいずれかで構成されます。value_option は次のいずれかになります。
value

string

パラメータが設定されている文字列値。

useInAppDefault

boolean

true の場合、クライアントに返されるパラメータ値からパラメータが省略されます。

personalizationValue

object (PersonalizationValue)

構成がフェッチされたときに計算される動的なユーザー固有の値。

rolloutValue

object (RolloutValue)

Firebase ABT テストサービスが管理する動的なロールアウト値。

パーソナライズの価値

パーソナライズされた値を取得するために必要な情報が含まれています。

JSON 表現
{
  "personalizationId": string
}
フィールド
personalizationId

string

パーソナライズの定義を表す識別子。この定義は、構成取得時の値を解決するために使用されます。このシステムが生成した値は変更できません。

RolloutValue

ロールアウトに関する情報。

JSON 表現
{
  "rolloutId": string,
  "value": string,
  "percent": number
}
フィールド
rolloutId

string

パラメータ値をロールアウト テストに関連付ける識別子。

value

string

ロールアウトするユーザー指定の値。

percent

number

ロールアウト値を受け取るユーザーの割合。

ParameterValueType

パラメータ値で受け入れられるデータ型。

列挙型
PARAMETER_VALUE_TYPE_UNSPECIFIED 認識されない列挙値のキャッチオール。
STRING 文字列値を表します。
BOOLEAN ブール値(「true」または「false」)を表します。
NUMBER 正と負の整数値、浮動小数点値を表します。
JSON JSON 値を表します。

RemoteConfigParameterGroup

パラメータの名前付きグループ。パラメータのグループ化は管理のみを目的としており、クライアントサイドでのパラメータ値のフェッチには影響しません。

JSON 表現
{
  "description": string,
  "parameters": {
    string: {
      object (RemoteConfigParameter)
    },
    ...
  }
}
フィールド
description

string

省略可。グループの説明。長さは 256 文字以下にしてください。説明には Unicode 文字を使用できます。

parameters

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

このグループに属するパラメータの、パラメータキーの、オプションのデフォルト値およびオプションの条件値へのマップ。パラメータは RemoteConfig ごとに 1 回のみ存在します。グループ化されていないパラメータはトップレベルにあります。グループ内に編成されたパラメータは、そのグループのパラメータ マップ内に表示されます。

"key": value ペアのリストを含むオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }