Remote Settings
Unity プロジェクトで Remote Settings を利用

Remote Settings の作成と変更

Remote Settings を使用する前に、Unity プロジェクトの Unity ServicesUnity Analytics Service を有効にする必要があります。Analytics を有効にしたら、Analytics の Dashboard を開き Remote Settings ページに移動して、Remote Settings 値を作成し変更します。ゲームやアプリケーションでこれらの Remote Settings 値にアクセスする方法は、Unity プロジェクトで Remote Settings を利用 を参照してください。

Unity Analytics は 2 種類の Remote Settings 設定を提供します。

  1. Analytics サービスは、開発ビルドでない、通常のビルドを実行するコンピューターやデバイスに Release 設定を使用します。

  2. Analytics サービスは、開発ビルド (Build Settings ウインドウ で Development Build のフラグをチェックして作成するビルド) を実行するコンピューターやデバイスに Development 設定を使用します。Unity エディターの再生モードは開発ビルドとして扱われます。

Raging Bots という名のゲームの Analytics Dashboard の Remote Settings ページ
Raging Bots という名のゲームの Analytics Dashboard の Remote Settings ページ

各 Remote Setting の エントリーは Key (キー)、Value (値)、Segment (セグメント)で構成されます。オプションとして、1 つのキーに複数のセグメントを追加することができます。1 つのエントリーに複数のセグメントがある場合は、現在のプレイヤーが該当するセグメントの値が適用されます。プレイヤーが複数のセグメントに該当する場合、最も優先度の高いセグメントの値が適用されます。

設定ごとに 200 の値の作成が可能です (各セグメントは 1 つの値を持ちます)。

キーと値のルール設定

Remote Settings は、Key-Value 形式 (KVS) です。キーに関するルールは以下の通りです。

  • キーは 1 設定内で一意でなければなりません。

  • キーは文字で始まらなければなりません。

  • キーは文字、数字、記号 「.」「_」「-」以外は使用できません。

設定する Value は IntegerFloatStringBoolean のいずれかの基本データ型です。 Value の設定ルールは以下の通りです。

  • Integer 値 は 32 ビット整数 (–2147483648 から 2147483647) です。

  • Float 値は、単精度の 32 ビット浮動小数点数 (おおよそ –3.4x1038 から 3.4x1038) です。

  • String は 1024 文字に制限されます。

  • Bool 値は、“true” か “false” の文字列で指定する必要があります

Remote Setting を加える

Remote Setting は以下の手順で加えます。

  1. Analytics DashboardRemote Settings ページを開きます。

  2. ConfigurationRelease または Development に設定します。

  3. ADD NEW KEY-VALUE (リストの上方) をクリックします。

  4. キーの名を入力します。

  5. 値の型を設定します。

  6. デフォルト値を入力します。

  7. Add ボタンをクリックします。

  8. Sync ボタンをクリックして変更をパブリッシュします。(個々のエントリーを作成するたびに Sync ボタンをクリックする必要はありません。現在の設定にすべての変更を加え終わってから Sync ボタンをクリックして同期を行います。)

ノート: 複数のセグメントを追加するには、デフォルトのキーと値のセットを保存してからそれを編集します。セグメント追加のオプションは、最初のキーと値のセットを加えるときには表示されず、編集するときにはじめて表示されます。

Remote Settings の編集

Remote Settings の編集は以下の手順で行います。

  1. Analytics Dashboard で Remote Settings ページを開きます。

  2. ConfigurationRelease または Development に設定します。

  3. 変更したいエントリーにある編集のアイコンをクリックします。

  4. 変更を加えます。キーの変更は、古いキーを削除し、新しいキーを追加するのと同じ結果になるので注意してください。

  5. Add ボタンをクリックします。

  6. Sync ボタンをクリックして変更をパブリッシュします。次回プレイヤーがセッションを開始するときに、更新されたエントリーが読み込まれます。

同時編集の解決

チームの 2 人が同時に 1 つのプロジェクトの Remote Settings を編集し、変更した設定を同期しようとすると、競合が生じる場合があります。

