Skip to main content
이 항목을 사용하여 XBOX 서비스 타이틀에 게임 초대를 추가합니다. 멀티플레이어 초대를 받으려면 게임에서 멀티플레이어 프로토콜 및 게임 초대 콜백에 대해 등록해야 합니다. 게임은 로컬 사용자에 대한 초대를 받은 다음 해당 사용자를 멀티플레이어 세션에 참가시킵니다.

사전 요구 사항

Windows PC에서 게임 초대 알림을 받으려면 XBOX Game Bar를 설치하세요. XBOX Game Bar 앱은 Windows 10, OS 버전 1903 이상에 기본적으로 설치되어 있습니다. Windows 키+G를 눌러 XBOX Game Bar 앱을 실행하여 올바르게 설치되었는지 확인합니다.
Windows PC에 XBOX Game Bar가 설치되어 있지 않은 경우, Microsoft Store에서 설치할 수 있습니다.

멀티플레이어 프로토콜 등록

멀티플레이어 프로토콜을 등록하면 사용자가 멀티플레이어 게임 초대를 수락할 때 시스템이 게임을 시작하는 방법을 알 수 있습니다. 멀티플레이어 프로토콜을 등록하려면 다음 코드와 같이 MicrosoftGame.config 파일에 MultiplayerProtocol 요소를 추가해야 합니다.
패키지에 여러 실행 파일이 있는 경우, 다음 코드와 같이 Executable 특성을 사용하여 어떤 실행 파일이 멀티플레이어 프로토콜을 처리할지 지정할 수 있습니다.

멀티플레이어 게임 초대 콜백 등록

XGameInviteRegisterForEventXGameInviteUnregisterForEvent API는 이제 더 이상 사용되지 않습니다. 대신 XGameActivationRegisterForEventXGameActivationUnregisterForEvent를 사용하세요. 마이그레이션 지침은 XGameActivation을 참조하세요.
멀티플레이어 게임 초대 콜백을 받으려면 다음 코드와 같이 XGameActivationRegisterForEvent API를 사용하여 활성화 콜백에 등록해야 합니다. 활성화 콜백 등록 및 등록 취소에 대한 자세한 내용은 XGameActivationRegisterForEventXGameActivationUnregisterForEvent를 참조하세요.

Flat C

“일시 중단 상태에서 수락된 초대” 시나리오를 적절히 처리하려면, 타이틀은 위 샘플 코드의 XGameActivationRegisterForEvent 콜백에서 OnActivation() 핸들러 메서드로 전달된 inviteUri를 저장해야 합니다. 그런 다음 타이틀은 게임이 완전히 재개되었음을 알리는 RegisterAppStateChangeNotification을 기다려야 하며, 그 후에 inviteUri에 제공된 세부 정보를 사용하여 세션에서 작업을 계속 진행해야 합니다. RegisterAppStateChangeNotification에 대한 자세한 내용은 XBOX Game Life Cycle (NDA topic)을 참조하세요.

XGameActivationCallback에서 inviteUri 구문 분석

게임이 AcceptedGameInvite의 활성화 유형으로 XGameActivationCallback 이벤트를 받으면, XGameActivationInfo 구조체에서 inviteUri 문자열에 액세스할 수 있습니다. inviteUri는 다음 형식 중 하나입니다.

게임 초대 수락의 경우

사용자가 게임 초대를 수락하면 다음 코드와 같이 inviteUri가 포함된 게임 초대 콜백을 받습니다.
URI는 항상 “ms-xbl-multiplayer//“로 시작하며, 그 뒤에 다음 핸들이 있습니다.
  • inviteHandleAccept는 사용자가 게임 초대를 수락했기 때문에 콜백이 시작되었음을 나타냅니다.
  • handle은 멀티플레이어 세션에 참가하는 데 사용하는 초대 핸들입니다.
  • invitedXuid는 멀티플레이어 세션에 초대받은 XBOX 서비스 사용자의 ID입니다.
  • senderXuid는 게임 초대를 보낸 XBOX 서비스 사용자의 ID입니다.
  • context는 발신자가 포함했을 수 있는 추가(선택 사항) 컨텍스트입니다.

진행 중인 게임 세션에 참가하는 경우

사용자가 멀티플레이어 세션에 참가하려고 시도할 때, 게임은 다음 코드와 같은 inviteUri가 포함된 초대 콜백을 받습니다.
URI는 항상 “ms-xbl-multiplayer//“로 시작하며, 그 뒤에 다음 핸들이 있습니다.
  • activityHandleJoin은 사용자가 게임 초대를 수락했기 때문에 콜백이 시작되었음을 나타냅니다.
  • handle은 멀티플레이어 세션에 참가하는 데 사용하는 활동 핸들입니다.
  • joinerXuid는 멀티플레이어 세션에 참가하려고 시도하는 XBOX 서비스 사용자의 ID입니다.
  • joineeXuid는 현재 멀티플레이어 세션에 있는 XBOX 서비스 사용자의 ID입니다.

handleId로 멀티플레이어 게임 세션에 참가

Multiplayer Manager 사용

Multiplayer Manager를 사용하는 경우, XblMultiplayerManagerJoinLobby API를 사용하고 inviteUri에서 추출한 handleId를 전달하여 사용자를 멀티플레이어 세션에 참가시킬 수 있습니다. 다음 코드와 같이 invitedXuid에 대해 xblUserHandle을 사용할 수도 있습니다.

Flat C

Multiplayer API 직접 사용

Multiplayer API를 사용하는 경우, 다음 단계에 따라 타이틀에 대한 멀티플레이어 세션 및 초대를 구성합니다.
  1. XblMultiplayerGetSessionByHandleAsync API를 사용하고 handleId를 전달하여 멀티플레이어 세션 문서를 가져옵니다.
  2. XblMultiplayerSessionJoin API를 사용하여 로컬 사용자를 멀티플레이어 세션 문서에 참가시킵니다.
  3. XblMultiplayerWriteSessionByHandleAsync API를 사용하여 이 변경 사항을 커밋하기 위해 멀티플레이어 세션 문서를 서비스에 씁니다.

참조 API 문서

참고 항목

XGameActivation API Multiplayer Manager를 사용하여 게임을 시작하기 위한 프로토콜 활성화 처리
마지막 수정일 2026년 8월 25일