> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# XR-064 참가 가능한 게임 세션 및 온라인 플레이

> 타이틀이 멀티플레이어 활동(MPA)으로 참가 가능한 멀티플레이어 세션을 알리고, 참가 실패를 처리하며, XBOX 셸 및 게임 내 초대를 지원하는 방법입니다.

버전 3.0, 7/27/2026

참가 가능한 멀티플레이어 또는 협동 경험을 제공하는 타이틀은 MPA(Multiplayer Activity) 기능을 사용하여 XBOX 셸 인터페이스를 통해 참가 가능 여부를 알려야 합니다. 참가 가능한 활동을 알리면 크로스 네트워크 플레이어가 있는 시나리오를 포함하여 플레이어가 XBOX 셸(예: 친구 목록, 게이머 카드 및 Game Bar)을 통해 참가하고 초대를 주고받을 수 있습니다.

## 추가 정보

참가 가능한 멀티플레이어 경험은 플레이어가 의도적으로 함께 플레이할 수 있는 경험입니다. 다른 플레이어에게 직접 참가, 초대 보내기 및 받기, 비공개 로비, 암호로 보호된 경험 등이 예이며, 이에 국한되지 않습니다. 사용자가 더 이상 참가를 지원하는 경험에 있지 않은 경우 해당 사용자는 참가 가능한 것으로 표시되어서는 안 되므로, 타이틀은 플레이어가 더 이상 참가 가능하지 않을 때 알린 활동을 지워야 합니다.

사용자가 게임 세션에 참가했지만 어떤 이유로든 해당 사용자가 더 이상 경험에 참가할 수 없는 경우 타이틀은 다음 중 하나를 수행해야 합니다.

* 사용자에게 다음 참가 기회까지 기다리도록 요청합니다.
* 사용자에게 참가 실패 이유를 설명하는 명확한 메시지를 제공합니다.

Multiplayer Activity 기능을 사용하여 참가 가능 여부를 알리는 타이틀의 경우, 참가 가능한 활동 전체에서 플레이어 수, 제한 사항 및 groupId를 최신 상태로 유지하세요. XBOX 셸은 세션 용량을 강제하지 않으므로 플레이어 수를 관리하고 세션이 가득 찼을 때 참가를 거부하거나 대기열에 넣는 것은 타이틀의 책임입니다. 매치메이킹을 통해서만 참가를 지원하는 타이틀(예: 랭크 매치)은 XBOX 셸을 통해 참가 가능 여부를 알릴 필요가 없으며, 타이틀은 플레이어에게 명확하게 메시지를 전달하는 경우 필수 다운로드 가능 콘텐츠와 같은 전제 조건에 따라 참가를 제한할 수 있습니다.

