이벤트
Understand how the Scheduler service and Unity Gaming Services produce events that Triggers service processes.
읽는 시간 2분최근 업데이트: 2달 전
Scheduler 서비스와 Unity Gaming Services는 이벤트를 생성합니다. 생성된 이벤트는 Triggers 서비스로 전송되며, Triggers 서비스는 이벤트에 대응하는 구성을 찾은 다음 해당 Cloud Code 스크립트 또는 모듈을 실행합니다.
발생된 이벤트
Scheduler 서비스와 Unity Gaming Services는 트리거를 연결할 수 있는 이벤트를 발생시킵니다.발생 주체 | 커스터마이즈 가능 여부 | 이벤트 페이로드 | 발생 시점 | 사용 사례 |
|---|---|---|---|---|
| Unity Gaming Services | 아니요 | 이벤트별 페이로드 및 버전 관리를 통해 사전 정의됨 | 플레이어 또는 게임 상태의 변화 | 게임이나 플레이어의 상태 변화에 대한 응답으로 Cloud Code 스크립트 또는 모듈을 트리거하려는 경우, UGS에서 발생시키는 이벤트를 사용합니다. |
| Scheduler 서비스 | 예 | 일정 구성에서 사용자에 의해 생성됨 | 사용자가 정의한 시점에 또는 일정 간격으로 반복 | Cloud Code 스크립트 또는 모듈이 트리거되는 시점을 제어하려는 경우 Scheduler 서비스에서 발생시키는 이벤트를 사용합니다. |
전달 시맨틱
기본적으로 이벤트는 최소 1회 전달 시맨틱을 사용합니다. 즉, 모든 이벤트는 최소한 한 번 처리되지만, 네트워크 문제가 발생하는 경우에는 여러 번 처리될 수 있습니다. 이러한 상황을 방지할 수 있도록 멱등성 Cloud Code 스크립트와 모듈을 만드는 것이 좋습니다.이벤트 구조
모든 이벤트는 이벤트 유형, 페이로드 버전을 포함하며 페이로드를 전달합니다.필드 | 설명 | 예시 |
|---|---|---|
| 이벤트 유형은 발생 주체인 서비스, 이벤트 이름, 페이로드 버전이 포함된 문자열입니다. 이벤트 유형은 트리거 구성에서 연결을 생성하는 데에도 사용됩니다. | |
| 페이로드 버전은 페이로드의 버전을 나타내는 정수입니다. | 1 |
| 페이로드는 이벤트 데이터가 포함된 문자열로, 스크립트 또는 모듈 파라미터로 Cloud Code에 전달됩니다. | |
이벤트 유형 | 발생 주체 | 페이로드 버전 | 페이로드 |
|---|---|---|---|
| Scheduler 서비스 | 1 | 사용자가 정의함 |
| Authentication 서비스 | 1 | 사전 정의됨 |
| Authentication 서비스 | 1 | 사전 정의됨 |
| Cloud Save 서비스 | 1 | 사전 정의됨 |
| Leaderboards 서비스 | 1 | 사전 정의됨 |
| Leaderboards 서비스 | 1 | 사전 정의됨 |
페이로드 버전 관리
페이로드 버전 관리를 통해 변경이 중단되는 것을 방지할 수 있습니다. 모든 이벤트에는 이벤트 페이로드에 대한 페이로드 버전 관리가 포함됩니다. 예를 들어com.unity.services.player-auth.signed-up.v11예약된 이벤트 페이로드
Scheduler 서비스에서 발생시키는 이벤트는 커스터마이즈 가능한 페이로드를 사용합니다. 이 페이로드는 일정 구성에서 정의됩니다. 예를 들어 예약된 이벤트 페이로드에 새 필드를 추가하려는 경우, 새 페이로드 버전을 생성한 다음 해당 페이로드 버전을 사용하는 트리거를 생성할 수 있습니다. 일정 구성의 예시는 다음과 같습니다.위 샘플의 결과로 이벤트 유형이{"name" : "recurring-schedule","eventName": "example-event","type": "recurring","schedule": "0 0 * * *","payloadVersion": 1,"payload": "{\"someBoolean\": true, \"someString\": \"something\"}"}
com.unity.services.scheduler.example-event.v1이벤트 페이로드에 새 필드를 추가하려는 경우, 새 페이로드 버전을 생성한 다음 해당 페이로드 버전을 사용하는 트리거를 생성할 수 있습니다.{"name" : "example-trigger","eventType" : "com.unity.services.scheduler.example-event.v1","actionUrn" : "urn:ugs:cloud-code:my-script","actionType" : "cloud-code"}
이벤트 유형이{"name" : "recurring-schedule","eventName": "example-event","type": "recurring","schedule": "0 0 * * *","payloadVersion": 2,"payload": "{\"someBoolean\": true, \"someString\": \"something\", \"someNewField\": \"something else\"}"}
com.unity.services.scheduler.example-event.v2예약된 이벤트
예약된 이벤트를 발생시키려면 일정 구성을 생성해야 합니다. 자세한 내용은 이벤트 예약을 참고하십시오. 일정 구성을 배포하면 특정 시점에, 혹은 일정 간격으로 반복해서 발생하는 이벤트를 생성할 수 있습니다. 다음은 일정 구성 샘플입니다.{"name" : "example-schedule","eventName": "example-event","type": "recurring","schedule": "0 0 * * *","payloadVersion": 1,"payload": "{\"someBoolean\": true, \"someString\": \"something\"}"}
- : 일정 이름입니다. 프로젝트별로 고유해야 합니다.
name - : 프로젝트 범위 내에서 사용되는 이벤트 이름으로, 트리거의 이벤트 유형을 구성하는 데 사용됩니다.
eventName - : 일정 유형입니다.
type또는one-time이어야 합니다.recurring - : 이벤트 발생 시점을 지정합니다.
schedule필드에 따라 타임스탬프 또는 크론 표현식이어야 합니다.type - : 페이로드의 버전을 나타내는 정수로, 트리거의 이벤트 유형을 구성하는 데 사용됩니다.
payloadVersion - : Cloud Code 스크립트나 모듈로 파라미터를 전달하기 위한 이벤트 페이로드로 사용되는
payload오브젝트입니다.JSON
일회성 일정
일회성 일정은 특정 시점에 실행되는 단일 이벤트입니다. 예시는 다음과 같습니다.{"name" : "one-time-schedule","eventName": "example-event","type": "one-time","schedule": "2020-01-01T00:00:00Z","payloadVersion": 1,"payload": "{\"someBoolean\": true, \"someString\": \"something\"}"}
schedule반복 일정
반복 일정은 특정 시간 간격으로 실행되는 일련의 이벤트입니다. 예시는 다음과 같습니다.{"name" : "recurring-schedule","eventName": "example-event","type": "recurring","schedule": "0 0 * * *","payloadVersion": 1,"payload": "{\"someBoolean\": true, \"someString\": \"something\"}"}
schedule