XblAchievementsUpdateAchievementAsync
도전 과제 진행 상태를 업데이트하고 도전 과제를 잠금 해제할 수 있도록 허용합니다.
구문
HRESULT XblAchievementsUpdateAchievementAsync(
XblContextHandle xboxLiveContext,
uint64_t xboxUserId,
const char* achievementId,
uint32_t percentComplete,
XAsyncBlock* async
)
매개 변수
xboxLiveContext _In_
형식: XblContextHandle
XblContextCreateHandle로 생성된 Xbox Live 컨텍스트 핸들입니다.
xboxUserId _In_
형식: uint64_t
플레이어의 Xbox 사용자 ID입니다.
achievementId _In_z_
형식: char*
XDP 또는 개발자 센터에서 정의된 UTF-8로 인코딩된 도전 과제 ID입니다.
percentComplete _In_
형식: uint32_t
도전 과제 완료율로, 진행 상태를 나타냅니다. 유효한 값은 1에서 100 사이입니다. 도전 과제를 잠금 해제하려면 100으로 설정합니다. 진행 상태는 서버에서 전송된 가장 높은 값으로 설정됩니다.
async _In_
형식: XAsyncBlock*
호출자가 할당한 AsyncBlock입니다.
반환 값
형식: HRESULT
이 API 작업에 대한 HRESULT 반환 코드입니다.
설명
이 API는 PC 및 Xbox One에서 오프라인 상태에서도 작동합니다. 오프라인 업데이트는 타이틀이 실행 중이 아니어도 연결이 다시 설정되었을 때 시스템에서 게시됩니다. 비동기 작업의 결과는 AsyncBlock 콜백 내에서 또는 AsyncBlock이 완료된 후 XAsyncGetStatus를 호출하여 가져올 수 있습니다. 도전 과제가 이미 잠금 해제되었거나 진행 상황 값이 현재 서버에 기록된 값보다 작거나 같은 경우 콜백 내의 XAsyncGetStatus()에서 HTTP_E_STATUS_NOT_MODIFIED(0x80190130L)를 반환합니다.
REST 호출
V2 POST /users/xuid({xuid})/achievements/{scid}/update
요건
헤더: achievements_c.h
도서관: Microsoft.Xbox.Services.14x.GDK.C.lib