GDK를 사용하여 참가 가능한 활동을 알리고 초대를 보내는 방법에 대한 자세한 내용은 [Multiplayer Activity 개요](https://docs.xbox.com/ko/services/xbox-services/multiplayer/mpa/live-mpa-overview.md)를 참조하세요.

## 초대

XBOX 셸에서 보낸 플랫폼 초대는 참가 가능한 세션에 대해 항상 사용할 수 있어야 합니다. 게임 내 초대는 권장되지만 필수 요구 사항은 아닙니다. 타이틀은 플레이어가 셸을 통해 다른 사람을 초대하기 전에 게임 내 초대 메커니즘을 제공할 필요가 없습니다.

타이틀이 게임 내 초대 메커니즘을 제공하는 경우, 해당 메커니즘은 수신자가 XBOX 셸 알림을 통해 초대를 받을 수 있도록 XBOX 플랫폼을 통해 초대를 라우팅해야 합니다. 타이틀은 초대를 보낼 수 있는 사람을 제한할 수 있으며(예: 호스트 또는 팀 주장만), 플레이어의 XBOX 친구 중 일부만 표시할 수 있습니다. 프랜차이즈, 클럽 또는 클랜 내에서만 참가 가능한 타이틀은 그에 따라 초대 범위를 지정할 수 있습니다.

## 구현 지침 및 모범 사례

MPA(Multiplayer Activity) 기능을 사용하여 참가 가능한 활동을 알리고 초대를 보내고 수락하며, 플레이어 수, 참가 가능 상태 및 제한 사항으로 활동을 최신 상태로 유지하세요. 동일한 목적으로 MPA를 레거시 MPSD(Multiplayer Session Directory)와 혼용하지 마세요. 둘 다 유지하면 중복 레코드와 참가 충돌이 발생할 수 있습니다. 세션이 참가 불가능해질 때마다 활동을 지우고, 플랫폼 초대와 게임 내 초대가 일관되게 동작하도록 XBOX 플랫폼 초대 API를 사용하세요.

## 인증 테스트 사례

### 064-01 게임 외부에서 게임 세션 참가

**구성**

* XBOX 프로필 2개
* 디바이스 1 프로필 A - 프로필 B와 친구
* 디바이스 2 프로필 B - 프로필 A와 친구

리테일 콘솔에서 게임은 다음 조건에서 일시 중단됩니다.

* 전원 모드가 인스턴트 온으로 설정된 상태에서 콘솔을 꺼서 연결된 대기 상태로 전환될 때.
* 게임이 10분 동안 포커스를 잃은 상태로 유지될 때. 예를 들어 설정과 같은 애플리케이션을 실행하고 10분 동안 포커스를 유지하는 경우.

이 테스트 사례에서는 XBOX 콘솔의 경우 5단계에서 설정 앱을 실행하고 10분 동안 포커스를 유지하여 게임을 일시 중단합니다. PC에서는 5단계에서 시스템을 절전 또는 최대 절전 모드로 전환합니다.

**테스트 단계**

1. 프로필 A를 사용하여 참가 가능한 게임 세션을 만듭니다.
2. 타이틀을 실행하지 않은 프로필 B를 사용하여 XBOX 셸 인터페이스를 통해 친구 목록에 액세스하고 프로필 A가 참가 가능으로 나열되어 있는지 확인합니다.
   * 일부 게임은 비공개 멀티플레이어 세션만 지원하므로 프로필 B에 참가 가능으로 표시되지 않을 수 있습니다. 이 경우 6단계로 이동하세요.
3. 프로필 B가 프로필 A의 게임에 참가합니다.
4. 두 프로필이 함께 게임 경험에 배치되는지 확인합니다.
5. 콘솔에서 타이틀이 일시 중단된 상태일 때, 그리고 PC에서 시스템이 절전 또는 최대 절전 모드일 때 프로필 B로 1-4단계를 반복합니다.
6. 1-5단계를 반복하되, 이번에는 프로필 B가 친구 목록을 통해 참가하는 대신 프로필 A가 시스템 셸을 통해 프로필 B에게 게임 초대를 보내고, 프로필 B가 초대를 받고 수락하여 프로필 A에 참가할 수 있는지 확인합니다.

**예상 결과**\
사용자 B는 사용자 A의 게임에 참가하여 함께 게임 경험을 진행할 수 있어야 합니다. 비공개 멀티플레이어 세션만 지원하여 프로필 B에 참가 가능으로 표시되지 않는 게임의 경우, 초대가 프로필 A에 참가하는 유일한 메커니즘이어도 괜찮습니다. 매치메이킹을 통해서만 세션 참가를 지원하는 멀티플레이어 게임 세션(예: 랭크 매치)의 경우 XBOX 셸 인터페이스를 통한 참가를 지원하지 않아도 괜찮습니다. 크로스 플랫폼 멀티플레이어를 지원하는 타이틀의 경우 사용자는 XBOX One 콘솔과 PC 간에 참가할 수 있어야 합니다.

**통과 예**

1. 두 프로필이 함께 게임 경험에 배치됩니다.
2. 사용자 B가 사용자 A의 게임에 참가하여 함께 게임 경험을 진행할 수 있습니다.
3. 게임이 비공개 멀티플레이어 세션만 지원하기 때문에 사용자 A가 XBOX 셸 인터페이스를 통한 친구 목록에 참가 가능으로 표시되지 않지만, 사용자 A는 시스템 셸을 통해 사용자 B에게 게임 초대를 보낼 수 있습니다.
4. 매치메이킹을 통해서만 참가를 지원하는 세션(예: 랭크 매치)에 참여하는 동안 사용자 A가 참가 가능으로 표시되지 않으며 XBOX 셸 인터페이스를 통해 게임 초대를 보낼 수 없습니다.

**실패 예**

1. 사용자 B가 사용자 A의 게임에 성공적으로 참가할 수 없으며 게임 경험에 배치되지 않습니다.
2. 게임이 비공개 멀티플레이어 세션만 지원하기 때문에 사용자 A가 XBOX 셸 인터페이스를 통한 친구 목록에 참가 가능으로 표시되지 않으며, 사용자 A가 시스템 셸을 통해 사용자 B에게 게임 초대를 보낼 수 없습니다.

### 064-02 동일한 게임에서 게임 세션 참가

**구성**

* XBOX 프로필 2개
* 디바이스 1 프로필 A - 프로필 B와 친구
* 디바이스 2 프로필 B - 프로필 A와 친구

**테스트 단계**

1. 프로필 A를 사용하여 타이틀을 실행하고 타이틀 내에서 참가 가능한 게임 세션을 만듭니다.
2. 프로필 B를 사용하여 동일한 타이틀을 실행하고 타이틀 내의 어떤 경험에 들어갑니다.
3. 프로필 B를 사용하여 XBOX 셸 인터페이스를 통해 친구 목록에 액세스하고 프로필 A의 게임에 참가하도록 선택합니다.
   * 일부 게임은 비공개 멀티플레이어 세션만 지원하므로 프로필 B에 참가 가능으로 표시되지 않을 수 있습니다. 이 경우 5단계로 이동하세요.
4. 두 프로필이 함께 게임 경험에 배치되는지 확인합니다.
5. 1-4단계를 반복하되, 이번에는 프로필 B가 XBOX 셸 인터페이스를 통한 친구 목록으로 참가하는 대신 프로필 A가 시스템 셸을 통해 프로필 B에게 게임 초대를 보내고, 프로필 B가 초대를 받고 수락하여 프로필 A에 참가할 수 있는지 확인합니다.

**예상 결과**\
사용자 B는 사용자 A의 게임에 참가하여 함께 게임 경험을 진행할 수 있어야 합니다. 비공개 멀티플레이어 세션만 지원하여 프로필 B에 참가 가능으로 표시되지 않는 게임의 경우, 초대가 프로필 A에 참가하는 유일한 메커니즘이어도 괜찮습니다. 매치메이킹을 통해서만 세션 참가를 지원하는 멀티플레이어 게임 세션(예: 랭크 매치)의 경우 XBOX 셸 인터페이스를 통한 참가를 지원하지 않아도 괜찮습니다. 크로스 플랫폼 멀티플레이어를 지원하는 타이틀의 경우 사용자는 XBOX One 콘솔과 PC 간에 참가할 수 있어야 합니다.

**통과 예**

1. 두 프로필이 함께 게임 경험에 배치됩니다.
2. 사용자 B가 사용자 A의 게임에 참가하여 함께 게임 경험을 진행할 수 있습니다.
3. 게임이 비공개 멀티플레이어 세션만 지원하기 때문에 사용자 A가 XBOX 셸 인터페이스를 통한 친구 목록에 참가 가능으로 표시되지 않지만, 사용자 A는 시스템 셸을 통해 사용자 B에게 게임 초대를 보낼 수 있습니다.
4. 매치메이킹을 통해서만 참가를 지원하는 세션(예: 랭크 매치)에 참여하는 동안 사용자 A가 참가 가능으로 표시되지 않으며 XBOX 셸 인터페이스를 통해 게임 초대를 보낼 수 없습니다.

**실패 예**

1. 사용자 B가 사용자 A의 게임에 성공적으로 참가할 수 없으며 게임 경험에 배치되지 않습니다.
2. 게임이 비공개 멀티플레이어 세션만 지원하기 때문에 사용자 A가 XBOX 셸 인터페이스를 통한 친구 목록에 참가 가능으로 표시되지 않으며, 사용자 A가 시스템 셸을 통해 사용자 B에게 게임 초대를 보낼 수 없습니다.

### 064-03 게임 내 초대

*이 테스트 사례는 게임 내 초대 메커니즘을 제공하는 타이틀에만 적용됩니다.*

**구성**

* 각각 다른 디바이스에 로그인한 XBOX 프로필 2개
* 디바이스 1 프로필 A - 프로필 B와 친구
* 디바이스 2 프로필 B - 프로필 A와 친구

XBOX 콘솔에서 게임을 일시 중단하는 방법과 PC를 절전 및 최대 절전 모드로 전환하는 방법은 [콘솔 XR 및 테스트 사례](https://docs.xbox.com/ko/publishing/certification/console-cert-tested-requirements.md#testing-suspend-sleep-and-hibernate) 페이지를 참조하세요.

**테스트 단계**

1. 사용자 A와 B를 각자의 디바이스에 로그인합니다.
2. 두 사용자 모두 타이틀을 실행합니다.
3. 사용자 A가 게임 세션을 만들고 초대를 보내는 게임 내 옵션을 찾습니다.
4. 사용자 A가 사용자 B에게 게임 초대를 보냅니다.
5. 프로필 B가 다음 각 영역에서 초대를 수락하여 프로필 A의 게임 세션에 참가합니다.
   * 초기 부팅 시퀀스부터 초기 대화형 상태까지의 모든 지점
   * 주 메뉴(있는 경우)
   * 싱글 플레이어 게임 플레이 중(있는 경우)
   * 멀티플레이어 게임 플레이 중(있는 경우)
   * 콘솔에서 타이틀이 일시 중단된 상태이거나 PC에서 절전 또는 최대 절전 모드인 상태로 주 메뉴에 있을 때(있는 경우)
   * 콘솔에서 타이틀이 일시 중단된 상태이거나 PC에서 절전 또는 최대 절전 모드인 상태로 싱글 플레이어 게임 플레이 중일 때(있는 경우)
   * 타이틀이 주 메뉴에서 제한된 상태일 때(있는 경우)
   * 타이틀이 게임 플레이 중 제한된 상태일 때(있는 경우)
6. 각 초대 후 두 프로필이 함께 게임 경험에 배치되는지 확인합니다.

**예상 결과**\
타이틀이 게임 내 초대 메커니즘을 제공하는 경우, 해당 메커니즘은 프로필 B가 XBOX 셸 알림을 통해 초대를 받고 프로필 A가 호스트하는 세션에 참가할 수 있도록 XBOX 플랫폼을 통해 초대를 라우팅해야 합니다. 타이틀이 세션에 초대를 보낼 수 있는 사람을 제한하는 것은 괜찮습니다(예: 팀 게임에서 팀 주장만). 타이틀은 초대 또는 참가 작업이 수행되는 것을 막을 수 없으므로 파괴적인 작업에 대한 확인을 요청할 필요가 없습니다. 크로스 플랫폼 멀티플레이어를 지원하는 타이틀의 경우 사용자는 XBOX One 콘솔과 PC 간에 초대를 통해 세션에 참가할 수 있어야 합니다.

**통과 예**

1. 게임 내 초대 옵션이 XBOX 플랫폼을 통해 초대를 라우팅하고, 프로필 B가 XBOX 셸을 통해 초대를 받고 수락합니다.
2. 게임 중에 게임 초대를 수락할 때 플레이어에게 파괴적인 작업 확인 메시지가 표시되지 않습니다.
3. 초대는 완료되지만 필수 DLC가 디바이스에 없으면 세션을 시작/실행할 수 없습니다. 이 내용이 플레이어에게 명확하게 메시지로 전달됩니다.
4. 누가 호스트인지 명확한 경우 게임 세션의 호스트만 초대를 보낼 수 있습니다.

**실패 예**

1. 게임 내 초대 메커니즘이 XBOX 플랫폼을 통해 초대를 라우팅하지 않아 프로필 B가 XBOX 셸을 통해 초대를 받지 못합니다.
2. 게임 초대를 수락한 후 활성 플레이어가 초대받은 게임 세션으로 이동하지 않습니다.
3. 필수 DLC가 디바이스에 없을 때 초대가 완료되지 않으며, 이 내용이 플레이어에게 메시지로 전달되지 않습니다.

### 064-04 참가할 수 없는 게임

**구성**

* 각각 다른 디바이스에 로그인한 XBOX 프로필 3개
* 디바이스 1 프로필 A - 프로필 B 및 C와 친구
* 디바이스 2 프로필 B - 프로필 A와 친구
* 디바이스 3 프로필 C - 프로필 A와 친구

**테스트 단계**

1. 프로필 A를 사용하여 타이틀을 실행하고 참가 가능한 게임 세션을 만듭니다.
2. 프로필 A를 사용하여 프로필 B와 C를 게임에 초대합니다.
3. 프로필 A를 사용하여 A가 참가한 후 남은 슬롯이 하나만 있도록 게임 세션에 들어갑니다.
4. 프로필 B를 사용하여 초대를 수락합니다.
5. 프로필 A와 B가 함께 플레이하고 있는지 확인합니다.
6. 프로필 C를 사용하여 초대를 수락하고 게임 세션 참가를 시도합니다.

**예상 결과**\
프로필 C는 다음 참가 기회까지 기다리도록 요청받거나 게임 세션 참가 실패 이유에 대한 메시지를 받습니다.

**통과 예**

1. 프로필 C가 다음 참가 기회까지 기다리도록 요청받습니다.
2. 프로필 C가 게임 세션 참가 실패 이유에 대한 메시지를 받습니다.

**실패 예**

1. 프로필 C가 다음 참가 기회까지 기다리도록 요청받지 않으며 참가 실패에 대한 메시지도 받지 않습니다.


## Related topics

- [XBOX 게임에 대한 인증 테스트 XBOX 요구 사항](https://docs.xbox.com/ko/publishing/certification/console-cert-tested-requirements.md)
- [XBOX 게임에 대한 XBOX 요구 사항](https://docs.xbox.com/ko/publishing/certification/xbox-requirements.md)
- [XBOX 요구 사항 및 정책 지원 콘텐츠](https://docs.xbox.com/ko/publishing/certification/xr/overview.md)
- [PlayFab Party](https://docs.xbox.com/ko/build/console-features/networking/game-mesh/playfab-party-intro-networking.md)
- [Beta 및 XBOX Game Preview 타이틀에 대한 요구 사항](https://docs.xbox.com/ko/publishing/certification/cert-beta-game-preview.md)
