Skip to main content

XblAchievementsManagerUpdateAchievement

업적 진행률을 업데이트하고 업적 잠금을 해제할 수 있도록 허용합니다.

구문

매개 변수

xboxUserId   _In_
형식: uint64_t
플레이어의 XBOX 사용자 ID입니다. achievementId   _In_
형식: char*
Dev Center에서 정의한 UTF-8 인코딩된 업적 ID입니다. currentProgess   _In_
형식: uint8_t
진행률을 나타내는 업적의 완료 백분율입니다. 유효 값은 1에서 100까지입니다. 업적 잠금을 해제하려면 100으로 설정합니다. 진행률은 서버에서 전송된 가장 높은 값으로 설정됩니다.

반환값

형식: HRESULT 이 API 작업에 대한 HRESULT 반환 코드입니다.

설명

XblAchievementsManagerAddLocalUser로 Achievements Manager가 성공적으로 초기화되었다고 가정하면, 이 API는 PC와 XBOX 콘솔에서 오프라인 상태일 때도 작동합니다. 오프라인 업데이트는 타이틀이 실행 중이지 않더라도 연결이 다시 설정되면 시스템에 의해 게시됩니다. 작업 결과는 로컬에서 즉시 반영되지 않습니다. 업데이트가 반영되는 가장 빠른 시점은 다음 프레임의 DoWork 호출 이후입니다. 변경 사항이 반영되면 DoWork에서 반환되는 배열에는 이벤트 형식이 AchievementProgressUpdated인 XblAchievementsManagerEvent가 포함되며, 새로운 진행률로 인해 업적이 잠금 해제된 경우에는 형식이 AchievementUnlocked인 추가 이벤트도 포함될 수 있습니다. 업적이 이미 잠금 해제되었거나 진행률 값이 서버에서 캐시된 값보다 작거나 같은 경우 이 함수는 각각 E_NOT_VALID_STATE 또는 E_INVALIDARG를 반환합니다. 이 함수로는 타이틀 기반 업적만 업데이트할 수 있습니다. 이벤트 기반 업적은 이 함수로 업데이트할 수 없습니다.

REST 호출

V2 POST /users/xuid()/achievements//update

요구 사항

헤더: achievements_manager_c.h 라이브러리: Microsoft.Xbox.Services.14x.GDK.C.lib

참고 항목

achievements_manager_c
마지막 수정일 2026년 8월 24일