自分がプロジェクトを編集中に誰かが同じプロジェクトの設定を変更したときに発生する警告
自分がプロジェクトを編集中に誰かが同じプロジェクトの設定を変更したときに発生する警告

競合が発生した場合、以下のオプションがあります。

OVERWRITE

最後に自分の設定を同期して、サーバーにプッシュした時点以降のすべての変更を破棄します。OVERWRITE を選択すると、Remote Settings の設定を自分の現在の設定と正確に一致させます。

MERGE

同期を行う前に、自分の現在の設定とサーバーにある設定に基づいて、修正することができます。

ある設定に同じ値の変更を加えると、サーバーから自分の行った変更に対して上書きされます。さらに、サーバーから削除された値や設定は、復元されます (それらは、まだバージョンとして残っているため)。そうでない場合は、自分が最後に同期した以降のサーバーの変更は保持されます。

マージ後、Remote Settings ページは更新され結果を反映しますが、マージした結果はまだサーバーにプッシュされません。更新された変更を見直し、準備が完了したときに Sync ボタンを再びクリックします。

CANCEL

同期を取消し、まったく変更しないで競合を示すダイアログを閉じます。自分の設定はサーバーに保存されません。

1 つのキーに複数のセグメントを割り当てる

1 つのキーに複数のセグメントを設け、複数の値を割り当てることができます。プレイヤーが特定のセグメントに該当するとき、デフォルトの All Users の代わりに、セグメントに紐づく値が使用されます。(もしプレイヤーが複数のセグメントに該当する場合、最も優先度の高いセグメントの値が使用されます。)

任意のセグメントに特定の値を設定するには、以下の手順で行います。

  1. Analytics Dashboard で Remote Settings ページを開きます。

  2. 環境設定を Release または Development に設定します。

  3. まだ、エントリーがない場合は作成し、デフォルトの Key-Value を加えます。

  4. 変更したいエントリーの右端にある編集のアイコンをクリックします。

  5. ADD EXISTING SEGMENT をクリックします。

  6. 新しい行で、ドロップダウンリストからセグメントを選び Value を入力します。

  7. Add ボタンをクリックします。

Remote Setting の削除

Remote Setting のエントリーを削除するには、まず、編集ビューを開きます。

  1. Analytics Dashboard で Remote Settings ページを開きます。

  2. ConfigurationRelease または Development に設定します。

  3. 変更したいエントリーにある編集のアイコンをクリックします。

  4. 特定のセグメントを削除するには、編集ビューの右の方にある マイナス (-) ボタンをクリックして、それから Save をクリックします。 (デフォルトの All Users を削除することはできません。)

  5. キーのエントリー全てを削除するには編集ビューの最下部のゴミ箱アイコンをクリックします。表示されたダイアログを確認してから、削除ボタンをクリックします。

  6. Sync ボタンをクリックして変更をパブリッシュします。

セグメントの優先度の設定

プレイヤーが複数のセグメントに該当する場合、最も優先度の高いセグメントの値が使用されます。(エントリーにセグメントが 1 つしかない場合、または、プレイヤーが特有の値を持つセグメントに該当しない場合は、All Users の値が使用されます。) セグメントの優先度を設定すると、重複が発生したときのセグメントの優先順位を指定することができます。

セグメントの優先順位の設定は、以下の手順で行います。

  1. Analytics Dashboard で Remote Settings ページを開きます。

  2. 環境設定を Release または Development に設定します。

  3. リストの右上にあるメニューアイコンをクリックします。

  4. アイコンをクリックして Segment Priority を選択します。

  5. Segment Priority ウィンドウが開き、現在の順番が表示されます。 任意のリモート設定の値が既に割り当てられているセグメントのみがウィンドウに表示されます。

  6. セグメントをクリックしたままドラッグして、希望する順番に並べ替えます。

  7. 希望する順番に並べたら、Save をクリックします。

  8. Sync ボタンをクリックして変更をパブリッシュします。

セグメントの優先度は、設定全体のすべてのキーに適用されます。ただし、 Development と Release それぞれの環境には、違う順番を設定できます。

