다음을 통해 공유


콘텐츠 업데이트 만들기, 검사 및 테스트

개요

이 문서에서는 콘텐츠 업데이트가 전달되는 방법, 업데이트를 생성 및 측정하는 데 사용되는 도구, 예상된 최적의 동작을 보장하기 위해 주요 업데이트 시나리오를 테스트하는 방법에 대한 세부 정보를 다룹니다.

콘텐츠 업데이트 작동 방식

게임 서비스는 게임 패키지에 대한 업데이트를 제공할 때 전송해야 하는 바이트 수를 항상 최소화하며, 게임 디바이스의 고객 및 패키지가 업로드될 때 개발자에게 제공됩니다. 이 차이("델타")는 높은 수준에서 두 패키지 간의 4KiB 세그먼트 일치를 최대화하려고 시도하는 알고리즘을 사용하여 계산됩니다.

이 델타는 네트워크에서 다운로드해야 하는 바이트와 가능한 기존 패키지 버전에 적용하는 방법을 정확히 알기 위해 시스템에서 사용하는 .xsp(스트리밍 계획 업데이트) 파일의 일부로 인코딩됩니다.

따라서 개발 시 정확한 델타 업데이트 동작을 시뮬레이션하고 테스트하려면 적절한 makepkg 옵션을 사용하여 패키지를 만들고 적절한 명령을 사용하여 패키지를 설치하고 업데이트해야 합니다.

이전 패키지 버전에 따라 업데이트 만들기

makepkg pack은 패키지를 만드는 데 사용됩니다. 이전 패키지를 활용하는 패키지를 만들려면 매개 변수를 /priorpackage 사용합니다.

makepkg pack /f chunks_layout.xml /d [build directory] /pd .\output /priorpackage [previous version].xvc

이전 패키지는 microsoftgame.config 정의된 대로 생성되는 패키지와 동일한 패키지 ID를 공유해야 합니다.

이 명령의 결과는 이름이 [new package name]_update-[old version number].[guid].xsp인 .xsp 파일(예: 41336MicrosoftATG.ATGGameHubRequiredGame_200.0.0.0_neutral__dspnxghe87tn0_xs_update-100.0.0.0.5890f4a0-b449-4c5d-80ff-b78b19ed3439.xps)입니다.

이전 패키지에서 새 패키지로 업데이트할 때 변경해야 하는 사항을 인코딩하는 스트리밍 계획 입니다. 이 방법을 사용하는 방법은 아래 업데이트 테스트 섹션에서 설명합니다.

업데이트 크기 검사

위의 명령을 실행하면 .html 파일 및 .json 파일과 같은 파일 이름으로 일부 추가 파일이 생성됩니다.

둘 다 다음을 포함합니다.

  1. 업데이트의 일부로 다운로드할 바이트 요약
  2. 특정 태그, 언어 또는 디바이스 유형이 지정된 경우 설치될 데이터의 양을 요약하는 테이블입니다.
  3. 업데이트할 바이트의 양과 이 값이 나타내는 전체 파일 크기의 백분율을 보여 주는 정렬 가능한 파일 테이블입니다.
  4. 100% 업데이트되지 않은 각 파일에 대해 업데이트되는 각 파일의 데이터 범위를 표시하는 개별 테이블에 연결됩니다.

이 정보를 사용하면 업데이트에서 가장 많이 변경된 파일을 식별하고 개별 파일을 확인하여 변경의 비율과 위치가 예상대로 표시되는지 확인할 수 있습니다. 평소보다 더 큰 업데이트가 발생하는 것처럼 보이는 파일이 표시되면 효율적으로 업데이트 작성권한 부여 필요 섹션에 있는 지침을 검토합니다.

packageutil compare 두 .xvc 파일에서도 동일한 파일을 생성하고 패키지 차이점에 대한 요약 출력을 제공합니다. 이 명령은 .xsp 파일도 생성합니다.

델타 업로드

파트너 센터에 업로드하면 델타 계산 알고리즘이 자동으로 활용됩니다. 마지막으로 업로드한 패키지(해당 분기의 경우)와 업로드 패키지 사이의 델타는 처음에 계산되므로 변경된 데이터만 업로드 컴퓨터에서 수집 서비스로 전송됩니다.

업데이트 테스트

시스템 UI에 표시된 대로 업데이트 크기의 유효성을 검사하려면 다음 단계를 수행합니다.

  1. xbapp install [이전 version.xvc]
  2. xbapp update [new version.xvc] (/plan=[.xsp 파일])

