> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 라이선싱 테스트 활성화

> 관련 시나리오와 Partner Center에서 필요한 구성 단계를 포함하여, XStore 라이선싱 API를 테스트하기 위해 라이선스 부여 가능한 XBOX 개발 빌드를 설정합니다.

이 문서에서는 라이선싱 관련 시나리오를 테스트하기 위해 개발 빌드를 라이선스 부여 가능하게 설정하는 방법을 설명합니다.

## 관련 시나리오 및 API

다음 API를 테스트하려면 이 문서에서 설명하는 대로 개발 환경을 설정해야 합니다.

| API                                                                         | 사용                                                                                                |
| --------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
| [XStoreQueryGameLicenseAsync](/reference/system/xstore/xstore_members)      | 게임의 트라이얼 또는 디스크 기반 라이선스의 특성 쿼리.                                                                   |
| [XStoreQueryLicenseTokenAsync](/reference/system/xstore/xstore_members)     | 서비스 기반 검증을 위한 유효한 라이선스 토큰 생성, [라이선스 토큰 사용](/publishing/xstore-commerce/xstore-license-tokens) 참고. |
| [XStoreQueryAddOnLicensesAsync](/reference/system/xstore/xstore_members)    | 디지털 게임 라이선스에 첨부된 추가 기능 라이선스(패키지가 없는 Durables) 반환.                                                 |
| [XStoreRegisterGameLicenseChanged](/reference/system/xstore/xstore_members) | 라이선스 변경 감지를 위해 등록(예: 트라이얼 라이선스가 정식 라이선스로 업그레이드될 때).                                               |

## 컨텍스트

리테일 시나리오에서 게임을 플레이하려면 라이선스가 있어야 합니다. 라이선스 요청은 설치된 디스크를 확인하거나 Microsoft 서비스로 요청을 보냅니다. 계정이 직접 또는 충족 구매(예: 구독 또는 번들)를 통해 제품에 대한 사용 권한을 갖는 경우 라이선스가 부여됩니다. 공유 시나리오에서도 라이선스가 부여될 수 있습니다. 공유에 대한 자세한 내용은 [게임의 제품 공유 모델](/publishing/xstore-commerce/xstore-product-sharing)을 참고하세요.

개발 시나리오는 기본적으로 이 동작을 따르지 않습니다. 이러한 시나리오에는 다음이 포함됩니다.

* Loose 빌드(Visual Studio F5 배포, xbapp/wdapp register/deploy)
* 로컬 패키지 빌드(makepkg, xbapp/wdapp install)

이러한 빌드는 라이선싱 검사나 관련 구성 없이 실행됩니다. 대부분의 `XStore` API는 여전히 작동하지만 게임 또는 Durables 라이선싱 시 예기치 않은 결과가 발생할 수 있습니다.

빌드가 라이선스 부여 가능한 것처럼 동작하도록 구성하려면 MicrosoftGameConfig에 올바른 identity 값을 적용하세요([XStore 개발 및 테스트 활성화](/publishing/xstore-commerce/xstore-product-testing-setup) 참고).

그런 다음 다음 단계를 수행해야 합니다.

