Skip to main content

XR-112: 최초 활성화 및 재개 중 사용자 및 컨트롤러 설정 *

버전 2.0, 2025/11/1 타이틀은 하나 이상의 활성 사용자를 설정하여 타이틀의 기본 사용자 역할을 하도록 해야 하며, 일시 중단 및 제한 모드에서 재개할 때 사용자를 처리해야 합니다. GDK에서 타이틀은 단순화된 사용자 모델(Simplified User Model) 또는 고급 사용자 모델(Advanced User Model) 중 하나를 사용해 이를 처리합니다. GDK 단순화된 사용자 모델 타이틀 GDK의 단순화된 사용자 모델은 타이틀을 대신하여 기본 사용자 획득을 처리합니다. 그러나 타이틀은 여전히 컨트롤러가 해당 사용자에게 할당되어 있는지 확인하고, 그 컨트롤러를 게임 입력에 사용해야 할 책임이 있습니다. 기본 사용자에게 할당된 컨트롤러가 없는 경우, 타이틀은 XUserFindControllerForUserWithUiAsync를 사용하여 시스템 대화 상자를 통해 컨트롤러를 선택하고 플레이어의 입력을 받기 시작해야 합니다. GDK 고급 사용자 모델, ERA 및 UWP 다중 사용자 애플리케이션 최초 활성화 시 게임은 게임 디자인과 선호에 따라 타이틀을 실행한 사용자를 사용하거나, 명시적으로 사용자에게 프롬프트를 표시하여 최초 사용자를 결정할 수 있습니다. 타이틀은 해당 사용자 프로필에 대해 첫 프로필 관련 작업(예: 진행 상황 또는 설정 저장)이 수행되기 전에 활성 사용자를 지정해야 합니다. 고급 사용자 모델을 사용하는 모든 XBOX Game Development Kit(GDK) 타이틀, ERA 및 UWP 다중 사용자 애플리케이션(MUA) 타이틀은 활성 사용자를 변경할 수 있도록 계정 선택 도구(account picker)에 접근할 수 있는 진입점을 제공해야 합니다. 타이틀이 일시 중단 또는 제한 모드에서 재개될 때, 타이틀은 사용자/컨트롤러 페어링을 검증하고 이에 따라 이전 사용자의 세션을 재개하거나 새 사용자를 획득해야 합니다.

추가 정보

최초 활성화 중 사용자 설정

GDK 단순화된 사용자 모델 최초 사용자는 XUserAddAsync(silent)를 호출하여 타이틀에 제공되며, 항상 실행 사용자에 대한 단일 결과를 반환합니다. GDK 고급 사용자 모델, ERA 및 UWP 다중 사용자 애플리케이션 게임이 타이틀을 실행한 사용자를 사용하는 경우:
  • GDK에서 활성 사용자는 XUserAddAsync(silent)를 호출하여 결정할 수 있습니다. 시스템에서 기본값이 없다고 반환하는 경우, 타이틀은 silent 옵션 없이 XUserAddAsync를 사용하여 사용자에게 프롬프트를 표시해야 합니다. 이렇게 하면 사용자에게 계정 선택 도구가 표시됩니다.
  • ERA 및 UWP의 경우, 활성 사용자는 앱 활성화 컨텍스트의 권장 사용자(CoreApplicationContext.CurrentUser)에서 찾을 수 있습니다. 앱 활성화 컨텍스트에서 권장 사용자를 제공하지 않았고 타이틀이 프로필 관련 작업을 수행하는 경우, 타이틀은 계정 선택 도구를 실행하고 사용자의 프로필 선택에 따라 활성 사용자를 설정해야 합니다.
사용자에게 프롬프트를 표시하는 경우:
  • 타이틀은 참여 프롬프트를 표시하고 계정 선택 도구를 표시해야 합니다. 사용자는 선택에 따라 결정됩니다.
  • GDK의 경우 계정 선택 도구는 XUserAddAsync를 사용하여 호출됩니다.
  • ERA 및 UWP의 경우 계정 선택 도구는 ShowAccountPickerAsync를 사용하여 호출됩니다.
사용자가 로그인을 취소하려는 경우, 타이틀은 계속 진행하면 진행 상황이 저장되지 않는다는 사실을 사용자에게 알려야 합니다. 사용자가 선택되거나 실행 시점에 식별된 후, 타이틀은 프로필 관련 작업을 수행하기 전에 게이머태그를 표시합니다. 타이틀이 활성 사용자를 어떻게 또는 어디에 표시해야 하는지에 대한 요구 사항은 없습니다. 모범 사례에는 앱의 메인 화면 또는 게임의 타이틀 메뉴에 사용자의 게이머픽과 표시 이름을 표시하는 것이 포함됩니다.

