Game Overrides と Settings
Configure Game Overrides and settings in Remote Config.
読み終わるまでの所要時間 6 分最終更新 1ヶ月前
Unity Remote Config は、Game Overrides (旧称 Campaigns) を使用することにより、特定のユーザーグループをターゲットにして、グループごとに異なる設定を提供します。Game Overrides は Settings に関連付けられており、それをゲームコード内の変数にマップすることで、Game Override のオーディエンス条件が満たされた場合に、その初期値がオーバーライドされるようにします。 ゲームを設計するときや新しくデプロイする前には、Remote Config 設定を早期に計画しておきましょう。Unity では、非アクティブな Remote Config 設定を最初のデプロイに含めておくことで、自分のゲームがオーディエンスにどのように利用され、各種デバイスでどのように動作しているかを把握した時点で適用できるようにすることを推奨します。 Unity エディターで、Window (ウィンドウ) > Remote Config の順に選択して Remote Config ウィンドウを開き、Settings の操作を開始します。

新しい Settings の追加
デフォルトの Settings Config 設定には、特定の環境用に作成したすべての Settings が含まれます。新しい Settings を作成するには、Settings Config 設定を強調表示して、右側のパネルの下部にある Add Setting ボタンをクリックします。 ノート: ゲームコードで Settings を使用できる場所がエディターなので、エディター内で Settings を作成する必要があります。ただし、ゲームバイナリ内に Settings を作成した後は、Remote Config REST API や Remote Config ウェブダッシュボードを使用して更新することもできます。詳細については、インターフェース に関するページを参照してください。 各 Settings は、以下の Key、Type、Value から構成されます。パラメーター | 説明 | 例 |
|---|---|---|
| Key | 以下の Game Overrides に従わなければならない Settings の名前。
|
|
| Type | Settings 値の C# 変数データ型。サポート対象の型には、以下があります。
|
|
| Value | 以下の Game Overrides に従わなければならない、この Settings の値。
|
|