1. [게임 또는 DLC에 특정한 content ID 확인](#get-contentid)
2. [빌드 유형에 맞게 빌드에 content ID 적용](#apply-content-id-to-build)
3. [**콘솔 전용**: 빌드에 EKBID 확인 및 적용](#apply-ekbid-to-build-only-applicable-to-console)

그런 다음 빌드를 실행하는 각 계정에 대해 플랫폼의 해당 Store에서 제품을 구매하여 사용 권한을 획득해야 합니다.

## ContentID 가져오기

**Show details**를 선택한 후 **Packages** 페이지에서 ContentID를 찾을 수 있습니다.

<img src="https://mintcdn.com/microsoft-4404708b/iADzli99B7EWodAv/images/xstore/packagedetails.png?fit=max&auto=format&n=iADzli99B7EWodAv&q=85&s=a3facb4ae0079bb08cc33e22f6688d65" alt="Partner Center의 Packages 페이지" width="1029" height="520" data-path="images/xstore/packagedetails.png" />

<Note>
  샌드박스와 리테일 버전의 content ID는 다를 수 있습니다. 게임의 리테일 버전을 설치하면 제품이 샌드박스에 필요한 것과 다른 content ID와 연결됩니다. 지역 패키지가 포함된 경우에도 content ID가 달라집니다.
</Note>

### 콘솔

Gaming Command Prompt에서 `xbapp list /d`(또는 DLC의 경우 `xbapp listdlc /d`)를 실행하여 설치된 패키지의 content ID를 찾습니다.

```cmd theme={null}
Registered Applications by Package Full Name:

   41336MicrosoftATG.InGameStoreXS_2020.7.27.0_neutral__dspnxghe87tn0  
        Install  
        Drive: Development  
        Size: 0.28 GB.  
        ContentId: {2797FA46-A93B-494C-AD80-B67C9FCA939F}  
        ProductId: {4C544E39-5130-3044-C057-5A3446536A00}  
        EKBID: {37E80840-6BE0-46F8-8EDB-92F877056087}  
        DisplayName: ATG In-Game Store Sample  
        41336MicrosoftATG.InGameStoreXS_dspnxghe87tn0!Game  
```

### PC

Gaming Command Prompt에서 `wdapp list /d`(또는 DLC의 경우 `wdapp listdlc /d`)를 실행하여 설치된 패키지의 content ID를 찾습니다. 스토어에서 설치한 패키지의 경우 `/includeStore` 플래그를 사용합니다.

## 빌드에 content ID 적용

Loose 빌드의 경우 MicrosoftGameConfig에 다음 섹션을 추가합니다.

```xml theme={null}
  <DevelopmentOnly>
    <ContentIdOverride>2797FA46-A93B-494C-AD80-B67C9FCA939F</ContentIdOverride>
    <EKBIDOverride>00000000-0000-0000-0000-000000000001</EKBIDOverride>
  </DevelopmentOnly>
```

패키지 빌드의 경우 `makepkg`에 content ID를 전달합니다. 예:

```cmd theme={null}
makepkg pack /v /f chunks.xml /d Gaming.Xbox.XboxOne.x64\Layout\Image\Loose /pd ./output /contentid 2797FA46-A93B-494C-AD80-B67C9FCA939F
```

`/contentid` 매개 변수 없이 패키지를 만들면 로컬 소스에서 설치할 때 설치 프로세스가 MicrosoftGameConfig에서 사용할 수 있는 `ContentIdOverride`를 적용합니다.

스토어(샌드박스 또는 리테일)에서 설치된 빌드는 항상 적절한 content ID를 가집니다(Partner Center에서 볼 수 있음).

## 빌드에 EKBID 적용(콘솔에만 해당)

콘솔에서 빌드를 라이선스 부여 가능하게 만들려면 EKBID(Escrow Key Blob ID)를 설정하세요. 대부분의 시나리오에서는 모두 0이거나 33EC8436-5A0E-4F0D-B1CE-3F29C3955039인 기본 테스트 값에서 재정의하기만 하면 됩니다.

다음 명령으로 EKBID를 재정의합니다.

```cmd theme={null}
xbapp setekbid <package full name> {<GUID that is not all zeroes or 33EC8436-5A0E-4F0D-B1CE-3F29C3955039>}
```

예:

```cmd theme={null}
xbapp setekbid 41336MicrosoftATG.InGameStoreXS_2020.7.27.0_neutral__dspnxghe87tn0 {00000000-0000-0000-0000-000000000001}
```

이 설정은 PC에서는 관련이 없습니다(`wdapp setekbid` 명령이 없음).

### 트라이얼 및 EKBID

**트라이얼**의 경우 실제 EKBID를 적용해야 합니다. 게임에서 사용하는 EKBID를 찾으려면 스토어에서 설치한 빌드에 대해 `xbapp list /d`를 실행합니다. 자세한 내용은 [게임에 트라이얼 구현](/publishing/xstore-commerce/xstore-trials)을 참고하세요.

## 테스트 계정이 샌드박스의 제품에 대한 사용 권한을 갖도록 보장

샌드박스와 리테일 모두에 게시된 제품의 경우 DevEntitlementTool을 사용해 테스트 계정의 사용 권한을 쿼리하고 획득할 수 있습니다.

사용 권한을 획득하는 가장 좋은 방법은 프로토콜 활성화를 통해 제품의 스토어 페이지로 직접 이동하는 것입니다. 샌드박스에만 게시된 제품은 검색 가능하지 않을 수 있기 때문입니다. 개발 콘솔이나 PC는 게임이 게시된 샌드박스로 설정되어야 합니다. 자세한 내용은 XBOX services Sandboxes overview 문서를 참고하고, PC의 경우 [스토어 작업에 맞게 샌드박스 제대로 전환](/publishing/xstore-commerce/xstore-switching-sandbox)을 참고하세요.

제대로 로그인하면 스토어 프로토콜 링크를 사용해 스토어 페이지에 도달합니다.

**콘솔에서:**

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의 다운로드 및 설치가 자동으로 시작되어야 합니다. 로컬 빌드로 반복 개발을 계획한다면 작업을 취소할 수 있습니다.

<Note>
  라이선스 관련 XStore API가 작동할 것으로 예상되는 빌드를 실행하는 모든 계정에 대해 사용 권한을 획득해야 합니다.
</Note>

## DLC

로컬 DLC를 라이선스 부여 가능하게 만들려면 content ID를 `makepkg`에 적용하고 `xbapp setekbid`를 기본값 이외의 값으로 설정해야 합니다. 기본 게임이 아닌 DLC만 라이선싱을 위해 구성하면 됩니다.

라이선스 재정의는 패키지된 Durable로 호출될 때 다음 API와 관련이 있습니다.

* [XStoreAcquireLicenseForDurablesAsync](/reference/system/xstore/xstore_members)
* [XStoreAcquireLicenseForPackageAsync](/reference/system/xstore/xstore_members)
* [XStoreCanAcquireLicenseForPackageAsync](/reference/system/xstore/xstore_members)
* [XStoreCanAcquireLicenseForStoreIdAsync](/reference/system/xstore/xstore_members)
* [XStoreRegisterPackageLicenseLost](/reference/system/xstore/xstore_members)

자세한 내용은 다음에서 찾을 수 있습니다.

[다운로드 가능한 콘텐츠(DLC) 관리 및 라이선스](/publishing/xstore-commerce/xstore-dlc)

[패키지 없는 durable 사용 방법](/publishing/xstore-commerce/xstore-dwob)

## 참조 API 문서

* [XStore (API 내용)](/reference/system/xstore/xstore_members)
  * 함수
    * [XStoreQueryGameLicenseAsync](/reference/system/xstore/xstore_members)
    * [XStoreQueryLicenseTokenAsync](/reference/system/xstore/xstore_members)
    * [XStoreQueryAddOnLicensesAsync](/reference/system/xstore/xstore_members)
    * [XStoreRegisterGameLicenseChanged](/reference/system/xstore/xstore_members)
    * [XStoreAcquireLicenseForDurablesAsync](/reference/system/xstore/xstore_members)
    * [XStoreAcquireLicenseForPackageAsync](/reference/system/xstore/xstore_members)
    * [XStoreCanAcquireLicenseForPackageAsync](/reference/system/xstore/xstore_members)
    * [XStoreCanAcquireLicenseForStoreIdAsync](/reference/system/xstore/xstore_members)
    * [XStoreRegisterPackageLicenseLost](/reference/system/xstore/xstore_members)

## 참고

[커머스 개요](/publishing/xstore-commerce/xstore-commerce-overview)<br />[XStore 개발 및 테스트 활성화](/publishing/xstore-commerce/xstore-product-testing-setup)<br />[스토어 작업에 맞게 샌드박스 제대로 전환](/publishing/xstore-commerce/xstore-switching-sandbox)<br />[XStore API 참조](/reference/system/xstore/xstore_members)


## Related topics

- [XStore 개발 및 테스트 활성화](/ko/publishing/xstore-commerce/xstore-product-testing-setup.md)
- [다운로드 가능한 콘텐츠(DLC) 관리 및 라이선스](/ko/publishing/xstore-commerce/xstore-dlc.md)
- [라이선스가 있는 테스트 벤더](/ko/publishing/game-publishing/resources/third-party-authorized-test-vendors.md)
- [XStore 개발 문제 해결](/ko/publishing/xstore-commerce/xstore-troubleshooting.md)
- [플레이어에게 추가 기능 콘텐츠 액세스 부여](/ko/publishing/xstore-commerce/xstore-granting-access.md)
