소개
각 게임은 고유하지만, 많은 게임이 인증 중에 문제를 겪는 몇 가지 주요 영역이 있습니다. 이 페이지에서는 이러한 주요 영역 중 몇 가지를 다루고 인증 중에 이러한 문제를 방지하기 위한 팁과 전략을 제공합니다. 테스트되는 모든 XBOX 요구 사항(XR) 테스트 사례를 보려면 인증 테스트 사례 페이지로 이동하세요.가장 많이 실패하는 테스트 사례
다음 표는 각 테스트 사례에 대한 인증 실패 분포를 XBOX 본체 및 PC 제출별로 구분하여 보여 줍니다.N/A는 해당 테스트 사례가 해당 디바이스 유형에서 가장 많이 실패하는 항목에 포함되지 않음을 나타냅니다.
PC에서 Microsoft Store 정책 10.4.2(앱 충돌 또는 멈춤)에 대해 기록된 실패는 001-01 Title Stability로 보고되고, Microsoft Store 정책 10.1(다른 플랫폼)에 대해 기록된 실패는 022-01 Official Naming Standards로 보고됩니다.
지침 및 모범 사례
001-01 Title stability
타이틀은 테스트 전반에 걸쳐 안정적으로 유지되어야 하며 타이틀 테스트를 방해하는 문제가 없어야 합니다. 지침지원되는 모든 디바이스 유형, 하드웨어 구성 및 본체 세대에서 타이틀을 테스트하세요. 대부분의 안정성 문제는 다음 예에서 발견됩니다.
- 타이틀을 시작할 때 충돌, 중단 및/또는 긴 로딩 화면. 예상 시간은 테스트 사례 실패 예를 검토하세요.
- 게임 초대 보내기 및 받기, 매치메이킹, 참가 시나리오 등 멀티플레이어 활동 중 충돌.
- 일반 게임플레이 중 충돌.
- 일시 중단, 절전, 최대 절전 모드 및 다시 시작 시나리오를 테스트할 때 충돌 또는 중단.
- 사용자 입력이 허용되는 모든 화면에서 사용자 입력을 테스트할 때 충돌 또는 중단.
- 모든 게임 메뉴에 빠르게 들어갔다 나올 때 충돌 또는 중단.
PC에서 이 테스트 사례는 Microsoft Store 정책 10.4.2(앱 충돌 또는 멈춤)에 대해 기록된 실패도 포함합니다. 최신 그래픽 드라이버를 사용하여 다양한 하드웨어 및 비디오 카드 구성으로 테스트하세요. 타이틀은 가장 많이 사용되는 5가지 해상도(1366 x 768, 1440 x 900, 1080P, 1440P 및 4K)에서, 해당하는 경우 창 모드 및 전체 화면 모드로, 다양한 AMD, Intel 및 Nvidia GPU를 사용하여 테스트됩니다.
- 스토어에서 타이틀을 설치하세요. 테스트 팀은 개발자 샌드박스에서 타이틀을 사이드로드할 때는 나타나지 않지만 스토어에서 타이틀을 설치한 후에 나타나는 문제를 확인했습니다.
- 여러 해상도(창 모드 및 전체 화면)를 테스트하세요.
- 모든 화면에서 무작위 입력을 테스트하세요.
- 게임 메뉴에 빠르게 들어갔다 나오세요.
003-02 Title integrity
타이틀은 인증을 위해 제출될 때 기능적으로 완전하고 테스트 가능해야 하며 XBOX 품질 표준을 충족해야 합니다. 제출물에는 모든 클라이언트 코드, 제출 아티팩트 및 다운로드 가능한 콘텐츠가 포함되어야 합니다. 파트너 서비스는 테스트 및 인증을 위해 사용 가능하고 올바르게 구성되어 있어야 합니다. 타이틀은 Microsoft에 제출될 때 현재 버전의 Submission Validator를 사용하여 실패 없이 깔끔하게 패키지되어야 하며, 제출물에 Submission Validator 로그를 포함해야 합니다. 인증 중에 테스트 사례 003-02가 실패하는 가장 일반적인 이유는 인증 팀이 테스트 패스를 실행하거나 모든 게임 모드를 완료하지 못하게 하는 게임 문제입니다. 일반적인 문제- 게임 모드를 완료할 수 없어 타이틀 진행이 불가능합니다.
- 순위표가 채워지지 않습니다.
- 컨트롤러, 키보드 등 다양한 입력 모드가 작동하지 않습니다.
- 플레이어가 타이틀 진행을 방해하는 상태에 빠집니다(예: 무기를 재장전할 수 없음, 캐릭터가 갇히거나 게임 환경 밖으로 떨어짐 등).
- 게임이 기능적으로 완전하고 테스트 가능한지 확인하세요.
- 게임에 주요 버그나 게임 진행을 막는 버그가 없어야 합니다.
045-01 Respect user privileges
타이틀은 모든 사용자의 권한 설정을 준수해야 하며 충돌이 있을 경우 시스템 해결 UI를 표시해야 합니다. 기술 지침 및 모범 사례에 대한 자세한 내용은 XBOX 서비스 사용자 권한의 클라이언트 측 사용 설명서를 참조하세요. 일반적인 문제- 타이틀이 자녀 계정과 성인 계정 모두에 대해 사용자의 권한을 준수하지 않습니다.
- 타이틀이 시스템 해결 UI를 표시하는 데 필요한 API를 사용하지 않습니다.
You can join multiplayer games권한이Block으로 설정되어 있는데도 타이틀이 사용자가 멀티플레이어 게임 세션에 참가하거나 게임 초대를 수락하도록 허용합니다.You can join multiplayer games권한이Block으로 설정되어 있을 때 타이틀이 사용자가 멀티플레이어 게임 세션에 참가하거나 게임 초대를 수락하는 것을 허용하지 않지만, 시스템 해결 UI를 표시하지 않습니다.
- XBOX에서 설정 -> 일반 -> 온라인 안전 및 가족 -> 개인 정보 및 온라인 안전 -> XBOX 개인 정보로 이동합니다.
- PC에서는 https://aka.ms/XboxPrivSettings로 이동하여 권한 및 개인 정보 설정을 관리합니다.
- 자녀 계정과 성인 계정 모두에서 XR-045의 모든 권한을 확인합니다.
- 자녀 계정은 부모 또는 보호자가 관리합니다. 보호자는 설정 > 계정 > 가족 설정 > 가족 구성원 관리에서 자녀 계정의 권한 설정을 사용자 지정할 수 있습니다.
[!Note]XUserCheckPrivilege는 사용자에게 특정 권한이 있는지 확인합니다.XUserResolvePrivilegeWithUiAsync는 사용자 권한에 필요한 시스템 해결 UI를 표시합니다. 이 UI는 사용자에게 권한이 없는 경우 설명하거나 업셀하는 데 필요한 UI를 제공합니다.
064-02 Joining a game session from the same game
이 테스트 사례의 목적은 동일한 게임에서의 멀티플레이어 참가 가능 여부를 확인하는 것입니다. 사용자가 동일한 게임에서 멀티플레이어 게임 환경에 참가하거나 초대를 수락하면 해당 멀티플레이어 환경으로 연결되어야 합니다. 일반적인 문제- 동일한 게임에서 멀티플레이어 환경에 참가하거나 초대를 수락해도 사용자가 해당 환경으로 연결되지 않습니다.
- 동일한 게임에서 암호로 보호된 멀티플레이어 환경에 참가하거나 초대를 수락해도 사용자가 해당 환경으로 연결되지 않습니다.
055-01 Achievements
가장 일반적인 실패는 조건이 충족되었는데도 타이틀이 도전 과제를 잠금 해제하지 못하는 경우입니다. 인증에 제출하기 전에 조건이 충족되면 모든 도전 과제가 잠금 해제되는지 확인하세요.064-03 In-game invitations
이 테스트 사례는 게임 내 초대 메커니즘을 제공하는 타이틀에만 적용됩니다. 게임 내 초대는 필수가 아닌 권장 사항입니다. 타이틀이 게임 내 초대를 제공하는 경우, 해당 메커니즘은 XBOX 플랫폼을 통해 초대를 전달하여 받는 사람이 XBOX 셸 알림을 통해 초대를 받고 세션에 참가할 수 있도록 해야 합니다. 여기에는 크로스 네트워크 플레이어가 있는 참가 가능한 세션과 암호로 보호된 참가 가능한 세션이 포함됩니다. GDK를 사용하여 참가 가능 여부를 알리고 활동을 기록하는 방법에 대한 자세한 내용은 MPA(Multiplayer Activity) 개요를 참조하세요. 일반적인 문제- 게임 내 초대를 제공하는 타이틀이 XBOX 플랫폼을 통해 초대를 전달하지 않아 받는 사람이 XBOX 셸을 통해 초대를 받지 못합니다.
- 타이틀이 암호로 보호된 참가 가능한 멀티플레이어 환경을 지원하지만, 플레이어가 게임 내에서 해당 환경에 대한 게임 초대를 보낼 수 없습니다.
타이틀이 게임 내 초대 메커니즘을 제공하는 경우, 암호로 보호된 환경을 포함하여 참가 가능한 모든 멀티플레이어 환경이 XBOX 플랫폼을 통해 초대를 전달하여 받는 사람이 XBOX 셸을 통해 초대를 받는지 확인하세요.
015-01 User communication
타이틀은 개인 정보 및 온라인 안전 관련 작업에 대한 사용자의 권한을 XBOX 서비스에서 확인해야 하며, 사용자의 개인 정보 및 온라인 안전 설정에서 허용하지 않는 경우 사용자 데이터를 전송하거나 XBOX를 통한 커뮤니케이션을 허용해서는 안 됩니다.- 본체에서 설정 -> 일반 -> 온라인 안전 및 가족 -> 개인 정보 및 온라인 안전 -> XBOX 개인 정보로 이동합니다.
- PC에서는 XBOX 개인 정보 설정에서 개인 정보 설정을 관리할 수 있습니다.
- 사용자가 다른 사용자를 차단해도 타이틀이 차단된 사용자의 모든 커뮤니케이션을 차단하지 않습니다.
- ‘Others can communicate with voice, text or invites’가 차단으로 설정되어 있는데도 사용자가 XBOX를 통해 음성 및 텍스트로 커뮤니케이션할 수 있습니다.
- ‘Others can communicate with voice, text or invites’가 차단으로 설정되어 있는데도 사용자가 XBOX 외부에서 음성 및 텍스트로 커뮤니케이션할 수 있습니다.
- ‘Others can communicate with voice, text or invites’가 차단으로 설정되어 있는데도 타이틀이 사용자가 멀티플레이어 게임 초대를 받도록 허용합니다.
052-06 Cloud storage: roaming
사용자가 XBOX 서비스에 로그인한 경우 게임 저장 진행 상황은 같은 종류의 디바이스 간에 로밍되어야 합니다. 디바이스 또는 본체 세대 간에 동일한 TitleID를 사용하는 게임의 경우 저장 데이터가 해당 디바이스 간에 로밍되어야 합니다. 지원되는 경우 게임 저장 데이터는 PC와 본체 간에 성공적으로 로밍되어야 합니다. 일반적인 문제- 동일한 유형 또는 세대의 두 번째 디바이스(예: XBOX Series S와 XBOX Series X, XBOX One과 XBOX One S, 또는 서로 다른 두 PC)에서 게임 저장 파일을 성공적으로 다운로드할 수 없습니다.
- 본체 세대 간에 동일한 TitleID를 공유하는 게임(예: XBOX One 및 XBOX Series X|S)의 경우 이러한 디바이스 간에 게임 저장 파일을 로밍할 수 없습니다.
- 처음 시작할 때 타이틀이 클라우드의 저장 파일을 인식하지 못하고, 사용자 조작 없이 이후 두 번째 디바이스에서 저장 파일을 덮어씁니다.
- 지원되는 경우에도 게임 저장 데이터가 PC와 본체 간에 성공적으로 로밍되지 않습니다.
052-05 Correct user association
타이틀은 진행 상황, 저장된 상태, 기본 설정, 도전 과제 및 기타 보상을 해당 진행 상황을 기록했거나, 기본 설정을 선택했거나, 보상을 획득한 사용자와 연결해야 합니다. 타이틀은 더 이상 로그인되어 있지 않은 사용자의 상태를 저장하지 않아야 합니다. 이 요구 사항의 핵심 측면은 타이틀이 활성 상태이거나 일시 중단되었거나 종료된 동안 타이틀의 기본 사용자가 변경되는 상황을 처리하는 것과 관련이 있습니다.- GDK를 사용하여 게임 상태를 저장하는 방법에 대한 자세한 내용은 게임 저장 개요를 참조하세요.
- GDK를 사용하여 게임 상태를 관리하고 데이터를 저장하는 방법에 대한 자세한 내용은 XBOX 게임 수명 주기를 참조하세요.
- 타이틀이 저장 데이터를 XBOX 프로필과 올바르게 연결하지 않습니다.
- 사용자 변경 후 타이틀이 사용자 진행 상황, 저장된 상태, 기본 설정, 도전 과제 또는 기타 보상을 사용자와 잘못 연결합니다.
- 사용자 변경 후 새 사용자의 저장 진행 상황이 저장되지 않습니다.
- 이전 사용자가 로그아웃한 후 새 사용자가 이전 사용자의 저장 데이터, 상태 또는 프로필을 변경할 수 있습니다.
022-01 Official naming standards
가장 일반적인 실패는 타이틀이 텍스트 또는 이미지에서 경쟁 플랫폼을 언급하는 경우입니다. 모든 텍스트와 이미지가 용어 목록을 준수하고 경쟁 플랫폼(예: 경쟁사 컨트롤러 이미지 또는 버튼 표시)을 언급하지 않는지 확인하세요.001-02 Title stability after suspend, sleep and hibernate
타이틀은 일시 중단, 절전, 최대 절전 모드 및 다시 시작 시 안정적으로 유지되어야 합니다. 일반적인 문제- 타이틀이 일시 중단, 절전, 최대 절전 모드로 전환되거나 다시 시작될 때 충돌 또는 중단.
- 타이틀이 일시 중단된 동안 사용자를 변경할 때 충돌 또는 중단.
- 메뉴를 탐색하는 동안 타이틀을 일시 중단할 때 충돌 또는 중단.
- 온라인 매치를 플레이하는 동안 타이틀을 일시 중단할 때 충돌 또는 중단.
모든 메뉴, 게임 모드 및 게임플레이 시나리오(온라인 및 오프라인)에서 타이틀을 일시 중단, 절전, 최대 절전 모드로 전환하고 다시 시작하세요. 타이틀이 일시 중단된 동안 사용자 변경을 수행하세요.
064-01 Joining a game session from outside the game
이 테스트 사례는 게임 외부에서의 참가 가능 여부를 확인합니다. 사용자가 게임 외부에서 멀티플레이어 환경에 참가하거나 초대를 수락하면 해당 멀티플레이어 환경으로 연결되어야 합니다. 타이틀이 종료된 상태와 일시 중단된 상태에서 멀티플레이어 환경 참가를 반드시 확인하세요. 일반적인 문제- 게임 외부에서 멀티플레이어 환경에 참가하거나 초대를 수락해도 사용자가 해당 환경으로 연결되지 않습니다.
- 게임 외부에서 암호로 보호된 멀티플레이어 환경에 참가하거나 초대를 수락해도 사용자가 해당 환경으로 연결되지 않습니다.
- 타이틀이 종료되었거나 일시 중단된 동안 멀티플레이어 환경에 참가해도 사용자가 멀티플레이어 환경으로 연결되지 않습니다.
018-01 Reporting inappropriate content and UGC text-string verification
UGC(사용자 생성 콘텐츠)는 사용자가 앱 또는 제품에 제공하고 온라인 상태에서 다른 사용자가 보거나 액세스할 수 있는 콘텐츠입니다. 제품에 UGC가 포함된 경우 다음을 수행해야 합니다.- 게임 내 또는 타이틀 웹 사이트에 사용자 생성 콘텐츠에 대한 제품 서비스 약관 및/또는 콘텐츠 지침을 게시하고 사용자가 이용할 수 있도록 합니다.
- 사용자가 제품 내의 부적절하거나 유해한 콘텐츠를 개발자에게 신고하여 검토를 받고 콘텐츠 지침을 위반하는 경우 제거/비활성화할 수 있는 수단을 제공하거나, 부적절하거나 유해한 UGC를 사전에 감지하는 방법(예: 텍스트 필터링)을 구현합니다.
- 타이틀은 Microsoft가 요청하는 경우 UGC를 제거/비활성화해야 합니다.
- 사용자가 게임 내 UGC에 액세스할 수 없는 시나리오를 적절하게 처리합니다.
- 타사 모드 플랫폼과 통합된 타이틀은 사용 가능한 경우 해당 제품의 신고/불만 API와 통합해야 하며, 각 타사 계약에서 요구하는 경우 콘텐츠를 조정해야 합니다.
- 타사 모드 플랫폼과 통합된 타이틀은 콘텐츠의 출처가 개발자가 아닌 경우 사용자에게 고지 사항, 대화 상자 또는 시각적 신호를 표시해야 합니다.
StringService API를 사용하는 타이틀은 (텍스트 시나리오에 대한) 사전 감지 요구 사항을 자동으로 충족합니다. 타이틀은 이름 및 기타 짧은 정적 텍스트 문자열에 대해 기본적으로 StringService API를 사용해야 합니다. 타이틀에 더 긴 텍스트 입력을 허용하는 다른 텍스트 시나리오가 있거나 기술적 또는 기타 제한 상황이 있는 경우, 타이틀은 XBOX 서비스에서 일련의 용어가 다른 플레이어에게 표시되지 않도록 제한하여 자체적인 텍스트 필터링 방식을 구현할 수 있습니다. XBOX 서비스에서 로컬이 아닌 플레이어에게 차단하거나 난독화하기 위한 최소 기준으로 사용해야 하는 핵심 단어 목록을 참조하세요.
일반적인 문제
- 타이틀이 유해하거나 부적절한 텍스트를 사전에 감지하지 않습니다.
067-01 Recently Played With interactions
온라인 멀티플레이어 기능이 있는 타이틀은 플랫폼이 Recently Played With(최근 함께 플레이한 사람) 목록을 표시할 수 있도록 MPA(Multiplayer Activity) Recent Players 기능을 사용하여 XBOX network에서 의미 있는 플레이어 상호 작용을 기록해야 합니다. 레거시 MPSD(Multiplayer Session Directory)를 계속 사용하는 타이틀의 경우 대신 MPSD에서 세션 상태 정보를 유지할 수 있습니다. 둘 다 유지하면 중복 기록이 생성될 수 있으므로 둘 다 사용하지 마세요. 일반적인 문제- 일부 프로필이 디바이스의 Recently Played With 목록에 포함되지 않습니다.
- 멀티플레이어 게임플레이 중에 나간 사용자가 Recently Played With 목록에 나타나지 않습니다.
