RemoteConfig

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

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

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

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

conditional values がアプリ インスタンスの true conditions を参照する場合、パラメータの解決値は、nameconditions list の最も古い条件値です。

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

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

たとえば、デフォルト値が pear で、条件値のサブマップ {"is_ios": "apple", "is_in_20_percent": "banana"} を持つパラメータキー fruit があるとします。ここで、"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」という名前のパラメータ グループには、「New mobile search view」という 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 別名「Red 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, value) マップ。最も優先度が高い 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

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

ロールアウト値

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

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

string

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

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