# Unity Dashboard

> Preview, create, and delete triggers using the graphical interface of the Unity Dashboard.

[Unity Dashboard](https://cloud.unity.com) は、グラフィカルなインターフェースを通じてトリガーを完全にコントロールできるため、使用の準備が簡単です。このセクションでは、トリガーをプレビュー、作成、削除する方法について説明します。

> **Note:**
>
> **ノート**: Unity Dashboard でサポートされるのは、イベントベースの UGS トリガーのみです。スケジュールされたイベントと、スケジュールされたイベントのトリガーを作成するには、CLI または [Triggers Admin API](./rest-api.md) を使用できます。

## トリガーのプレビュー##preview-triggers

Unity Dashboard から [環境](/services/service-environments.md) のすべてのトリガーのリストにアクセスできます。

1. [Unity Dashboard](https://cloud.unity.com) で **Cloud Code** を選択します。
2. **Triggers** (トリガー) を選択します。
3. 環境のリストから環境を選択します。

プロジェクトの選択した環境内のすべてのトリガーのリストが表示されます。この表には、名前、トリガー、タイプ、最終更新のタイムスタンプが含まれます。

## トリガーの詳細##trigger-details

トリガーのリストからトリガーを選択すると、トリガーの詳細ページに移動できます。トリガーの詳細ページには以下の情報が表示されます。

| Data                     | 説明                                                                                                                                                     |
| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **名前**                   | トリガーの名前。                                                                                                                                               |
| **型**                    | トリガーのタイプ: **Event** (イベント) または **Schedule** (スケジュール)。                                                                                                  |
| **Trigger** (トリガー)       | スクリプトをトリガーするイベント。例えば、`Cloud Save` による `key_saved`。                                                                                                     |
| **Event Type** (イベントタイプ) | イベントタイプの正式表記 (例: `com.unity.services.cloud-save.key-saved.v1`)。イベントタイプの詳細については、[イベントの構造](/triggers/manage-events/events.md#event-structure) を参照してください。 |
| **Last updated** (最終更新)  | トリガー設定が最後に更新された RFC3339 タイムスタンプ。                                                                                                                       |

トリガー定義カードには、トリガー設定の概要が表示されます。

* 発生するとき (イベントタイプ)
* 場所 (フィルター)
* これを行う (アクション、 Cloud Code スクリプト、モジュール)

フィルターが chip で表示され、フィルターの属性、演算子、値が示されます。ダッシュボードによって、chip 形式でフィルターを表示できない場合は、オリジナルの CEL 形式でフィルターが表示されます。

### ログへの移動##navigate-to-logs

トリガーのログページに移動して、トリガー実行のログを確認するには、**View Trigger Logs** (トリガーログの表示) ボタンを選択します。ログの詳細については、[ログ](/triggers/manage-events/debug-events.md) セクションを参照してください。

### アクションへの移動##navigate-to-action

トリガーが既存のスクリプトまたはモジュールに関連付けられている場合、トリガー定義カードにはスクリプトまたはモジュールへのリンクがあります。スクリプトまたはモジュールの詳細ページに移動するには、そのリンクを選択します。

## トリガーの作成##create-a-trigger

Unity Dashboard でイベントベースのトリガーを作成できます。

1. [Unity Dashboard](https://cloud.unity.com) で **Products** (製品) > **Cloud Code** を選択します。

2. **Triggers** (トリガー) を選択します。

3. **New trigger** (新しいトリガー) を選択します。

4. 以下の情報を入力します。
   * **Name** (名前): トリガーの名前。設定を識別するために使用されます。トリガー名はプロジェクトおよび環境内で一意にする必要があり、255 文字を超えてはなりません。
   * **Type** (型): トリガーのタイプ。イベントベースのトリガーとは、UGS で発行されるイベントによってトリガーされるトリガーです。

5. **Next** (次へ) を選択します。

6. 次のステップでは以下の情報を選択します。

   * **When this happens** (発生するとき) セクションで:

     1. **Add Trigger Event** (トリガーイベントを追加) ボタンを選択します。
     2. スクリプトをトリガーするイベントを選択します。
     3. **Add Filter** (フィルターを追加) を選択して、フィルターをイベントに追加します。

     > **Note:**
     >
     > **ノート**: 文字列値を引用符で囲む必要はありません。ただし、JSON 型の値は引用符で囲んでください。
   * **Do this** (これを行う) セクションで:

     1. **Add Action** (アクションを追加) ドロップダウンを選択します。
     2. トリガーがアクティベートされたときに実行するアクションを選択します。このアクションとして、スクリプトまたはモジュールを選択できます。

     > **Note:**
     >
     > **ノート**: トリガーとして選択できるのは同じ環境内の Cloud Code アクションのみです。**When this happens** (発生するとき) セクションで Moderation イベントを選択し、アクションとしてスクリプトを選択する必要がある場合、選択できるのは Moderation スクリプトのみです。

7. **Confirm** (確認) を選択します。

トリガーを作成すると、トリガーのリストページにリダイレクトされます。トリガー設定を調査するには、表のトリガー名を選択します。

> **Warning:**
>
> **警告**: トリガーが、イベントを発行するのと同じサービスと対話する場合は、無限ループを回避するためにフィルターを定義する必要があります。サンプルについては、[Unity Dashboard のフィルター](#filters-in-the-unity-dashboard) を参照してください。

## Unity Dashboard のフィルター##filters-in-the-unity-dashboard

トリガー設定にフィルターを追加して、トリガーがアクティベートする条件を指定できます。Unity Dashboard では、イベントペイロードのフィルターに使用できる限られたセットのフィルターがサポートされています。

フィルターのしくみについては、[フィルター](/triggers/tutorials/define-triggers/filters.md) セクションを参照してください。各 UGS イベントのイベントペイロードを調査するには、[サポートされている UGS イベント](/triggers/manage-events/supported-ugs-events.md) を参照してください。

> **Note:**
>
> **ノート**: Unity Dashboard に用意されている演算子の数は限られており、フィルターに対するアプローチは単純です。型キャスト、ネストされた式、複雑な式は、Unity Dashboard では定義できません。高度なフィルターが必要な場合には、[Triggers API](../../tutorials/define-triggers/rest-api) を使用して独自の CEL 式を定義します。

> **Warning:**
>
> **警告**: トリガーが、イベントを発行するのと同じサービスと対話する場合は、無限ループを回避するためにフィルターを定義する必要があります。無限ループはイベントを過剰に処理し、ゲームで予期しない動作を引き起こしてしまい、最終的にはプロジェクトの Cloud Code リソースを使い果たして、サービスの停止につながります。この問題が発生した場合は、ループを引き起こしているトリガーを削除します。

### サポートされている演算子##supported-operators

Unity Dashboard には、属性型に応じてさまざまな演算子が表示されます。

| 演算子                       | サポートする型           |
| ------------------------- | ----------------- |
| equals to                 | すべての属性型           |
| not equals to             | すべての属性型           |
| より大きい                     | int、double、JSON 型 |
| greater than or equals to | int、double、JSON 型 |
| より小さい                     | int、double、JSON 型 |
| less than or equals to    | int、double、JSON 型 |
| matches                   | string および JSON 型 |
| not matches               | string および JSON 型 |
| contains                  | string および JSON 型 |
| starts with               | string および JSON 型 |
| ends with                 | string および JSON 型 |

> **Note:**
>
> **ノート** JSON 型は、すべての JSON オブジェクト、文字列、数値、ブーリアンを指します。すべての演算子が JSON 型でサポートされますが、JSON オブジェクト内の属性型に対して正しい演算子を使用する必要があります。例えば、文字列演算子は JSON の数値に対して使用できません。

### フィルターの結合##join-filters

1 つのトリガーに最大 10 個のフィルターを定義できます。論理演算子 `AND` と `OR` によってフィルターを結合できます。これらの演算子を使用して、複数のフィルターを結合して複雑な条件を作成できます。

> **Note:**
>
> **ノート** Unity Dashboard ではネストされた式はサポートされません。論理演算子 `AND` と `OR` を使用したフィルターの結合のみ行うことができます。高度なフィルターが必要な場合には、[Triggers API](../../tutorials/define-triggers/rest-api) を使用して独自の CEL 式を定義します。

### Cloud Save key-saved イベントに対するフィルターの定義##define-filters-with-the-cloud-save-key-saved-event

特定のキーが Cloud Save に保存されたときだけアクティベートするトリガーを定義できます。例えば、キー `playerData` が保存されたときだけトリガーをアクティベートするようにフィルターを定義できます。

Unity Dashboard で、このフィルターをトリガー設定に追加できます。

1. **When this happens** (発生するとき) セクションで **Add Event** (イベントを追加) ボタンを選択します。
2. イベントのドロップダウンを選択し、Cloud Save key-saved イベントを選択します。
3. **Add filter** (フィルターを追加) ボタンを選択します。
4. 新しい Filter (フィルター) カードで:
   1. 最初のドロップダウンで `key` 属性を選択します。
   2. 2 番目のドロップダウンで `equals to` 演算子を選択します。
   3. 3 番目のドロップダウンに値 `playerData` を入力します。

このフィルターを定義する場合は、キー `playerData` が Cloud Save に保存されるときだけトリガーがアクティベートすることを確認します。

### Leaderboard score-submitted イベントに対するフィルターの定義##define-filters-with-the-leaderboards-score-submitted-event

特定のスコアがリーダーボードに送信されたときだけアクティベートするトリガーを定義できます。例えば、特定の範囲のスコアについてのみトリガーをアクティベートするようにフィルターを定義できます。

Unity Dashboard で、このフィルターをトリガー設定に追加できます。

1. **When this happens** (発生するとき) セクションで **Add Event** (イベントを追加) ボタンを選択します。
2. イベントのドロップダウンを選択し、Leaderboards score-submitted イベントを選択します。
3. **Add filter** (フィルターを追加) ボタンを選択します。
4. 新しい Filter (フィルター) カードで:
   1. 最初のドロップダウンで `score` 属性を選択します。
   2. 2 番目のドロップダウンで `greater than` 演算子を選択します。
   3. 3 番目のドロップダウンに値 `0` を入力します。
5. **Add filter** (フィルターを追加) ボタンを選択します。
6. 新しい Filter (フィルター) カードで:
   1. 最初のドロップダウンで `score` 属性を選択します。
   2. 2 番目のドロップダウンで `less than` 演算子を選択します。
   3. 3 番目のドロップダウンに値 `100` を入力します。

このフィルターを定義すると、0 から 100 までのスコアがリーダーボードに送信されたときだけ確実にトリガーがアクティベートします。

## トリガーの削除##delete-a-trigger

[Unity Dashboard](https://cloud.unity.com) からトリガーを削除するには、以下を行います。

1. Triggers list (トリガーリスト) ページに移動します。
2. **bin** (ビン) アイコンを選択します。削除したトリガーは元に戻せないことを警告するダイアログが表示されます。
   > **Note:**
   >
   > **ノート**: ライブゲームで使用中のモジュールを削除すると、ゲームで予期しない動作が発生する可能性があります。
3. **Delete** (削除) を選択して削除を確定します。

または、[トリガーの詳細](#trigger-details) ページに移動し、**Delete** (削除) ボタンを選択してトリガーを削除することもできます。