최초 활성화 중 컨트롤러 설정

게임은 서명된 사용자로 게임이 실행될 때 계정 선택 도구 또는 플랫폼에서 설정한 컨트롤러 및 사용자 바인딩을 따라야 합니다. XBOX 플랫폼은 게임 플레이 중이든 아니든 계정 선택 도구에서 플레이어가 선택될 때마다 컨트롤러를 플레이어에게 바인딩합니다. 타이틀이 타이틀을 실행한 사용자를 사용하는 경우, 타이틀은 해당 사용자에게 할당된 게임패드를 사용하여 게임 플레이 및 상호 작용을 진행해야 합니다.

일시 중단 또는 제한 모드에서 재개

GDK 단순화된 사용자 모델 XBOX 플랫폼은 게임을 최초로 실행한 사용자가 여전히 활성 상태로 로그인되어 있음을 보장합니다. 타이틀은 UDA를 통해 변경 알림을 등록할 수 있으며, 변경 사항이 있는 경우 새롭게 바인딩된 컨트롤러를 사용하여 게임 플레이를 진행합니다. 게임 플레이의 추가 사용자는 일시 중단 또는 제한 상태에서 재개될 때 고급 사용자 모델의 다음 지침에 따라 적절히 처리되어야 합니다. GDK 고급 사용자 모델, ERA 및 UWP 다중 사용자 애플리케이션 타이틀이 일시 중단에서 재개되거나 제한 모드를 종료할 때, 타이틀은 사용자/컨트롤러 페어링을 검증하고 이에 따라 반응해야 합니다.
  • 사용자/컨트롤러 페어링에 변경 사항이 없는 경우, 타이틀은 진행해야 합니다.
  • ERA 또는 UWP에서 타이틀의 이전 활성 사용자가 여전히 로그인되어 있지만 새로운 User 객체에 있는 경우(일반적으로 타이틀이 일시 중단된 동안 사용자가 로그아웃한 후 다시 로그인하여 발생), 타이틀은 새로 로그인된 User 객체를 로그아웃된 User 객체의 대체로 사용해야 합니다. 사용은 사용자가 로그아웃하지 않은 것처럼 계속되어야 합니다.
  • 예상되는 모든 사용자가 유효하지만 다른 컨트롤러와 페어링된 경우, 타이틀은 새 시스템 컨트롤러 페어링을 업데이트하고 사용해야 합니다.
  • 예상되는 사용자에게 유효한 컨트롤러가 없는 경우, 타이틀은 계정 선택 도구를 사용하여 사용자의 활성 컨트롤러를 설정해야 합니다.
  • 예상되는 플레이어가 로그인되어 있지 않은 경우, 타이틀은 플레이어를 게임에서 제거하거나 사용자 및 활성 컨트롤러를 다시 설정해야 합니다. 타이틀은 일반적으로 계정 선택 도구를 표시하여 이를 수행합니다. 사용자 재설정 과정에서 새 사용자가 선택된 경우, 게임 상태가 사용자별로 저장되는 경우 타이틀은 새 사용자의 상태를 게임 플레이에 사용해야 합니다.

추가 리소스

GDK를 사용한 플레이어 신원에 대한 정보는 GDK 문서의 Users 섹션을 참조하세요.

인증 테스트 케이스

다음 표는 GDK 단순화된 사용자 모델 또는 GDK 고급 사용자 모델, ERA 및 UWP 다중 사용자 애플리케이션을 사용하는 경우 타이틀에 적용되는 XR-112의 테스트 케이스를 보여줍니다.

112-02 초기 사용자 및 컨트롤러

테스트 단계
  1. 프로필 A로 로그인한 다음 타이틀을 실행합니다.
  2. 활성 사용자가 타이틀을 제어할 수 있는지 확인합니다.
  3. 로그인된 프로필 없이 1단계를 반복하고 타이틀이 활성 사용자를 설정하도록 프롬프트를 표시하는지 확인합니다.
  4. 활성 사용자를 설정하고 사용자가 타이틀을 제어할 수 있는지 확인합니다.
예상 결과 타이틀은 타이틀을 실행한 컨트롤러/사용자 페어링에 활성 사용자를 설정하거나, 컨트롤러와 사용자를 식별할 참여 프롬프트를 표시하거나, 계정 선택 도구를 표시하여 로그인해야 합니다. 통과 예시
  1. 타이틀이 타이틀을 실행한 컨트롤러/사용자 페어링에 활성 사용자를 설정합니다.
  2. 타이틀이 컨트롤러와 사용자를 식별할 참여 프롬프트를 표시합니다.
  3. 타이틀이 로그인을 위해 계정 선택 도구를 표시합니다.