新しい Game Overrides の追加
新しい Remote Config Game Override を作成するには、Open Dashboard ボタンを押します。そうすると、ウェブブラウザーが開き、Remote Config ページに移動するので、View Overrides (オーバーライドを表示) ボタン、Create Override (オーバーライドを作成) の順にクリックします。各 Game Override には 5 つのパラメーターがあり、詳細は以下で説明します。- Name (名前)
- Targeting Strategy (ターゲティング戦略)
- Condition (条件)
- Rollout Percentage (ロールアウト率)
- Content Type (コンテンツタイプ)
- Start Date and Time (開始日時)
- End Date and Time (終了日時)
Name
Name は Game Override の名前です。例えば、Game Override の難易度曲線ならlevel_1_enemieshalloween_eventTargeting Strategy
Targeting Strategy では、Game Override のオーディエンスの種類を定義します。StatefulStatelessConditionCondition
Condition は、コンテキスト依存データ属性の JEXL 式 (以下の JEXL のサポート セクションを参照) であり、Game Override を適用したいオーディエンスを定義するために使用します。複数の条件を使用してこのセグメントを定義できます。Remote Config では、現時点で以下の 3 つの属性カテゴリがサポートされています。-
user カテゴリには、ユーザーを表す開発者定義のカスタム属性 (例えば、サブスクライバーのステータス、名前、年齢など) があり、それを RemoteConfigService.Instance.FetchConfigs<T, T2>(T userAttributes, T2 appAttributes) に渡す必要があります。
ノート: を使用すると、渡した ID が自動的に
SetCustomUserId属性にuserとしてアタッチされます。customUserId - app カテゴリには、アプリケーションを表す開発者定義のカスタム属性 (例えば、接続ステータス、アプリケーションのバージョン、現在のレベルなど) があり、それを RemoteConfigService.Instance.FetchConfigs<T, T2>(T userAttributes, T2 appAttributes) に渡す必要があります。
- unity カテゴリには、以下の表で詳しく説明する事前定義済みの属性があります。
属性 | 説明 | 例 |
|---|---|---|
| アプリケーションが実行されているビルド番号 (これをエディターで設定するには、Edit (編集) > Project Settings (プロジェクト設定) > Player (プレイヤー) の順に移動します)。 | |
| アプリケーションが実行されているバージョン (これをエディターで設定するには、Edit (編集) > Project Settings (プロジェクト設定) > Player (プレイヤー) の順に移動します)。 | |
| CPU プロセッサーの名前。 | |
| アプリケーションを実行しているデバイスのプロセッサー周波数 (MHz)。 | |
| 該当する国。この属性には、ISO 3166-1 alpha2 国コードが使用されます。 カスタム属性の定義に関する情報については、コードの統合 に関するドキュメントを参照してください。 | |
| 該当する言語。この属性には、ISO 639-1 言語コードが使用されます。 カスタム属性の定義に関する情報については、コードの統合 に関するドキュメントを参照してください。 | |
| アプリケーションを実行しているデバイスの OS バージョン。 | |
| 該当するデバイスまたはプラットフォーム。以下の値が有効です。
| |
| アプリケーションのセッションが開始してから経過した時間 (ミリ秒)。 | |
| ユーザーのグラフィックスカードのベンダー。 | |
| デバイス上の RAM メモリの容量 (MB)。 | |
| デバイスのモデル。 | |
unityappscoreまた、同じ Game Override 内で複数の属性を参照することもできます。app.score >= 10
すべての条件に一致し、常に適用される Game Override を定義するには、単純にuser.score >= 10 && app.level == 5
trueJEXL のサポート
Remote Config では、Java Expression Language (JEXL) 仕様 がサポートされていますが、以下のような例外が一部あります。- Remote Config では式のみがサポートされます。
- Remote Config ではスクリプトはサポートされません。
- Remote Config では現時点で関数も条件式もサポートされません。
- Remote Config では および
&&ステートメントを使用した複数の条件がサポートされますが、JEXL 文字列は 500 文字以下に制限されます。||
app.level1.scoreRollout Percentage
Rollout Percentage では、この Game Override に従うユーザーベースの割合を決めます。値が 100 未満の場合は、Unity が Game Override をその割合のプレイヤーにユーザー ID ベースでランダムに割り当てます。プレイヤーごとに体験が異なる可能性はありますが、各プレイヤーの体験はプレイセッション全体にわたって一貫したものになります。このパラメーターは、分析データと組み合わせて結果を解析する場合に特に役立ちます。Content Type
利用するサービスによっては、Remote Config によって使用されるConfig OverridesCurrencyInventor ItemStart Date and Time
Game Override がいつ有効になるかを決める開始日時を、任意で指定できます。タイムスタンプは ISO 8601 UTC 形式 (YYYY-MM-DDThh:mm:ssZEnd Date and Time
Game Override がいつアクティブでなくなるかを決める終了日時を、任意で指定できます。タイムスタンプは ISO 8601 UTC 形式 (YYYY-MM-DDThh:mm:ssZGame Override への Settings の適用
Settings を Game Override に適用するには、目的の Game Override に移動して Content (コンテンツ) ブロックを 編集 し、使用できるすべての Settings のリストを表示します。Game Overrides の有効化と無効化
Game Override のページ上部にあるボタンを使用すると、有効または無効にできます。エディターウィンドウでの Settings の編集
エディターの Remote Config ウィンドウで Settings のキーと値を編集する場合は、必ず変更を保存して プッシュ してください。そうするまでは、設定がローカルにしか格納されません。Remote Config 環境を切り替える前に、必ず変更をプッシュして保存してください。 Settings を削除するには、削除する各要素の横にある ゴミ箱 ボタンをクリックします。なお、アクティブな Game Override が現在 Settings を使用している場合、その Settings は削除できません。Game Overrides の優先順位付け
Game Override ごとに、重み付きの優先度値LowMediumHigh11000- 新しい Game Overrides と Settings Config 設定はデフォルトで に設定されます。
medium - 競合が生じた場合は、先に作成された Game Override が優先されます。
Game Overrides と Settings の更新
Game Override を編集して変更を保存するには、以下の手順に従ってください。- Game Override を 無効 にします。
- エディターウィンドウまたはウェブ UI で目的のキー値フィールドを編集します。
- Push (プッシュ) ボタンをクリックして変更をリモートサービスに保存します。
- Pull (プル) ボタンをクリックして最新のリモート設定をサービスから取得します。
- 更新が適用されていることを確認します。
- Game Override を 有効 にします。
- もう一度プルし、Game Override が適切に更新されてアクティブになっていることを確認します。
JSON 設定値
JSON 型の設定を使用している場合は、Remote Config ウィンドウに JSON Editor ダイアログが表示されます。これによって JSON 値のフォーマットと検証を行うことができます。このウィンドウを開くには、JSON 設定の Edit ボタンを押します。


/Assets