XBOX services 사용자 통계 서비스에 게임 이벤트 작성
게임에서 가장 흥미로운 순간은 중요한 무언가가 일어날 때입니다. 상대를 물리치거나, 패배하거나, 위치로 이동하거나, 무기를 발사하거나, 꽃을 꺾을 때 등이 그러합니다. XBOX services를 사용하면 타이틀은 플레이어의 게임에서 중요한 이벤트에 대한 정보를 공유할 수 있습니다. 세부 정보는 사용자에 대한 통계를 기록하는 XBOX services로 보낼 수 있습니다. 이 통계는 사용자 통계, 순위표 및 매치메이킹에서 사용하기 위해 검색할 수 있습니다. 이벤트와 이벤트의 일부로 전송된 데이터가 서비스에 도달하면 XBOX services는 타이틀에 대한 서비스 구성에서 정의한 규칙을 처리하여 사용자 통계, 순위표 등을 만들거나 업데이트합니다.Partner Center 구성
먼저 Partner Center의 플레이어 통계 | 통계 규칙 페이지에서 이벤트를 정의합니다. Partner Center에 이벤트와 통계가 정의되면 다음 단계에 따라 이벤트를 전송할 수 있습니다.이벤트 작성
Microsoft Game Development Kit (GDK) 타이틀의 경우 이벤트를 전송하는 API가 XBOX One Software Development Kit 타이틀과 다르며 매니페스트 파일을 사용할 필요가 없습니다. XblEventsWriteInGameEvent 함수는 다음과 같이 선언됩니다.xboxLiveContext는 XBOX services 컨텍스트 핸들입니다.
eventName은 Partner Center에서 정의한 이벤트 이름입니다.
dimensions는 유한한 값 집합을 가지는 이벤트 속성에 해당하는 속성 모음입니다. 예: 레벨, 무기 또는 캐릭터.
measurements는 불확정한 값 집합을 가지는 이벤트 속성에 해당하는 속성 모음입니다. 예: 주행 거리, 처치한 적 수 또는 플레이한 시간(분).
Dimensions와 Measurements에 대해서는 아래에서 더 자세히 설명합니다.
Measurements와 Dimensions
XBOX services에서 이벤트 목적으로 XblEventsWriteInGameEvent를 호출할 때 이벤트 속성을 dimension으로 전달하든 measurement로 전달하든 차이가 없습니다. 이러한 차이는 원격 분석을 위해 Application Insights에서 이벤트를 분석하는 경우에만 관련이 있으며, 이는 게임 플레이 경험에 영향을 미치지 않습니다. 자세한 정보는 사용자 지정 이벤트 및 메트릭용 Application Insights API에 있습니다. Dimensions는 이벤트를 필터링하거나 피벗하는 데 사용할 수 있습니다. 예: 레벨 6을 완료한 사용자를 표시하거나 사용된 무기가 “Minigun”이었던 “Enemies Killed” 이벤트를 모두 표시합니다. Measurements는 그래픽으로 표시하거나 순위표에 사용하는 것이 합리적일 수 있습니다. 예: 트랙 시간, 연속 라운드 승리 등. 그러나 XBOX services에서 사용할 목적으로는 이벤트 속성을 measurement로 전달하든 dimension으로 전달하든 차이가 없으며, 도전 과제 잠금 해제 및 기타 XBOX services 관련 기능의 목적으로 동일하게 처리됩니다.XBOX services 이벤트 디버깅
타이틀의 이벤트가 XBOX services에 성공적으로 도달하지 못하면 히어로 통계 및 순위표가 업데이트되지 않습니다. 이벤트가 XBOX services에서 성공적으로 수신되지 않고 있다고 의심되는 경우 다음 단계를 시도하세요.- 샌드박스가 올바른지 확인합니다.
- 디바이스에서 Fiddler를 설정합니다. Fiddler에서 다음과 같이 이벤트를 볼 수 있습니다.
v10.vortex-win.data.microsoft.com에 대한 호출을 찾습니다. 표시된 대로 요청 본문을 디코딩해야 하며, JSON을 보면 다음과 같은 내용을 확인할 수 있습니다.
이벤트 이름이 예상한 것과 같은지 확인할 수 있습니다. 타이틀 ID가 이름 앞에 추가됩니다. 또한 200 반환 코드를 받고 있는지 확인해야 합니다.
