관련 시나리오 및 API
다음 API를 테스트하려면 이 문서에서 설명하는 대로 개발 환경을 설정해야 합니다.컨텍스트
리테일 시나리오에서 게임을 플레이하려면 라이선스가 있어야 합니다. 라이선스 요청은 설치된 디스크를 확인하거나 Microsoft 서비스로 요청을 보냅니다. 계정이 직접 또는 충족 구매(예: 구독 또는 번들)를 통해 제품에 대한 사용 권한을 갖는 경우 라이선스가 부여됩니다. 공유 시나리오에서도 라이선스가 부여될 수 있습니다. 공유에 대한 자세한 내용은 게임의 제품 공유 모델을 참고하세요. 개발 시나리오는 기본적으로 이 동작을 따르지 않습니다. 이러한 시나리오에는 다음이 포함됩니다.- Loose 빌드(Visual Studio F5 배포, xbapp/wdapp register/deploy)
- 로컬 패키지 빌드(makepkg, xbapp/wdapp install)
XStore API는 여전히 작동하지만 게임 또는 Durables 라이선싱 시 예기치 않은 결과가 발생할 수 있습니다.
빌드가 라이선스 부여 가능한 것처럼 동작하도록 구성하려면 MicrosoftGameConfig에 올바른 identity 값을 적용하세요(XStore 개발 및 테스트 활성화 참고).
그런 다음 다음 단계를 수행해야 합니다.
그런 다음 빌드를 실행하는 각 계정에 대해 플랫폼의 해당 Store에서 제품을 구매하여 사용 권한을 획득해야 합니다.
ContentID 가져오기
Show details를 선택한 후 Packages 페이지에서 ContentID를 찾을 수 있습니다.샌드박스와 리테일 버전의 content ID는 다를 수 있습니다. 게임의 리테일 버전을 설치하면 제품이 샌드박스에 필요한 것과 다른 content ID와 연결됩니다. 지역 패키지가 포함된 경우에도 content ID가 달라집니다.
콘솔
Gaming Command Prompt에서xbapp list /d(또는 DLC의 경우 xbapp listdlc /d)를 실행하여 설치된 패키지의 content ID를 찾습니다.
PC
Gaming Command Prompt에서wdapp list /d(또는 DLC의 경우 wdapp listdlc /d)를 실행하여 설치된 패키지의 content ID를 찾습니다. 스토어에서 설치한 패키지의 경우 /includeStore 플래그를 사용합니다.
빌드에 content ID 적용
Loose 빌드의 경우 MicrosoftGameConfig에 다음 섹션을 추가합니다.makepkg에 content ID를 전달합니다. 예:
/contentid 매개 변수 없이 패키지를 만들면 로컬 소스에서 설치할 때 설치 프로세스가 MicrosoftGameConfig에서 사용할 수 있는 ContentIdOverride를 적용합니다.
스토어(샌드박스 또는 리테일)에서 설치된 빌드는 항상 적절한 content ID를 가집니다(Partner Center에서 볼 수 있음).
빌드에 EKBID 적용(콘솔에만 해당)
콘솔에서 빌드를 라이선스 부여 가능하게 만들려면 EKBID(Escrow Key Blob ID)를 설정하세요. 대부분의 시나리오에서는 모두 0이거나 33EC8436-5A0E-4F0D-B1CE-3F29C3955039인 기본 테스트 값에서 재정의하기만 하면 됩니다. 다음 명령으로 EKBID를 재정의합니다.wdapp setekbid 명령이 없음).
트라이얼 및 EKBID
트라이얼의 경우 실제 EKBID를 적용해야 합니다. 게임에서 사용하는 EKBID를 찾으려면 스토어에서 설치한 빌드에 대해xbapp list /d를 실행합니다. 자세한 내용은 게임에 트라이얼 구현을 참고하세요.
테스트 계정이 샌드박스의 제품에 대한 사용 권한을 갖도록 보장
샌드박스와 리테일 모두에 게시된 제품의 경우 DevEntitlementTool을 사용해 테스트 계정의 사용 권한을 쿼리하고 획득할 수 있습니다. 사용 권한을 획득하는 가장 좋은 방법은 프로토콜 활성화를 통해 제품의 스토어 페이지로 직접 이동하는 것입니다. 샌드박스에만 게시된 제품은 검색 가능하지 않을 수 있기 때문입니다. 개발 콘솔이나 PC는 게임이 게시된 샌드박스로 설정되어야 합니다. 자세한 내용은 XBOX services Sandboxes overview 문서를 참고하고, PC의 경우 스토어 작업에 맞게 샌드박스 제대로 전환을 참고하세요. 제대로 로그인하면 스토어 프로토콜 링크를 사용해 스토어 페이지에 도달합니다. 콘솔에서: Gaming Command prompt를 사용합니다.xbapp launch ms-windows-store://pdp/?productid=<storeID>
PC에서:
Run 상자(⊞Win +R) 또는 웹 브라우저에서
msxbox://game/?productId=<storeID> (XBOX App에서 제품 표시)
또는
ms-windows-store://pdp/?productid=<storeID> (Microsoft Store에서 제품 표시)
스토어 페이지에서 Buy 또는 Get을 선택하여 테스트 계정에 대한 제품의 라이선스를 획득합니다. 게임과 DLC의 다운로드 및 설치가 자동으로 시작되어야 합니다. 로컬 빌드로 반복 개발을 계획한다면 작업을 취소할 수 있습니다.
라이선스 관련 XStore API가 작동할 것으로 예상되는 빌드를 실행하는 모든 계정에 대해 사용 권한을 획득해야 합니다.
DLC
로컬 DLC를 라이선스 부여 가능하게 만들려면 content ID를makepkg에 적용하고 xbapp setekbid를 기본값 이외의 값으로 설정해야 합니다. 기본 게임이 아닌 DLC만 라이선싱을 위해 구성하면 됩니다.
라이선스 재정의는 패키지된 Durable로 호출될 때 다음 API와 관련이 있습니다.
- XStoreAcquireLicenseForDurablesAsync
- XStoreAcquireLicenseForPackageAsync
- XStoreCanAcquireLicenseForPackageAsync
- XStoreCanAcquireLicenseForStoreIdAsync
- XStoreRegisterPackageLicenseLost
참조 API 문서
- XStore (API 내용)
- 함수
- XStoreQueryGameLicenseAsync
- XStoreQueryLicenseTokenAsync
- XStoreQueryAddOnLicensesAsync
- XStoreRegisterGameLicenseChanged
- XStoreAcquireLicenseForDurablesAsync
- XStoreAcquireLicenseForPackageAsync
- XStoreCanAcquireLicenseForPackageAsync
- XStoreCanAcquireLicenseForStoreIdAsync
- XStoreRegisterPackageLicenseLost
- 함수
참고
커머스 개요XStore 개발 및 테스트 활성화
스토어 작업에 맞게 샌드박스 제대로 전환
XStore API 참조
