Skip to main content
Windows PC는 XBOX의 XStore에는 없는 복잡성을 도입합니다. PC의 Microsoft Store 계정은 플레이어의 XBOX 계정과 다를 수 있으며, 샌드박스는 스토어 작업에 다르게 영향을 미치고, 라이선스 토큰 흐름을 통해 서비스는 클라이언트를 신뢰하지 않고도 소유권을 확인할 수 있습니다.

기본 DRM 및 라이선스 확인

PC의 XStore에는 기본 DRM 확인이 포함됩니다. 타이틀은 게임 플레이를 허용하기 전에 활성 라이선스가 있는지 확인합니다. 이 확인은 XStoreQueryGameLicenseAsync를 통해 시작 시 실행됩니다. 라이선스가 발견되지 않는 경우:
  1. 플레이어에게 구매하거나 로그인할 수 있는 스토어 UI를 표시하세요.
  2. 활성 라이선스 없이 게임 플레이가 진행되도록 하지 마세요.
불법 복제 위험이 높은 타이틀은 추가 확인을 계층화하세요.
  • 서비스의 라이선스 토큰을 통해 라이선스를 검증합니다.
  • 게임 플레이 중에 XStoreQueryGameLicenseAsync를 주기적으로 다시 확인하고, 라이선스 손실 시 취소합니다.

개방형 대 제한적 라이선싱

두 가지 PC 라이선싱 모델:
  • 개방형 라이선싱 — 플레이어는 라이선스가 있는 모든 Microsoft Store 계정으로 타이틀을 실행할 수 있습니다. 공유 PC에 유용합니다.
  • 제한적 라이선싱 — 플레이어는 라이선스가 있는 Microsoft 계정으로 로그인해야 합니다. 타이틀이 더 강력한 불법 복제 방지를 원할 때 사용됩니다.
Partner Center에서 제품의 Properties 아래에서 구성합니다.

서비스 검증용 라이선스 토큰

게임 서버가 플레이어가 타이틀을 소유하고 있는지 확인해야 하는 경우(예: 인게임 자산을 부여하기 전) 라이선스 토큰을 사용하세요.
  1. 클라이언트가 XStoreQueryLicenseTokenAsync를 호출해 짧은 수명의 서명된 토큰을 얻습니다.
  2. 클라이언트가 토큰을 서비스에 전송합니다.
  3. 서비스가 Microsoft 공개 키로 토큰의 서명을 검증합니다.
  4. 서비스가 라이선스 상태에 대한 토큰의 클레임을 신뢰합니다.
이렇게 하면 클라이언트가 증거 없이 소유권을 주장하는 것을 피하고, 서비스가 세션마다 Microsoft Store API를 폴링하는 것을 피할 수 있습니다.

스토어 계정 불일치 시나리오

일반적인 PC 문제: 플레이어가 Windows/XBOX 앱에는 하나의 Microsoft 계정으로 로그인되어 있지만, Microsoft Store는 다른 계정으로 로그인되어 있습니다. XStore API는 스토어의 로그인 계정을 따르므로 다음과 같은 결과가 발생할 수 있습니다.
  • XBOX에 로그인된 플레이어가 다른 계정에서 소유하고 있음에도 타이틀에 “buy”가 표시됩니다.
  • 잘못된 계정으로 구매가 성공합니다.
다음과 같이 처리하세요.
  1. 불일치 감지 — XUserGetIdXStoreQueryGameLicenseAsync 정보를 비교합니다.
  2. 불일치를 설명하는 UI를 표시하고 전환을 제안합니다.
  3. 플레이어가 전환할 수 없는 경우, 스토어 계정을 수정하도록 XBOX 앱을 통해 리디렉션을 제안합니다.

스토어 작업을 위한 샌드박스 전환

XBOX 서비스 샌드박스(XblPCSandbox.exe를 통해 설정)는 PC에서 스토어가 사용하는 샌드박스를 완전히 제어하지 않습니다. 스토어 작업에는 추가 단계가 필요합니다.
  1. XBOX 서비스 샌드박스를 전환합니다.
  2. 새 샌드박스 컨텍스트에서 Microsoft Store 앱을 다시 시작합니다.
  3. XStoreQueryGameLicenseAsync가 개발 샌드박스 데이터를 반환하는지 검증합니다.
스토어를 제대로 전환하지 못하면 XBOX 서비스는 개발 샌드박스를 보지만 스토어 호출은 RETAIL에 도달하는 혼란스러운 테스트 결과가 발생합니다.

PC 커머스 테스트 체크리스트

제출 전에:
  1. 아무것도 소유하지 않은 테스트 계정으로 테스트 — 구매/트라이얼/로그인 흐름을 검증합니다.
  2. 기본 게임을 소유한 테스트 계정으로 테스트 — “buy” 프롬프트가 나타나지 않는지 검증합니다.
  3. 불일치 스토어 계정 테스트 — 하나의 계정으로 Windows에 로그인하고 다른 계정으로 스토어에 로그인합니다.
  4. 트라이얼 → 구매 흐름 테스트 — 다시 시작하지 않고 트라이얼 라이선스가 정식 라이선스로 전환되는지 검증합니다.
  5. 오프라인 실행 테스트 — PC 타이틀은 적절한 캐시된 라이선스 창 동안 오프라인(스토어 연결 없이)에서도 실행되고 재생되어야 합니다.
  6. 샌드박스 전환 테스트 — 전환 후 스토어 호출이 개발 샌드박스 제품을 반환하는지 확인합니다.

관련 API 문서

참고

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