XStoreContext는 현재 Microsoft Store 앱에 로그인된 Microsoft 계정(MSA)에 연결됩니다. 따라서 모든 XStore API 결과는 해당 특정 Microsoft 계정으로 범위가 지정됩니다. 이 계정은 언제든 예고 없이 로그아웃하거나 다른 계정으로 전환할 수 있습니다. 또한 Microsoft Store 계정은 사용자 설정에 따라 XBOX 앱에서 전환될 수 있습니다.
마찬가지로 XBOX 서비스 계정은 게임 내 로그인 흐름으로 전환되어 XBOX와 Microsoft Store 앱 간에 계정 불일치를 만들 수 있습니다. 이러한 계정 불일치 상태는 가족 또는 공유 PC 시나리오에서는 의도적일 수 있습니다.
게임을 플레이하는 계정과 Microsoft Store에 로그인한 계정 사이의 전환된 또는 불일치 계정 시나리오를 처리하지 않으면 사용자 불만으로 이어질 수 있습니다. 예를 들어 구매가 이루어진 후 사용자가 인게임 아이템을 받지 못하는 경우가 있습니다.
다음 문서에서는 PC에서 계정 불일치가 있을 때 계획, 처리 및 완화하는 방법을 설명합니다.
설명된 시나리오는 XBOX 콘솔에서는 문제가 되지 않습니다.
XStoreContext는 항상 컨텍스트를 만든 XUser 계정에 연결됩니다. 따라서 XStore API 및 트랜잭션은 항상 게임의 활성 XUser 개체에 연결됩니다.
개발자 샌드박스의 테스트에는 XBOX 및 Windows Store 계정이 동기화되어야 합니다. 샌드박스에서 실행할 때 Microsoft Store 계정이 사용되지 않으므로 계정 불일치 시나리오는 프로덕션/RETAIL 환경에서만 테스트할 수 있습니다. 자세한 내용은 계정 불일치 시나리오 테스트를 참고하세요.
일반적인 지침
XBOX 서비스 지원이 아닌 게임(즉, 플레이 사용자를 나타내는 데 XBOX 서비스 계정을 사용하는 게임)은 구매 계정(Microsoft Store에 로그인한 MSA)이 언제든 변경될 수 있다는 점을 계획하고 이해해야 합니다. 따라서 인게임에서 소모품 제품을 구매할 때 게임은 즉시 커머스 흐름을 시작하여 구매한 소모품을 쿼리하고 아이템을 이행(소비)해야 합니다. 그런 다음 게임 또는 타이틀 서비스가 해당 사용자에 대한 소모품 잔액을 업데이트하고 추적합니다. 주 디바이스 계정이 결제하지만 게임 계정이 무엇이든 게임 내 크레딧을 받는 모바일 게임 커머스 시나리오와 유사합니다. 자세한 안내는 서비스에서 소모품 제품 관리를 참고하세요. XBOX 서비스를 지원하는 게임은 설계 초기에 계정 불일치(MSA) 시나리오를 지원할지 여부를 결정해야 합니다. 서비스가 계정 불일치를 지원하지 않는 경우, 인게임 구매 및 콘텐츠 사용을 가능하게 하려면 사용자가 계정을 동기화하도록 강제해야 합니다. Windows에서 보고된 데이터에 따르면 XBOX 서비스 사용자의 10~15%가 Windows 세션에서 Microsoft Store 앱과 XBOX 서비스에 서로 다른 MSA로 로그인되어 있습니다. 따라서 이 사용자 그룹을 위해 계정 불일치 시나리오를 지원하는 것을 권장합니다. 그러나 게임의 커머스 시스템이 XBOX 서비스 계정이 구매 계정이기도 하다는 가정을 기반으로 구축된 경우, MSA 계정이 XBOX 서비스와 Microsoft Store 사이에서 동기화되었는지 확인하는 단계가 있습니다. 계정이 동기화되었는지 확인하려는 게임의 예로는 동일한 게임 서비스를 사용하는 XBOX 콘솔 및 Windows PC 버전을 모두 지원하는 게임이 있습니다. 마찬가지로 원래 XBOX에서 출시되었다가 PC로 포팅된 게임은 플레이 계정과 커머스 identity가 동일하도록 설계될 수 있습니다. XBOX 서비스 지원 게임 내에서 계정 불일치를 처리할 때의 구체적인 영향과 문제는 다음 섹션에서 설명합니다.시나리오 예
Microsoft 계정(MSA)이 Windows PC와 Microsoft Store 앱에도 로그인되어 있습니다. Microsoft Store를 통해 XBOX 서비스 지원 게임을 구매하거나(또는 PC Game Pass를 통해 다운로드) 게임을 설치합니다. 게임을 실행할 때 Microsoft Store에 로그인한 계정과 동일한 자격 증명(MSA)인 XBOX 서비스 계정을 선택합니다. 인게임 소모품을 구매하면 Microsoft Store 서비스에서 계정에 요금이 청구되고 예상 소모품 수량이 크레딧됩니다. 게임 또는 게임의 백엔드 서비스가 사용 권한을 쿼리하고, 소모품을 확인하고, 소모품을 이행하고, 인게임 계정에 제품 또는 값을 부여합니다. 나중에 자녀가 게임을 플레이하고 싶어 자신의 Microsoft 계정으로 게임의 XBOX 서비스에 로그인합니다. Microsoft Store 앱에는 여전히 사용자의 Microsoft 계정이 로그인되어 있습니다. 자녀가 이전에 구매한 것과 동일한 소모품을 인게임에서 구매하기 시작합니다. 다시 Microsoft 계정이 Microsoft Store에서 요금이 청구되고 크레딧됩니다. 게임 또는 백엔드 서비스가XStoreContext를 기반으로 새 사용 권한을 쿼리하고 계정의 스토어 결과에서 소모품을 확인합니다. 게임 또는 백엔드 서비스가 소모품을 이행하고 활성 플레이어에게 제품을 부여하는데, 이 경우는 이제 자녀의 계정입니다.
최종 결과는 사용자 계정에 요금이 청구되지만 게임은 인게임 제품 또는 값을 자녀의 계정에 제공한다는 것입니다.
X-Token을 사용한 서버 간 문제
XBOX 서비스를 사용하는 타이틀은 백엔드 서비스에서 게임을 플레이하는 사용자를 대신해 호출하기 위해 X-Token을 사용할 수 있습니다. 특히 사용자가 소유한 제품을 쿼리하고 게임 내에서 소모품 커머스 시스템 구현 모범 사례를 따르는 경우입니다. 그러나 위임된 인증 X-Token은 게임을 플레이하는 XBOX 서비스 사용자 계정에 연결됩니다. 따라서 Microsoft Store API에 대한 서버 간 호출에 X-Token을 사용하면 앞서 설명한 계정 불일치 시나리오를 처리할 수 없습니다. 쿼리 결과는 XBOX 서비스 계정의 MSA가 Microsoft Store에 로그인했을 때 구매한 항목만 반환합니다.User Store ID를 사용한 서버 간 인증
계정 불일치 시나리오를 처리하려면 Microsoft Store API에 대한 서비스 간 호출은 인증에 User Store ID를 사용해야 합니다. User Store ID는 그 순간 Microsoft Store에 로그인한 계정의 identity를 나타내도록 클라이언트에서 얻은 안전한 토큰입니다. 그런 다음 User Store ID는 User Store ID에 표현된 사용자를 대신해 Microsoft Store API에 대한 인증 흐름에 사용됩니다. 자세한 내용은 Microsoft Entra ID 및 User Store ID로 인증을 참고하세요.인게임 커머스에 동기화된 계정을 요구할 때의 권장 사항
XBOX 서비스 지원 타이틀에서 계정 불일치 시나리오를 지원하는 것을 권장하지만 필수는 아닙니다. 실행 중인 타이틀은 게임을 플레이하는 XBOX 서비스 계정이 Microsoft Store에 로그인한 동일한 MSA와 일치하는지 확인하기 위해 검증을 수행할 수 있으며, 계정이 동일하지 않을 때 타이틀이 인게임 트랜잭션 및 구매를 차단할 수 있습니다. XBOX 서비스 계정이 직접 소유한 항목만 서비스 간 호출을 통해 게임 서비스가 조치를 취하고 사용하도록 허용합니다. 게임은 XUserIsStoreUser 함수를 사용하여 계정이 불일치인지 확인할 수 있습니다. XBOX 서비스와 Microsoft Store에 로그인한 계정의 동기화를 사용자에게 요구하도록 선택한 경우, 타이틀은 계정이 동일하지 않을 때 사용자가 이해할 수 있도록 UI와 안내를 제공해야 하며 문제 해결 방법도 제공해야 합니다. 권장 UI 요소:- Microsoft Store에 로그인한 계정이 게임을 플레이하는 XBOX 서비스 계정과 다르다는 것을 게임의 UI 초기에 사용자에게 알립니다.
- Microsoft Store에 로그인한 계정이 XBOX 서비스 계정과 동일하지 않으면 게임에 대한 추가 기능이나 구매한 콘텐츠가 작동하지 않는다고 설명합니다.
- 계정이 동일하지 않으면 인게임 스토어에서 구매가 허용되지 않는다는 메시지를 표시합니다.
- Microsoft Store 앱으로 이동하여 XBOX 서비스에 사용된 것과 동일한 계정으로 로그인하도록 안내를 제공합니다.
- XBOX 앱으로 이동하여 XBOX 서비스 계정을 Microsoft Store에 로그인하도록 하는 기본 설정을 지정하도록 안내를 제공합니다.
