- 지난 2주 동안 로그인한 모든 플레이어에게 특별한 새해 선물을 지급합니다.
- 지난주에 돈을 지출한 플레이어에게 지출 등급에 따라 보상을 지급합니다. 많이 지출할수록 더 가치 있는 선물을 받습니다.
- 최근 게임 버그의 영향을 받은 모든 플레이어의 손상된 플레이어 상태를 수정합니다.
필수 구성 요소
이 자습서를 실행하려면 Unicorn Battle Sample App을 설치해야 합니다. 자세한 내용은 블로그에서 확인하거나, GitHub 리포지토리로 바로 이동하여 해당 지침을 따르세요.

1단계 - 세그먼트 만들기
첫 번째 단계는 이 작업의 영향을 받을 플레이어 그룹을 정의하는 세그먼트를 만드는 것입니다. 이 경우 2,725 XP를 초과하는 모든 플레이어로 정의되는 High XP Segment를 만들어야 합니다.- 왼쪽 메뉴에서 PlayStream을 선택합니다.
- Segments 탭을 선택합니다.
- 그런 다음 New Segment 버튼을 선택합니다.
- Segment Name을 High XP Players로 지정합니다.
- Total_XP Gained라는 Statistic Value가 2725보다 큰 Player로 정의합니다.
참고: 현재 예약된 태스크 시스템은 세그먼트당 초당 10~15개의 태스크를 처리할 수 있습니다. 세그먼트를 설계할 때는 세그먼트의 크기와 태스크 실행 시간을 미리 계획하세요. 태스크 실행 시간에는 제한이 없지만, 특정 기간 내에 태스크를 실행해야 하는 경우 세그먼트의 크기를 적절하게 조정해야 합니다.

2단계 - 이 세그먼트에 대한 태스크 만들기
- Segments 탭을 선택합니다.
- 그런 다음 **RUN TASK …**를 선택합니다.


3단계 - 태스크에 작업 추가
다음으로 태스크 설정을 완료할 수 있습니다.- 이름을 Reward High XP Players로 변경합니다.
- 설명을 추가합니다: Give a gift to Players who are level 2 or higher.
- ADD ACTION을 선택합니다.
- 제공된 필드에 Grant virtual currency를 입력합니다.
- Virtual Currency 코드: GM(Gems의 약어).
- 금액: 20
- 지금은 예약을 Manually로 설정된 상태로 둡니다.
- SAVE AND RUN 버튼을 선택하여 태스크를 실행합니다.

4단계 - 태스크 모니터링
Tasks 보기에 실행 중인 태스크가 표시됩니다. 처음에는 태스크 상태가 InProgress이지만, 세그먼트가 작기 때문에 곧 Succeeded로 변경됩니다.
- 처리된 플레이어 수
- 태스크가 시작된 시간
- 완료하는 데 걸린 시간
- 시작 시 사용된 매개 변수
- 태스크를 실행한 사람
- 수동으로 예약되었는지 여부 등

- Players 탭으로 이동합니다.
- Player를 선택합니다.
- 그런 다음 Event History 탭을 선택합니다.
- 목록의 가장 최근 이벤트는 player_virtual_currency_balance_changed여야 하며, Player의 젬이 20만큼 증가한 것으로 표시되어야 합니다.
이 이벤트를 확장하여 세부 정보를 볼 수 있습니다.

다음 단계
이 자습서에서는 세그먼트의 모든 플레이어에게 작업을 수행하는 단계를 소개했지만, 태스크로 할 수 있는 일은 훨씬 더 많습니다. 시도해 볼 수 있는 몇 가지 아이디어는 다음과 같습니다.태스크 예약
태스크를 수동으로 실행할 필요는 없습니다. 태스크가 반복적으로 자동 실행되도록 예약할 수 있습니다. 예를 들어 지난 24시간 동안 게임을 플레이한 모든 플레이어의 세그먼트를 만든 다음, 매일 예약된 태스크를 실행하여 해당 플레이어에게 XP 부스트를 제공할 수 있습니다.

각 플레이어에 대해 CloudScript 실행
일괄 작업의 가장 강력한 용도는 각 플레이어에 대해 임의의 CloudScript 함수를 실행하는 것입니다. 이 CloudScript는 아이템 및 통화 지급, 플레이어 데이터 검사 및 변경 등 PlayFab 서버 API가 할 수 있는 모든 작업을 수행할 수 있습니다. 예를 들어 매주 재설정되는 이벤트 순위표가 있고, 모든 플레이어를 대상으로 재설정 전 마지막 이벤트 값을 기준으로 보상을 지급하려고 한다고 가정해 보겠습니다. 아래 제공된 예제는 Unicorn Battle을 사용합니다.-
매주 재설정되고 집계 방법 Last를 사용하는 새 통계 Event_QuestsCompleted를 만듭니다.

-
Total_QuestsCompleted가 변경될 때마다 이Event_QuestsCompleted통계를 증가시키는 새 PlayStream 작업을 만듭니다.
- 일괄 작업 태스크에서 호출할 CloudScript 함수를 작성합니다. 이 함수는 플레이어를 순회하며 마지막 값을 기준으로 보상을 지급합니다.
-
새 CloudScript 버전을 Live로 설정하고, 모든 플레이어에 대해
GiveTieredReward함수를 호출하는 새 태스크를 만듭니다. 태스크를 Save하고 Run하는 것을 잊지 마세요.
-
이 태스크의 이벤트가 PlayStream 이벤트 디버거에 표시되는 것을 확인할 수 있습니다.

-
플레이어 트리거 작업으로 실행된 CloudScript 이벤트를 선택하면(타임스탬프 선택) 각 플레이어에 대한 CloudScript 실행의 자세한 결과를 볼 수 있습니다. 여기에는 CloudScript 실행 시점의 플레이어 프로필 스냅숏과 같은 유용한 진단 정보가 포함됩니다.