Remote Setting のインポートとエクスポート

CSV ファイルを使って、設定のインポートとエクスポートができます。

現在の設定のエクスポートは、以下の手順で行います。

  1. Unity Analytics Dashboard の Remote Settings ページに移動します。

  2. 環境設定の Release または Development のどちらかを選択します。

  3. リストの右上にあるメニューアイコンをクリックします。

  4. 現在の設定をコンピューターにエクスポートするには、Download CSV を選択します。

Analytics は現在の設定を CSV ファイル形式でダウンロードします。

設定を作成する前に CSV ファイルをダウンロードすると、ファイルは完全に空です。アップロードするファイルには、ヘッダー行が含まれている必要があります。Remote Settings の CSV 形式 を参照してください。

プロジェクトの設定のインポートは、以下の手順で行います。

  1. Unity Analytics Dashboard の Remote Settings ページに移動します。

  2. インポートした設定で上書きしたい環境設定の Release または Development のどちらかを選択します。

  3. リストの右上にあるメニューアイコンをクリックします。

  4. プロジェクトに新しい設定のファイルをインポートするには、Upload CSV を選択します。

  5. 新しい設定を含む CSV ファイルを選択します。

  6. Open をクリックします。

    Analytics は設定のファイルをアップロードし、現在の設定を選択したものにすべて置き換えますが、まだそれをコミットしません。

    ファイルに書式または値のエラーが存在する場合、エラー詳細を記述した CSV ファイルをダウンロードすることができます。エラーが発生した場合、設定は変更されません。

  7. Sync をクリックすると設定の変更をコミットします (アップロードした設定を破棄するには、ページをリフレッシュするか、同期せずに他に移動します)。

設定をインポートすると、すべて のキーと値がアップロードされたファイルに合わせて変更されます。既存のエントリーやセグメント値がファイルにない場合、その設定は削除されます。

インポート中の設定の作成、または削除

設定の編集に加え、設定のために CSV ファイルをアップロードするときに、設定を作成/破棄できます。

まず、現在の設定の CSV ファイルをダウンロードします。それから、このファイルを編集し、変更を加えます (詳しくは スプレッドシートの編集 を参照してください)。

新しいキーの作成は、以下の手順で行います。

  1. ファイルに新しい行を加えます。
  2. 一意のキーを指定します。
  3. データ型 (int, float, string, bool) を決定します。
  4. セグメントに「All Current Users」を入力します。
  5. 最後の欄を空白のまま残します (デフォルトのセグメント用)。

新しいエントリーは以下のようになります。

a_bool_value,bool,TRUE,All Current Users,

キーに新しいセグメントを加えるには、以下の手順で行います。

  1. ファイルに新しい行を加えます。

  2. エントリーのキーの名前とデータ型は同じものを繰り返します。

  3. セグメントの値を入力します。

  4. セグメント名を入力します。設定をインポートする前に、プロジェクトのセグメント名を定義しておく必要があります。Segment Builder ページを使用して、既存のセグメントを表示し新しいセグメントを定義します。

  5. セグメントの優先順位を設定します。

    ファイル内のすべてのセグメントの優先順位は、1 から始まる連続した整数でなければなりません。例えば、CSV ファイルに 5 つのセグメントがある場合、許可される優先順位は 1〜5 です。セグメントが使用されるファイル内ではどこででも、同じ優先順位が割り当てられます。例えば、CSV ファイルの 12 の値に Japan というセグメントを使用する場合は、それぞれの Japan セグメントに対して同じ優先順位が使用されます。

複数のセグメントがある場合の設定は以下のようになります。

a_bool_value,bool,false,All Current Users,
a_bool_value,bool,true,1-3 Days,1
a_bool_value,bool,false,4-7 Days,2

エントリーの削除は以下のように行います。

単に、削除したいエントリーを定義する行をファイルから削除します。デフォルトの「All Current Users」セグメントの行を削除する場合は、その他のすべてのセグメントの行も削除する必要があります。セグメントを削除する場合は、優先順位の連続する整数を維持するために、セグメントの優先順位の整数を割り振りなおす必要があることにも注意してください。