실패 예시
  1. 타이틀이 첫 번째 사용된 컨트롤러로 사용자가 타이틀을 제어하지 못하게 합니다.
  2. 사용자가 로그인되지 않은 상태로 타이틀이 실행되었을 때 타이틀이 사용자에게 활성 사용자를 설정하도록 프롬프트를 표시하지 않습니다.

112-03 로그인된 사용자 없음

테스트 단계
  1. 로그인된 사용자가 없음을 확인합니다.
  2. 타이틀을 실행하고 사용자 데이터 저장을 지원하는 모든 모드에 진입합니다.
  3. 각 모드가 데이터 손실이 발생하기 전에 사용자에게 로그인 기회를 제공하는지 확인합니다.
  4. 로그인 기회를 취소하고, 진행 상황이 저장되지 않는다는 경고를 타이틀이 제공하는지 확인합니다.
예상 결과 타이틀이 일반적으로 사용자 데이터 또는 게임 상태를 저장하는 모드에 있는 경우, 타이틀은 사용자에게 로그인 기회를 제공해야 합니다. 타이틀은 로그인 없이 게임 플레이를 계속하면 진행 상황이 저장되지 않는다는 사실을 사용자에게 알려야 합니다. 통과 예시
  1. 로그인하지 않은 사용자가 일반적으로 사용자 데이터 또는 게임 상태를 저장하는 타이틀 모드에 액세스할 때 로그인하도록 프롬프트가 표시됩니다.
  2. 로그인 없이 계속 진행하면 진행 상황이 저장되지 않는다는 사실이 사용자에게 통지됩니다.
실패 예시
  1. 일반적으로 사용자 데이터 또는 게임 상태를 저장하는 모드에서 로그인 없이 계속 진행하면 진행 상황이 저장되지 않는다는 사실을 사용자에게 통지하지 않습니다.
  2. 이미 데이터 손실이 발생한 후에 진행 상황을 저장할 수 없다는 사실이 사용자에게 통지됩니다.

112-04 활성 사용자 표시

테스트 단계
  1. 이전에 타이틀을 본 적이 없고 관련 저장 데이터가 없는 프로필로 로그인합니다.
  2. 타이틀을 실행합니다.
  3. 프로필 관련 작업을 수행하기 전에 타이틀이 UI 내에서 활성 사용자를 식별하는지 확인합니다. “프로필 관련 작업”의 예로는 사용자의 저장된 게임 또는 기본 설정 변경, 사용자 프로필에 데이터 저장, 업적 수여, 사용자에 대한 통계 기록, 또는 사용자 데이터 또는 상태에 대한 다른 로컬 또는 클라우드 사용 또는 조작 등이 있습니다.
  4. 저장을 생성합니다.
  5. 타이틀을 다시 실행하고 프로필 관련 작업을 수행하기 전에 타이틀이 UI 내에서 활성 사용자를 식별하는지 확인합니다.
  6. XBOX Live에서 연결을 끊습니다.
  7. 타이틀을 다시 실행하고 프로필 관련 작업을 수행하기 전에 타이틀이 UI 내에서 활성 사용자를 식별하는지 확인합니다.
예상 결과 타이틀은 첫 프로필 관련 작업 전에 현재 사용자 컨텍스트를 표시해야 합니다. 통과 예시
  1. 타이틀이 프로필 관련 작업을 수행하기 전에 타이틀 내에서 사용자의 게이머태그 및/또는 게이머픽을 표시합니다.
  2. 사용자 프로필을 사용하지 않는 타이틀은 활성 사용자를 표시하지 않습니다.
  3. 여러 사용자를 지원하는 게임 모드에서 타이틀이 여러 활성 사용자를 표시합니다.
실패 예시
  1. 타이틀이 프로필 관련 작업을 수행하기 전에 타이틀의 활성 사용자를 표시하지 않습니다.

112-05 계정 선택 도구 액세스

테스트 단계
  1. 프로필로 로그인한 다음 타이틀을 실행합니다.
  2. 타이틀에서 활성 사용자가 계정 선택 도구에 액세스하고 다른 프로필을 선택할 수 있는지 확인합니다.
예상 결과 타이틀은 사용자가 활성 사용자를 변경하기 위해 타이틀에서 계정 선택 도구에 액세스할 수 있도록 허용해야 합니다. 통과 예시
  1. 타이틀이 사용자에게 타이틀에서 계정 선택 도구에 액세스할 수 있도록 허용합니다.
