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

# PlayFab Lobby & Match와의 통합

> 활동 업데이트, XUID 확인 및 초대 처리를 포함하여 XBOX Multiplayer Activity를 PlayFab Lobby 및 Match와 통합하기 위한 모범 사례입니다.

이 항목에서는 MPA를 PlayFab Lobby 및 Match 서비스와 통합하는 방법을 설명합니다. 여기에는 모범 사례와 유사한 다른 로비 및 매치메이킹 서비스에 적용할 수 있는 일반 지침이 포함됩니다.

## 디자인 개요

MPA를 PlayFab Lobby 및 Match 또는 유사한 서비스와 통합하려면, 타이틀 또는 타이틀 서비스가 로비 상태에서 관련 정보를 쿼리한 다음 이 정보를 MPA 서비스로 마이그레이션해야 합니다. MPA 서비스는 로비 또는 세션 상태 정보용으로 의도되지 않았습니다.

### 활동

[MPA Activity](/services/xbox-services/multiplayer/mpa/concepts/live-mpa-activities)의 경우, 소스 정보는 기본 로비 정보여야 합니다. 타이틀 또는 서비스는 다음과 같은 모범 사례로 MPA Activity 콘텐츠 필드에 관련 정보를 설정해야 합니다.

* 업데이트 빈도
  로비 데이터에서 상태 마이그레이션은 `CurrentPlayers` 정보에 대한 업데이트와 같은 변경 사항을 합리적으로 반영하기 위해 수행되어야 합니다. 업데이트 호출은 [Fine-Grained Rate Limiting](/services/xbox-services/develop/best-practices/live-fine-grained-rate-limiting)에 설명된 호출 제한을 초과해서는 안 됩니다. 정보를 업데이트하기 위해 MPA Activity를 삭제/재생성해서는 안 됩니다.

* XBOX 사용자 ID(XUID)
  플레이어의 XUID는 일반적으로 XBOX 서비스 외부의 서비스에서 확인되지 않은 정보이며 크로스 네트워크 서비스의 주요 식별자가 아닙니다. PlayFab Lobby는 API 또는 서비스 호출을 통해 활성 사용자의 XUID로 변환할 수 있는 플레이어용 크로스 네트워크 PlayFab User Entity ID를 사용합니다. 자세한 내용은 PlayFab [자습서: 플레이어 프로필 가져오기](/services/playfab/player-progression/player-data/getting-player-profiles)를 참조하세요. 이렇게 확인된 XUID만 안전한 것으로 간주되어야 합니다.

  다른 플레이어의 XUID는 이러한 방식으로 검색할 수 없습니다. 해결책으로, XUID는 Lobby에서 플레이어의 사용자 지정 문자열 속성으로 제공될 수 있습니다. 이러한 문자열은 안전한 것으로 간주해서는 안 되며 항상 `PFAccountManagementClientGetPlayFabIDsFromXboxLiveIDsGetResult`를 사용하여 XUID에 대한 예상 PlayFab User Entity ID와 실제 PlayFab User Entity ID를 비교하여 PlayFab 서비스를 통해 검증해야 합니다. 불일치는 잘못된 XUID를 나타냅니다.

  모든 서비스에서, 안전하지 않은 문자열로 제공된 XUID는 안전하지 않으며 검증 없이는 사칭 공격으로 이어질 수 있습니다.

* 연결 문자열
  PlayFab Lobby 서비스와 통합하려면, MPA 활동의 연결 문자열을 `PFLobbyGetConnectionString`을 통해 검색할 수 있는 Lobby 연결 문자열로 설정해야 합니다. 다른 서비스는 동등한 참여 문자열을 사용해야 합니다.

* 로비 참여 가능성 반영
  활동은 플레이어가 게임플레이 경험에 참여할 수 있도록 하기 위한 것이며 기본 로비 상태의 참여 가능성과 일치해야 합니다. 활동이 가득 차면(`CurrentPlayers`가 `MaxPlayers` 값에 도달) 활동은 자동으로 참여 불가능해집니다. 활동을 일시적으로 참여 불가능하게 만들려는 타이틀은 이 동작을 사용할 수도 있습니다. 향후 참여가 불가능한 경우에만 활동을 삭제해야 합니다. 활동의 개인 정보 설정을 변경하는 것은 제한할 뿐이며 모든 참여를 차단할 수 없습니다.

  활동 참여의 지연 시간으로 인해, 타이틀은 항상 가득 차거나 참여 불가능한 세션에 대해 참여가 수행되는 플로우를 고려하고 플레이어에게 적절한 오류를 제공해야 합니다.

* 개인 정보 변경 반영
  Join Restrictions를 통한 활동 개인 정보의 상태와 변경 사항은 기본 PlayFab Lobby에 대해 정의된 Access Policy를 반영해야 합니다. 유사한 서비스에도 동일한 원칙이 적용되며 개인 정보 값의 매핑이 필요할 수 있습니다.

### 초대

