Unity Cloud Dashboard
Unity Cloud Dashboard를 사용하면 그래픽 인터페이스를 통해 트리거를 완전히 제어할 수 있으므로 간편하게 트리거 작업을 시작할 수 있습니다. 이 섹션에서는 트리거를 미리 보고, 생성하고, 삭제하는 방법을 설명합니다.
참고: Unity Cloud Dashboard에서는 이벤트 기반 UGS 트리거만 지원됩니다. 예약된 이벤트와 예약된 이벤트에 대한 트리거를 생성하려면 CLI나 Triggers 관리자 API를 사용하면 됩니다.
트리거 미리 보기
Unity Cloud Dashboard에서 환경의 모든 트리거가 나열된 목록에 액세스할 수 있습니다.
- Unity Cloud Dashboard에서 Cloud Code를 선택합니다.
- Triggers를 선택합니다.
- 환경 목록에서 환경을 선택합니다.
프로젝트에 대해 선택한 환경의 모든 트리거 목록이 나타납니다. 표에는 이름, 트리거, 유형, 최근 업데이트 타임스탬프가 포함됩니다.
트리거 세부 정보
트리거 목록에서 트리거를 선택하여 트리거 세부 정보 페이지로 이동할 수 있습니다. 트리거 세부 정보 페이지에는 다음 내용이 표시됩니다.
데이터 | 설명 |
---|---|
Name | 트리거 이름입니다. |
Type | 트리거 유형으로, Event 또는 Schedule입니다. |
Trigger | 스크립트를 트리거하는 이벤트입니다. 예를 들어 Cloud Save 에서 발생하는 key_saved 입니다. |
Event Type | 전체 이벤트 유형이며, com.unity.services.cloud-save.key-saved.v1 을 예로 들 수 있습니다. 이벤트 유형에 관한 자세한 내용은 이벤트 구조를 참고하십시오. |
Last updated | 트리거 구성이 마지막으로 업데이트된 시간의 RFC3339 타임스탬프입니다. |
트리거 정의 카드에는 다음과 같이 트리거 구성에 대한 요약이 나타납니다.
- When this happens(이벤트 유형)
- Where(필터)
- Do this(액션, Cloud Code 스크립트, 모듈)
칩에 필터가 표시되며, 이를 통해 필터의 속성과 연산자, 값을 보여 줍니다. 대시보드에서 필터를 칩 형식으로 표시할 수 없으면 필터가 대시보드에 원래의 CEL 형식으로 표시됩니다.
로그로 이동
트리거에 대한 로그 페이지로 이동하여 트리거 실행 관련 로그를 보려면 View Trigger Logs 버튼을 선택합니다. Logs 섹션에서 로그에 관해 자세히 알아보시기 바랍니다.
액션으로 이동
트리거가 기존 스크립트나 모듈과 연결되면 트리거 정의 카드에 스크립트나 모듈로 연결되는 링크가 제공됩니다. 스크립트나 모듈 세부 정보 페이지로 이동하려면 해당 링크를 클릭합니다.
트리거 생성
Unity Cloud Dashboard에서 이벤트 기반 트리거를 생성할 수 있습니다.
Unity Cloud Dashboard에서 Products > Cloud Code를 선택합니다.
Triggers를 선택합니다.
New trigger를 선택합니다.
다음 정보를 입력합니다.
- Name: 구성을 식별하는 데 사용되는 트리거 이름입니다. 트리거 이름은 프로젝트와 환경 전반에서 중복되지 않아야 하며 이름 길이가 255자를 초과하면 안 됩니다.
- Type: 트리거 유형입니다. 이벤트 기반 트리거란 UGS에서 발생된 이벤트에서 트리거되는 트리거입니다.
Next를 선택합니다.
다음 단계에서 다음 정보를 선택합니다.
When this happens 섹션:
Add Trigger Event 버튼을 선택합니다.
스크립트를 트리거하려는 이벤트를 선택합니다.
Add Filter를 선택하여 이벤트에 필터를 추가합니다.
참고: 문자열 값은 따옴표로 묶지 않아도 됩니다. 하지만 JSON 유형의 값은 따옴표로 묶어야 합니다.
Do this 섹션:
Add Action 드롭다운을 선택합니다.
트리거가 활성화될 때 수행하려는 액션을 선택합니다. 이 액션은 스크립트나 모듈이 될 수 있습니다.
참고: 트리거와 동일한 환경에 있는 Cloud Code 액션만 선택할 수 있습니다. When this happens 섹션에서 중재 이벤트를 선택하고 액션에 대한 스크립트를 선택하려는 경우 중재 스크립트만 선택 가능합니다.
Confirm을 선택합니다.
트리거를 생성하면 트리거 목록 페이지로 리디렉트됩니다. 트리거 구성을 검사하려면 표에서 트리거 이름을 선택합니다.
경고: 이벤트를 발생시키는 동일한 서비스와 트리거가 상호 작용하는 경우, 필터를 정의하여 무한 루프 발생을 방지해야 합니다. Unity Cloud Dashboard의 필터를 참고하여 샘플을 확인하십시오.
Unity Cloud Dashboard의 필터
트리거 구성에 필터를 추가하여 트리거가 활성화되는 조건을 지정할 수 있습니다. Unity Cloud Dashboard에서 지원되는 제한된 일련의 필터를 사용해 이벤트 페이로드를 필터링할 수 있습니다.
Filters 섹션에서 필터 작동 방식을 숙지하시기 바랍니다. 각 UGS 이벤트의 이벤트 페이로드를 검사하려면 지원되는 UGS 이벤트를 참고하십시오.
참고: Unity Cloud Dashboard에는 제한된 수의 연산자가 나와 있어 간단하게 필터링할 수 있도록 지원합니다. Unity Cloud Dashboard에서는 유형 캐스팅이나 중첩 표현식, 복잡한 표현식을 정의할 수 없습니다. 고급 필터가 필요하면 Triggers API를 사용하여 자체 CEL 표현식을 정의하십시오.
경고: 이벤트를 발생시키는 동일한 서비스와 트리거가 상호 작용하는 경우, 필터를 정의하여 무한 루프 발생을 방지할 필요가 있습니다. 무한 루프는 이벤트를 과도하게 처리하고 게임에서 예상치 못한 동작을 일으키며 결국 프로젝트에서 Cloud Code 리소스를 소진시켜 서비스 중단을 야기합니다. 이 문제가 발생하면 루프 발생의 원인이 되는 트리거를 삭제합니다.
지원되는 연산자
Unity Cloud Dashboard에는 다음과 같이 속성 유형에 따라 다양한 연산자가 표시됩니다.
연산자 | 지원 유형 |
---|---|
equals to | 모든 속성 유형 |
not equals to | 모든 속성 유형 |
greater than | int, double, JSON 유형 |
greater than or equals to | int, double, JSON 유형 |
less than | int, double, JSON 유형 |
less than or equals to | int, double, JSON 유형 |
matches | 문자열, JSON 유형 |
not matches | 문자열, JSON 유형 |
contains | 문자열, JSON 유형 |
starts with | 문자열, JSON 유형 |
ends with | 문자열, JSON 유형 |
참고 JSON 유형은 모든 JSON 객체, 문자열, 숫자, 부울을 나타냅니다. 모든 연산자가 JSON 유형에서 지원되지만 JSON 객체 내의 속성 유형에 맞는 올바른 연산자를 사용해야 합니다. 예를 들어 JSON 숫자에는 문자열 연산자를 사용할 수 없습니다.
필터 조인
트리거별로 최대 10개의 필터를 정의할 수 있습니다. 논리 연산자 AND
와 OR
별로 필터를 조인할 수 있습니다. 이러한 연산자를 사용해 여러 필터를 결합하여 복잡한 조건을 생성하는 것이 가능합니다.
참고 Unity Cloud Dashboard에서는 중첩 표현식을 지원하지 않습니다. 논리 연산자 AND
와 OR
로만 필터를 조인할 수 있습니다. 고급 필터가 필요하면 Triggers API를 사용하여 자체 CEL 표현식을 정의하십시오.
Cloud Save key-saved 이벤트로 필터 정의
특정 키가 Cloud Save에 저장될 때만 트리거가 활성화되도록 정의할 수 있습니다. 예를 들어 playerData
키가 저장될 때만 트리거가 활성화되도록 필터를 정의하는 것이 가능합니다.
Unity Cloud Dashboard에서 이 필터를 다음과 같이 트리거 구성에 추가할 수 있습니다.
- When this happens 섹션에서 Add Event 버튼을 선택합니다.
- 이벤트 드롭다운을 선택한 후 Cloud Save key-saved 이벤트를 선택합니다.
- Add Filter 버튼을 선택합니다.
- 새로운 필터 카드에서 다음 내용을 따릅니다.
- 첫 번째 드롭다운에서
key
속성을 선택합니다. - 두 번째 드롭다운에서
equals to
연산자를 선택합니다. - 세 번째 드롭다운에서
playerData
값을 입력합니다.
- 첫 번째 드롭다운에서
이 필터를 정의하면 playerData
키가 Cloud Save에 저장될 때만 트리거가 활성화됩니다.
Leaderboards score-submitted 이벤트로 필터 정의
특정 점수가 리더보드에 제출될 때만 트리거가 활성화되도록 정의할 수 있습니다. 예를 들어 점수가 특정 범위에 해당할 경우에만 트리거가 활성화되도록 필터를 정의할 수 있습니다.
Unity Cloud Dashboard에서 이 필터를 다음과 같이 트리거 구성에 추가할 수 있습니다.
- When this happens 섹션에서 Add Event 버튼을 선택합니다.
- 이벤트 드롭다운을 선택한 후 Leaderboards score-submitted 이벤트를 선택합니다.
- Add Filter 버튼을 선택합니다.
- 새로운 필터 카드에서 다음 내용을 따릅니다.
- 첫 번째 드롭다운에서
score
속성을 선택합니다. - 두 번째 드롭다운에서
greater than
연산자를 선택합니다. - 세 번째 드롭다운에서
0
값을 입력합니다.
- 첫 번째 드롭다운에서
- Add Filter 버튼을 선택합니다.
- 새로운 필터 카드에서 다음 내용을 따릅니다.
- 첫 번째 드롭다운에서
score
속성을 선택합니다. - 두 번째 드롭다운에서
less than
연산자를 선택합니다. - 세 번째 드롭다운에서
100
값을 입력합니다.
- 첫 번째 드롭다운에서
이 필터를 정의하면 리더보드에 0~100에 해당하는 점수가 제출될 때만 트리거가 활성화됩니다.
트리거 삭제
Unity Cloud Dashboard에서 트리거를 삭제하려면 다음 내용을 따릅니다.
- Triggers 목록 페이지로 이동합니다.
- 휴지통 아이콘을 선택합니다. 트리거를 삭제하면 작업을 실행 취소할 수 없음을 경고하는 다이얼로그가 표시됩니다.
참고: 실시간 게임에서 사용하는 트리거를 삭제하면 게임에서 예상하지 못한 동작이 발생할 수 있습니다.
- Delete를 선택하여 삭제를 확인합니다.
또한 트리거 세부 정보 페이지로 이동하여 Delete 버튼을 선택해 트리거를 삭제할 수도 있습니다.