最後に、変更した CSV ファイルをアップロードし、Remote Settings ページの Sync ボタンを押して変更を保存し、変更をパブリッシュします。

Remote Settings の CSV ファイル形式

Remote Settings の CSV 形式は ISO rfc4180 に準拠しています。エクスポートされたファイルは UTF–8 でエンコードされます。

設定ファイルには 5 つのフィールドがあります。ヘッダー行をファイルの最初に加える必要があります。

key,type,value,segment,priority

ファイルのフィールドは以下の通りです。

  • key – Remote Settings キーの名前
  • type – データ型 (int、float、string、bool)
  • value – 値
  • segment – セグメント名
  • priority – セグメントの優先順位

CSV ファイル作成のルール

  • 各行には、キーとセグメントの一意の組み合わせが含まれます。

  • CSV ファイルのすべてのセグメントは既存でなければなりません。新しいセグメントは Analytics Dashboard の Segment Builder を使って作成する必要があります。

  • デフォルトのセグメントには文字列「All Current Users」を使用します。

  • デフォルトの「All Current Users」セグメントは、各ファイルで正確に 1 度ずつ、キーと関連づけられます。

  • 「All Current Users」セグメントには優先順位を割り当てません (priority フィールドを空白にします)。

  • 「All Current Users」セグメント以外のセグメントには優先順位を割り当てなければなりません。

  • セグメントの優先順位は、そのセグメントが使用されるすべてのキーで同じでなければなりません。

  • すべてのセグメントに割り当てられたセグメントの優先順位は、連続する整数でなければなりません (1 から開始)。

  • Bool 値には TRUE と FALSE を使用します。

  • 「,」「“」、または改行を含む文字列は「”」で囲んでください。

  • 文字列内の「“」を表示するには、下の例のように、エスケープ文字「”」を「"」の隣に置きます。

    "Hello World!"            -> """Hello World!"""
    He said, "How do you do?" -> "He said, ""How do you do?"""
    
  • ファイルには 201 行 (ヘッダーを含む) を加えることが可能です。

ヒント: サンプルファイルを作成するには、Dashboard でサンプル Remote Settings を作成してダウンロードします。

スプレッドシートの作成法

CSV ファイル形式は厳密に標準化されているわけではないため、異なるスプレッドシートアプリケーションで CSV ファイルを開いたり保存したりするときに、さまざまな変化が生じる可能性があります。Remote Settings ページから編集アプリケーションへ、そして再度 Remote Settings ページへと戻るときに、ファイルが正しく維持されていかどうかを常に確認するようにしてください。特に、Unicode 文字 (絵文字、記号、基本的な ASCII 範囲外の文字など) が変更されておらず、浮動小数点数が切り捨てられていないことを確認します。

通常、CSV ファイルをインポートするとき、スプレッドシートアプリケーションは、'+-= で始まる文字列を単純な文字列ではなく式として解釈します。このような文字列は「“」で囲み、使用しているスプレッドシートのインポートオプションを調整することができます。例えば、Google スプレッドシートでは、文字列を数値と日付に変換するオプションを無効にします。 LibreOffice では「”」で囲んだ文字列をテキストとして扱うオプションを有効にします。

Float 型を使用する場合は、値の有効数字のすべてがスプレッドシートのセルに表示されていることを確認してください。そうでないと、スプレッドシートアプリケーションによって数字の切り捨てが行われ、スプレッドシートを CSV ファイルにエクスポートするときに精度が失われてしまいます。


  • 2017–12–12 編集レビュー 無しに修正されたページ - ページのフィードバックを残す

  • 2017–08–28 現在、サービスは Unity 5.5 以降と互換性があります。ただし、バージョンの互換性は変更されることもあります。

  • 2017–06–30 - キーの名前に “.”, “_”, “-” を追加

  • 2017–06–30 - CSV インポートとエクスポートを追加

  • 2017.1 の新機能

  • 2017–08–28 - Added segmented Remote Settings: set different values for different segments を 2017.1 に追加

Remote Settings
Unity プロジェクトで Remote Settings を利用