시작하기 전에
- 제품에서 전체 XBOX services 기능 집합을 사용합니다. 새 제품은 제한된 XBOX services로 시작하며, 제품이 온보딩될 때까지 업적과 게이머스코어를 사용할 수 없습니다. 자세한 내용은 전체 XBOX services를 사용하도록 제품 온보딩 요청을 참조하세요.
- Partner Center에서 업적을 구성하고 XBOX services 구성을 개발 샌드박스에 게시했습니다. 자세한 내용은 Partner Center에서 타이틀 관리 업적 구성을 참조하세요.
- 개발 키트 또는 Windows PC가 같은 개발 샌드박스를 사용하며, 해당 샌드박스에 액세스할 수 있는 테스트 계정으로 로그인합니다. 자세한 내용은 XBOX services 샌드박스 개요를 참조하세요.
- 게임에서 Gaming Runtime을 초기화한 다음
scid멤버에 서비스 구성 ID(SCID)가 포함된 XblInitArgs 구조체를 사용하여 XblInitialize를 호출했습니다. SCID는 대/소문자를 구분합니다. 자세한 내용은 XBOX services API 사용 방법을 참조하세요. - 사용자를 로그인시키고 XblContextCreateHandle을 호출하여 해당 사용자에 대한
XblContextHandle을 만들었습니다.
업적 잠금 해제
업적이 Partner Center를 통해 구성되고 개발 샌드박스에 게시된 후 타이틀은 XblAchievementsUpdateAchievementAsync API를 호출하여 업적을 잠금 해제할 수 있습니다. 자세한 내용은 다음 섹션의 예제 코드를 참조하세요. 업적을 잠금 해제하려면percentComplete를 100으로 설정합니다.
사용자가 온라인 상태이면 요청이 XBOX 서비스 업적 서비스로 즉시 전송되고 다음과 같은 사용자 환경이 트리거됩니다.
- 사용자에게 업적 잠금 해제 알림이 표시됩니다.
- 지정된 업적이 타이틀의 사용자 업적 목록에서 잠금 해제된 것으로 표시됩니다.
- 잠금 해제된 업적이 사용자의 활동 피드에 추가됩니다.
사용자 환경은 이벤트 기반 업적이나 타이틀 관리 업적을 사용하는 업적에 대해 시각적으로 동일합니다.
업적의 완료 진행률 업데이트
업적을 잠금 해제하기 위한 사용자의 진행률을 업데이트하려면 XblAchievementsUpdateAchievementAsync를 호출합니다.percentComplete 인수를 1-100 사이의 정수로 설정합니다.
자세한 내용은 다음 예제 코드를 참조하세요.
업적의 진행률은 증가만 할 수 있습니다.
percentComplete가 업적의 마지막 percentComplete 값보다 작은 숫자로 설정되면 업데이트는 무시됩니다.
예를 들어 업적의 percentComplete가 이전에 75로 설정된 경우 값이 25인 업데이트를 보내면 무시됩니다. 업적은 여전히 75% 완료된 것으로 표시됩니다.
percentComplete가 100으로 설정되면 업적이 잠금 해제됩니다.
percentComplete가 100보다 큰 숫자로 설정되면 API는 숫자를 정확히 100으로 설정한 것처럼 동작합니다.
현재 타이틀의 업적 업데이트
다음과 같이 XblAchievementsUpdateAchievementAsync를 호출하여 현재 타이틀의 업적을 업데이트할 수 있습니다. Flat C API다른 타이틀의 업적 업데이트
다음과 같이 XblAchievementsUpdateAchievementForTitleIdAsync를 사용하여 다른titleId의 업적을 업데이트할 수 있습니다.
Flat C API
문제 해결
실패 HRESULT를 대응 가능한 범주로 분류하려면 XblGetErrorCondition을 호출하세요. 실패한 업데이트를 직접 다시 시도하지 마세요. 네트워크 또는 인증 문제, 제한(HTTP 429), 서버 오류(HTTP 5xx) 또는 분류되지 않은 오류로 인해 업데이트가 실패하면 XSAPI는 이를 오프라인 이벤트로 큐에 넣고 장치가 다시 온라인 상태가 되면 전송합니다. 이 경우XAsyncGetStatus는 이벤트를 큐에 넣은 결과를 반환하며, 일반적으로 S_OK입니다. 다시 시도하면 서비스에서 업데이트를 두 번 받을 수 있습니다.
게임에 다음과 같은 결과가 전달될 수 있습니다.
이 항목의 맨 위로 돌아가기.