[MPA Invites](/services/xbox-services/multiplayer/mpa/concepts/live-mpa-invites)의 경우, 권장되는 소스도 기본 로비 정보여야 합니다. 이 모범 사례 접근 방식은 PlayFab Party와 같은 네트워크 메시에 대한 초대보다 더 안정적이며 로비 데이터를 통해 즉시 상태 정보를 제공할 수 있습니다.

PlayFab Lobby 서비스와 통합하려면, MPA 초대의 연결 문자열을 Lobby 연결 문자열로 설정해야 합니다. 이 문자열은 `PFLobbyGetConnectionString`을 통해 검색할 수 있습니다. 또한, 초대에 대해 적절한 크로스 플랫폼 참여 값이 설정되어야 합니다.

### 최근 플레이어

[MPA 최근 플레이어](/services/xbox-services/multiplayer/mpa/concepts/live-mpa-recent-players) 기능의 사용은 기본 로비와 밀접하게 연결되지 않으며 타이틀 로직에 의해 구동될 수 있습니다. 최근 플레이어 호출은 [Fine-Grained Rate Limiting](/services/xbox-services/develop/best-practices/live-fine-grained-rate-limiting)에 설명된 호출 제한을 초과해서는 안 됩니다. 모범 사례로, 호출 제한을 준수하기 위해 최근 플레이어 활동은 합리적인 시간 범위 내에서 일괄 처리되어야 합니다. 타이틀에 의한 최근 플레이어 보고는 즉시 이루어질 것으로 예상되지 않으며 일괄 제출이 선호됩니다.

### 매치메이킹

PlayFab Match 또는 유사한 매치메이킹 서비스의 통합은 직접적인 MPA 기능이 필요하지 않습니다. 타이틀은 참여가 불가능한 경우 매치메이킹 중에 MPA 활동의 참여 가능성을 업데이트하려고 할 수 있습니다. 모범 사례로, PlayFab Match는 PlayFab Lobby와 함께 사용되어야 합니다.

로비 사용자 ID와 마찬가지로, PlayFab Match는 API 또는 서비스 호출을 통해 활성 사용자의 XUID로 변환할 수 있는 플레이어용 크로스 네트워크 PlayFab User Entity ID를 사용합니다. 다른 플레이어의 XUID는 이러한 방식으로 검색할 수 없습니다. 로비와 유사한 해결책으로, XUID는 Lobby에서 플레이어의 사용자 지정 문자열 속성으로 제공될 수 있습니다. 이러한 문자열은 안전한 것으로 간주해서는 안 되며 위에서 PlayFab Lobby에 대해 설명한 대로 XUID에 대한 예상 PlayFab User Entity ID와 실제 PlayFab User Entity ID를 비교하여 항상 PlayFab 서비스를 통해 검증해야 합니다. 불일치는 잘못된 XUID를 나타냅니다.

매치메이킹의 경우, 안전하지 않은 문자열로 제공된 XUID는 안전하지 않으며 검증 없이는 사칭 공격으로 이어질 수 있습니다.

## 일반 모범 사례

MPA 서비스는 PlayFab Lobby 및 Match와 같은 로비 또는 매치 서비스 위에 XBOX 기능을 위한 경량 통합 지점으로 설계되었습니다. 이 통합은 경량일 수 있으며 필요한 정보와 관련 업데이트를 활동, 초대 및 최근 플레이어 기능에 반영하기 위한 특정 연결 지점에서만 수행될 수 있습니다.

또한, MPA 서비스의 통합은 서비스 간 엔드포인트도 고려해야 합니다. 게임, 멀티플레이어 및 서버 아키텍처에 따라, 직접적인 서비스 간 호출이 클라이언트 호출보다 훨씬 간단하고 안정적일 수 있습니다. 이는 종종 MMO 타이틀에 적용됩니다.

PlayFab Lobby 및 Match의 일부로 사용자 지정 문자열에 저장된 XUID 정보와 마찬가지로, 기타 사용자 지정 ID 정보도 항상 안전하지 않은 것으로 간주되고 사용 전에 검증되어야 합니다. 검증 부족은 특히 더 많은 사용자 접근 권한과 보호 기능이 있는 플랫폼을 게임플레이에 포함할 때 사칭 공격으로 이어질 수 있습니다.


## Related topics

- [Multiplayer Activity(MPA) 개념](/ko/services/xbox-services/multiplayer/mpa/concepts/live-mpa-concepts-nav.md)
- [개념](/ko/services/xbox-services/multiplayer/mpa/concepts/index.md)
- [PlayFab 통합 SDK](/ko/services/playfab/sdks/unified-sdk/overview.md)
- [PlayFab Lobby 및 Matchmaking SDK](/ko/services/playfab/multiplayer/lobby/lobby-matchmaking-sdks/lobby-matchmaking-sdks.md)
- [PlayFab Multiplayer Servers와 통합](/ko/services/playfab/multiplayer/matchmaking/multiplayer-servers.md)
