RemoteConfig は Remote Config テンプレートを表します。
プロジェクトの Remote Config テンプレートは、各アプリケーション インスタンスのフェッチ時に評価されます。
注: 現在、サーバー テンプレートは割合条件をサポートしています。サポートされていない条件値を含むサーバー テンプレートを公開すると、検証エラーが返されます。詳しくは、サーバー環境の Remote Config をご覧ください。
パラメータの解決値は以下のように決定されます。
アプリケーション インスタンスの true
conditions
を参照する conditional values
の場合、パラメータの解決値は、name
が conditions 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_percent
が true
の場合、fruit
は banana
と評価されます。is_ios
と is_in_20_percent
の両方が false の場合、fruit
は pear
と評価されます。デフォルト値が指定されず、is_ios
と is_in_20_percent
の両方が false の場合、fruit
の値は Remote Config サーバーからクライアントに返されません。
projects.updateRemoteConfig
呼び出しが成功してプロジェクトの Remote Config テンプレートが公開されると、クライアントはこれらのパラメータ値をフェッチしてユーザーに表示できます。
JSON 表現 |
---|
{ "conditions": [ { object ( |
フィールド | |
---|---|
conditions[] |
優先度の降順での条件のリスト。
|
parameters |
パラメータキーの、オプションのデフォルト値およびオプションの条件値へのマップ。
|
version |
出力専用(バージョン |
parameterGroups |
パラメータ グループ名とその説明およびグループ化されたパラメータとのマッピング。グループの名前は変更可能ですが、設定内のグループ間で一意である必要があります。名前は 256 文字に制限されており、人が読める形式になっています。任意の Unicode 文字を使用できます。 グループにはパラメータ リストがあります。このリストを使用すると、API のユーザーは、同じ機能やテーマに関連付けられたパラメータをグループ化して、組織に簡単にアクセスできます。 たとえば、「Search V2」という名前のパラメータ グループには、
|
RemoteConfigCondition
特定のユーザー グループを対象とする条件。これらの条件のリストが RemoteConfig オブジェクトの一部を構成します。
JSON 表現 |
---|
{
"name": string,
"expression": string,
"tagColor": enum ( |
フィールド | |
---|---|
name |
必須。この条件の空でない一意の名前。 |
expression |
必須。この条件のロジック。 このフィールドで想定される構文については、条件式に関するドキュメントをご覧ください。 |
tagColor |
省略可。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 ( |
フィールド | |
---|---|
defaultValue |
省略可 - 名前付きの条件が |
conditionalValues |
省略可 - (
|
description |
省略可。このパラメータの説明。長さは 256 文字以下にしてください。説明には Unicode 文字を使用できます。 |
valueType |
現在のバージョンのテンプレートにおける、このパラメータのすべての値のデータ型。指定しない場合のデフォルトは |
RemoteConfigParameterValue
RemoteConfigParameterValue リソースには、パラメータに含まれる可能性のある値が含まれます。
JSON 表現 |
---|
{ // Union field |
フィールド | |
---|---|
共用体フィールド value_option 。RemoteConfigParameterValue は、文字列(値)またはブール値(use_in_app_default、該当する場合は true に設定)のいずれかで構成されます。value_option は次のいずれかになります。 |
|
value |
パラメータが設定されている文字列値。 |
useInAppDefault |
true の場合、クライアントに返されるパラメータ値からパラメータが省略されます。 |
personalizationValue |
構成がフェッチされたときに計算される動的なユーザー固有の値。 |
rolloutValue |
Firebase ABT テストサービスが管理する動的なロールアウト値。 |
パーソナライズの価値
パーソナライズされた値を取得するために必要な情報が含まれています。
JSON 表現 |
---|
{ "personalizationId": string } |
フィールド | |
---|---|
personalizationId |
パーソナライズの定義を表す識別子。この定義は、構成取得時の値を解決するために使用されます。このシステムが生成した値は変更できません。 |
RolloutValue
ロールアウトに関する情報。
JSON 表現 |
---|
{ "rolloutId": string, "value": string, "percent": number } |
フィールド | |
---|---|
rolloutId |
パラメータ値をロールアウト テストに関連付ける識別子。 |
value |
ロールアウトするユーザー指定の値。 |
percent |
ロールアウト値を受け取るユーザーの割合。 |
ParameterValueType
パラメータ値で受け入れられるデータ型。
列挙型 | |
---|---|
PARAMETER_VALUE_TYPE_UNSPECIFIED |
認識されない列挙値のキャッチオール。 |
STRING |
文字列値を表します。 |
BOOLEAN |
ブール値(「true」または「false」)を表します。 |
NUMBER |
正と負の整数値、浮動小数点値を表します。 |
JSON |
JSON 値を表します。 |
RemoteConfigParameterGroup
パラメータの名前付きグループ。パラメータのグループ化は管理のみを目的としており、クライアントサイドでのパラメータ値のフェッチには影響しません。
JSON 表現 |
---|
{
"description": string,
"parameters": {
string: {
object ( |
フィールド | |
---|---|
description |
省略可。グループの説明。長さは 256 文字以下にしてください。説明には Unicode 文字を使用できます。 |
parameters |
このグループに属するパラメータの、パラメータキーの、オプションのデフォルト値およびオプションの条件値へのマップ。パラメータは RemoteConfig ごとに 1 回のみ存在します。グループ化されていないパラメータはトップレベルにあります。グループ内に編成されたパラメータは、そのグループのパラメータ マップ内に表示されます。
|