실패 예시
  1. 타이틀이 사용자에게 타이틀에서 계정 선택 도구에 액세스할 수 있도록 허용하지 않습니다.

112-06 프로필 변경 처리

테스트 단계
  1. 프로필로 로그인한 다음 타이틀을 실행합니다.
  2. 계정 선택 도구에 액세스하여 다른 프로필을 선택합니다.
  3. 타이틀이 적절히 반응하고 활성 사용자의 컨텍스트를 새 프로필로 전환하는지 확인합니다.
  4. 계정 선택 도구에 액세스할 수 있는 타이틀의 모든 위치에서 1–4단계를 반복합니다.
예상 결과 타이틀은 사용자가 원활하게 다른 사용자의 컨텍스트로 변경할 수 있도록 해야 합니다. 통과 예시
  1. 타이틀이 활성 사용자를 변경하면 데이터 손실이 발생할 수 있음을 사용자에게 알리고 계정 선택 도구로 진행하기 전에 사용자에게 확인을 요청합니다.
  2. 타이틀이 새 활성 사용자의 컨텍스트에 맞게 적절히 업데이트됩니다.
실패 예시
  1. 타이틀이 새 활성 사용자의 컨텍스트에 맞게 적절히 업데이트되지 않습니다.

112-07 제한 모드 중 사용자 변경

테스트 단계
  1. 프로필 A로 로그인한 다음 타이틀을 실행합니다.
  2. 타이틀 내 다양한 위치에서 XBOX 버튼을 눌러 타이틀을 제한합니다.
  3. 타이틀이 제한된 동안 프로필 A에서 로그아웃하고 프로필 B로 로그인합니다.
  4. 타이틀을 재개합니다.
  5. 타이틀이 새 활성 사용자에 따라 적절히 반응하는지 확인합니다.
예상 결과 타이틀이 제한 모드에서 재개될 때 타이틀은 이전에 참여했던 모든 사용자가 콘솔에 여전히 로그인되어 있는지 확인해야 합니다. 통과 예시
  1. 애플리케이션이 재개 시 활성 사용자 컨텍스트를 프로필 B로 자동 전환합니다.
  2. 게임 타이틀이 타이틀에서 프로필 A를 자동으로 제거하거나 새 사용자를 다시 설정하고 해당 새 사용자의 상태를 게임 플레이에 사용합니다.
실패 예시
  1. 타이틀이 활성 사용자로서 프로필 A를 컨텍스트에서 제거하도록 업데이트하지 않습니다.
  2. 새 프로필이 선택된 후에도 게임이 프로필 A의 상태를 계속해서 게임 플레이에 사용합니다.

112-08 일시 중단 중 사용자 변경

리테일 콘솔에서 게임은 다음 조건에서 일시 중단됩니다.
  • 콘솔이 전원 모드를 즉시 켜기(Instant-on)로 설정하여 꺼짐으로써 커넥티드 대기(Connected Standby)에 진입할 때.
  • 게임이 10분 동안 포커스에서 벗어나 있을 때. 예를 들어, 설정과 같은 애플리케이션을 실행하고 10분 동안 포커스를 유지하는 경우.
이 테스트 케이스의 목적을 위해, 2단계에서 두 방법 모두 확인되어야 합니다. 테스트 단계
  1. XBOX 프로필로 로그인한 다음 게임을 실행합니다.
  2. 게임 전반의 다양한 위치에서 게임을 일시 중단합니다.
  3. 게임이 일시 중단된 동안 프로필 A에서 로그아웃하고 프로필 B로 로그인합니다.
  4. 게임을 재개하고 게임이 새 활성 사용자에 따라 적절히 반응하는지 확인합니다.
  5. 새 활성 사용자로 게임 플레이에 진입하고 사용자가 진행할 수 있는지 확인합니다.
예상 결과 게임이 일시 중단에서 재개될 때, 게임은 이전에 참여했던 모든 사용자가 콘솔에 여전히 로그인되어 있는지 확인해야 합니다. 통과 예시
  1. 게임이 재개 시 활성 사용자 컨텍스트를 프로필 B로 자동 전환합니다.
  2. 게임이 게임에서 프로필 A를 자동으로 제거하거나 새 사용자를 다시 설정하고 해당 새 사용자의 상태를 게임 플레이에 사용합니다.
실패 예시
  1. 게임이 활성 사용자로서 프로필 A를 컨텍스트에서 제거하도록 업데이트하지 않습니다.
  2. 새 프로필이 선택된 후에도 게임이 프로필 A의 상태를 계속해서 게임 플레이에 사용합니다.
마지막 수정일 2026년 8월 13일