업데이트할 때 시스템 UI의 큐로 이동하여 업데이트되는 친숙한 바이트 수를 확인합니다.

.xsp가 이전에 다른 명령에 의해 생성되었고 .xvc 파일과 동일한 위치에 있는 경우 /plan 매개 변수는 선택 사항입니다.

PC wdapp 에서 명령은 대신 사용되며 패키지 파일에는 .msixvc 파일 확장명이 있으며, Xbox 앱과 Microsoft Store 앱의 다운로드 큐 섹션에서 설치 및 업데이트 진행률을 확인할 수 있습니다. wdapp update 는 /plan 매개 변수를 지원하지 않으며, 만든 경우 대상 버전에 대해 생성된 .xsp 파일을 사용합니다.

광고 업데이트

광고 업데이트는 특정 시스템 동작을 초래하는 게임에서 업데이트를 사용할 수 있도록 한다는 측면에서 약간 다릅니다.

사용 가능한 업데이트를 보급하려면 또는 플래그를 /m 적용하여 업데이트합니다xbapp/wdapp./a 이로 인해 게임이 시작될 때까지 업데이트가 적용되지 않습니다. 조건:

  • 콘솔: 업데이트가 필요하다는 시스템 대화 상자가 표시됩니다.
  • PC: 개발 빌드의 경우 시스템 프롬프트가 표시되지 않으며 빌드가 /bootstrapper와 함께 wdapp install 설치되지 않는 한 빌드를 자유롭게 시작할 수 있습니다. 이 경우 게임을 시작하면 PC 부트스트래퍼가 호출되며, 이 부트스트래퍼는 업데이트를 찾아서 프롬프트합니다.

업데이트를 보급하면 특정 XStore API가 반응하여 게임에서 사용 가능한 업데이트도 검색할 수 있습니다. 이는 DLC 패키지와 가장 관련이 있습니다. 자세한 내용은 업데이트 확인을 참조하세요.

패키지 업데이트 저장

위의 예제에는 로컬 패키지 설치 및 업데이트가 포함됩니다. Parter Center에 업로드되고 Store CDN에서 다운로드한 패키지로 업데이트를 테스트하는 것이 좋을 수 있습니다. 이렇게 하면 스토어에서 업데이트할 때의 성능과 수집 프로세스의 일부로 생성된 스트리밍 계획을 활용하는 두 가지 유효성이 검사됩니다.

아쉽게도 서명 차이로 인해 로컬 패키지에서 Store 패키지로 업데이트할 수 없습니다. 추가 도움 없이 가능한 것은 하나의 버전(파트너 센터에)을 업로드하고 스토어 앱에서 하나 이상의 개발 키트에 이 버전을 설치하는 것입니다. 새 버전을 업로드한 다음, 이전 버전이 설치된 devkits에 게시한 후 최신 버전이 검색되어 예상 델타 크기로 업데이트할 수 있는지 확인합니다.

이 테스트를 반복하려면 업데이트하기 전에 이전 버전 설치를 외부 드라이브에 복사하여 나중에 새 버전으로 다시 복사할 수 있습니다. 저장되지 않은 경우 이전 버전을 저장할 수 있는 CDN URL을 요청할 수 xbapp/wdapp install있습니다. Microsoft 담당자에게 문의하여 도움을 받으세요. 이전 버전이 설치되면 업데이트 테스트를 반복할 수 있습니다.

하이브리드 디스크+CDN 업데이트

업데이트 광학 디스크 설치와도 관련이 있습니다. 디스크 설치가 발생하면 사용 가능한 최신 디지털 패키지를 기준으로 변경되지 않은 모든 디스크 콘텐츠가 디스크에서 설치됩니다. 나머지는 Store CDN에서 동시에 설치됩니다. 이 작업은 자동으로 발생합니다.

이를 시뮬레이션하려면 다음 명령을 사용합니다.

xbapp update http://server/[latest version].xvc /p:[disc package].xvc`

HTTP 서버를 통해 업데이트 패키지를 제공하는 것은 설치 시 개발 PC의 로컬 스토리지에서 하나의 원본만 가질 수 있다는 사실에 대한 해결 방법입니다.

디스크 패키지가 .xvc 패키지로 테스트 디스크를 구울 경우 디스크 패키지가 광학 디스크 경로를 가리킬 수 있습니다.

참고 항목

콘텐츠 업데이트 모범 사례권한 부여 필요

업데이트 확인