다음을 통해 공유


XblAchievementsUpdateAchievementForTitleIdAsync

도전 과제 진행 상태를 업데이트하고 도전 과제를 잠금 해제할 수 있도록 허용합니다.

구문

HRESULT XblAchievementsUpdateAchievementForTitleIdAsync(  
         XblContextHandle xboxLiveContext,  
         uint64_t xboxUserId,  
         const uint32_t titleId,  
         const char* serviceConfigurationId,  
         const char* achievementId,  
         uint32_t percentComplete,  
         XAsyncBlock* async  
)  

매개 변수

xboxLiveContext _In_
형식: XblContextHandle

XblContextCreateHandle로 생성된 Xbox Live 컨텍스트 핸들입니다.

xboxUserId _In_
형식: uint64_t

플레이어의 Xbox 사용자 ID입니다.

titleId _In_
형식: uint32_t

타이틀 ID입니다.

serviceConfigurationId _In_z_
형식: char*

타이틀용 SCID(서비스 구성 ID)입니다. SCID는 대소문자를 구분하므로 파트너 센터에서 직접 붙여넣기하세요.

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를 호출하여 가져올 수 있습니다. 예기치 않게 실패할 경우 SCID가 대/소문자를 구분하므로 XblInitArgs에 정확하게 있는지 확인합니다.

REST 호출

V2 POST /users/xuid({xuid})/achievements/{scid}/update

요건

헤더: achievements_c.h

도서관: Microsoft.Xbox.Services.14x.GDK.C.lib

참고 항목

achievements_c