메인 콘텐츠로 건너뛰기
이 빠른 시작은 코드 스니펫과 함께 PlayFab Party의 핵심 기능을 설명합니다. PlayFab Party는 처음부터 크로스 플랫폼으로 설계되었습니다. 이 빠른 시작 문서는 동일한 방식으로 구성되어 있으며, 대부분의 정보는 모든 플랫폼에 적용되고 플랫폼별 사전 요구 사항과 단계는 링크된 문서에서 설명됩니다. 더 깊이 있는 이해를 위해 링크된 참조 및 개념 문서와 플랫폼별 샘플 애플리케이션을 참조하세요.
이 빠른 시작 가이드는 C++ Party SDK 사용을 다룹니다. * Unity 사용자의 경우 Unity 빠른 시작을 참조하세요. * Unreal Engine용 PlayFab Online Subsystem을 사용하려는 Unreal Engine 사용자는 Unreal 빠른 시작을 참조하세요.

사전 요구 사항

PlayFab 계정이 필요하며 Party 사용을 시작하려면 Party 기능을 반드시 활성화해야 합니다.
  1. PlayFab 계정을 만들거나 로그인합니다. 자세한 내용은 빠른 시작: Game Manager를 참조하세요.
  2. PlayFab 계정에서 Game Manager를 통해 Party 기능을 활성화합니다.

플랫폼 사전 요구 사항

이 빠른 시작을 시작하기 전에 다음 항목에 지정된 필요한 플랫폼별 설정을 수행합니다.
  1. Android 사전 요구 사항
  2. iOS 및 macOS 사전 요구 사항
  1. Linux 사전 요구 사항
플랫폼별 단계를 완료하면 이 항목의 나머지 단계를 계속하여 PlayFab Party를 설정합니다.

Party SDK 다운로드 및 설정

플랫폼과 게임 엔진마다 Party SDK가 있습니다. 필요한 것을 선택하고 다운로드하세요. 다운로드 링크는 Party SDK를 참조하세요. SDK를 설치한 후에는 코드를 작성하기 전에 샘플을 실행하여 Party가 작동하는 방식을 확인할 수 있습니다. 샘플을 다운로드하려면 Party 샘플로 이동하세요. XBOX 및 PC 타이틀에서 Party를 사용하는 경우 일관된 기능과 동작을 보장하기 위해 Party XBOX Live Helper Library 사용을 권장합니다. 이 라이브러리는 타이틀이 XBOX Live 요구 사항을 충족하는 데 도움이 됩니다. 자세한 내용은 XBOX requirements를 참조하세요.

PlayFab 타이틀에 로그인하고 엔터티 토큰과 엔터티 ID 획득

Party를 초기화하고 사용하려면 PlayFab에 로그인해야 합니다. PlayFabClientAPI::LoginWithCustomID 또는 플랫폼별 로그인 메서드를 사용할 수 있습니다. 로그인을 수행하면 PlayFab은 LoginResult의 일부로 엔터티 ID와 엔터티 토큰을 반환합니다. 이 두 가지 주요 정보는 PlayFab Party의 로컬 사용자 인스턴스를 초기화하는 데 사용됩니다. PlayFabManager.cpp에 구현된 사용자 지정 ID로 로그인하는 예제가 이 코드 스니펫에 표시되어 있습니다.
PlayFab에서 엔터티 ID와 엔터티 토큰을 성공적으로 얻으면 Party 활성화 및 초기화를 진행할 수 있습니다.
XBOX Live를 사용하는 경우 로그인에 Party XBOX Live Helper Library도 사용할 수 있습니다.

PlayFab Party 초기화

상위 수준에서 Party 초기화에는 다음 단계가 포함됩니다.
  1. PartyManager에 대한 싱글톤 참조를 가져오고 초기화합니다.
    이는 Party 라이브러리와 상호 작용하기 위한 기본 관리 클래스입니다.
  1. 로컬 사용자 객체를 만듭니다.
    이 로컬 사용자 객체는 네트워킹 및 채팅 작업을 수행할 때 디바이스(PC, 콘솔, 전화 등)의 로컬 사용자를 나타내는 데 사용됩니다. 로컬 사용자 객체는 PlayFab Entity ID로 초기화됩니다.
  1. 채팅 컨트롤을 만들고 Party가 데이터를 수신하거나 전달할 오디오 입력 및 출력 채널을 설정합니다.
    채팅 컨트롤 객체는 특정 디바이스의 사용자에 대한 채팅 작업을 관리합니다.
  1. 텍스트 변환 및 번역 옵션을 설정합니다.
    텍스트 변환 및 번역은 게임의 접근성을 크게 향상시킬 수 있는 선택적 채팅 기능입니다. 이러한 기능에 대한 자세한 내용은 채팅 개요에서 확인할 수 있습니다.
이 시점에서 애플리케이션이나 게임에 PlayFab Party가 초기화되었습니다. 완전한 샘플은 데모 앱의 NetworkManager.cpp에 있는 NetworkManager::Initialize() 코드를 참조하세요. 다음 단계는 Party 네트워크를 만들고 연결하는 것입니다.

Party 네트워크 생성

Party 네트워크는 채팅 또는 데이터 통신을 교환하기 위해 게임이 만든 하나 이상의 디바이스와 그 승인된 사용자의 보안 모음입니다. Party 네트워크는 일반적으로 게임의 멀티플레이어 세션이나 채팅 “lobby” 개념과 일치합니다. 자신의 네트워크 내부의 플레이어에게만 메시지를 보낼 수 있습니다. 다음 코드 스니펫은 Party 네트워크를 만드는 방법을 보여줍니다.
CreateNewNetwork() 함수 호출이 성공하면 네트워크 설명자 PartyNetworkDescriptor 객체가 반환/채워집니다. 설명자에는 다른 플레이어가 네트워크에 연결하는 데 필요한 데이터가 포함되어 있습니다. 기타 함수 매개 변수에 대한 정보는 API 참조 문서를 참조하세요. Party 네트워크가 만들어지면 초대를 사용하여 어떤 사용자가 네트워크에 참가할 수 있는지 제어합니다. PlayFab Matchmaking, PlayFab Lobby, 플랫폼 초대 또는 사용자 지정 게임 서비스를 사용하여 다른 플레이어와 연결 세부 정보를 공유할 수 있습니다. 가장 간단한 초대 유형은 네트워크 설명자로 구성된 열린 초대입니다. 모든 초대 유형과 보안 모델에 대한 자세한 내용은 초대 및 보안 모델을 참조하세요.

Party 네트워크 설명자 공유

이 시점에서 party 네트워크 설명자가 있으며 다른 플레이어와 공유할 준비가 되었습니다. 이 정보를 공유하는 데 사용할 수 있는 많은 동기화 메커니즘이 있지만, 빠른 테스트 목적으로 호스트 Party 세션에서 게스트 Party 세션으로 Party 네트워크 설명자를 수동으로 복사하여 붙여넣을 수 있습니다. 멀티플레이어 게임에서 네트워크 설명자를 공유할 때는 PlayFab Lobby 사용을 권장하지만, 게임의 요구에 따라 자체 lobby 서비스, 초대 또는 기타 공유 메커니즘을 사용할 수도 있습니다.

Party 네트워크 설명자 수동 공유

  1. 호스트 세션에서 PartyManager::SerializeNetworkDescriptor()를 사용하여 네트워크 설명자를 문자열로 직렬화하고 콘솔에 인쇄합니다.
  2. 네트워크 설명자 문자열을 로컬 또는 원격의 다른 게임으로 복사하여 붙여넣습니다.
  3. 게스트 세션에서 PartyManager::DeserializeNetworkDescriptor()를 사용하여 네트워크 설명자 문자열에서 네트워크 설명자를 역직렬화합니다.
  4. Party 네트워크에 연결합니다.

PlayFab Lobby를 사용하여 Party 네트워크 설명자 공유

PlayFab Lobby는 플레이어가 매치에 들어가고 나갈 때 플레이어를 임시로 그룹화하는 데 사용할 수 있으며, 플레이어가 동일한 네트워크에 참가할 수 있도록 네트워크 설명자를 동기화하는 데 사용할 수 있습니다. PlayFab Lobby는 모든 지원되는 플랫폼과 플랫폼 전반에서 다양한 게임 플레이 요구를 지원하도록 매우 사용자 지정할 수 있습니다. 실시간 메시지와 함께 PlayFab Lobby 사용에 대한 자세한 내용은 Multiplayer SDK Quickstart를 참조하세요. PlayFab Lobby와 PlayFab Party를 함께 사용하는 방법에 대한 자세한 내용은 PlayFab Multiplayer SDK로 lobby 만들기를 참조하세요.

확장 가능한 네트워크 활성화

PlayFab Party 네트워크는 2에서 128개 사이의 디바이스를 지원하도록 확장할 수 있습니다. 서비스는 시나리오에 최적화된 릴레이 구성을 선택하므로 PartyNetworkConfiguration의 maxDeviceCount를 네트워크의 예상 최대 디바이스 수와 일치하도록 구성하는 것이 중요합니다. 확장 가능한 네트워크에 대한 설명은 확장 가능한 네트워크를 참조하세요.

Party 네트워크에 연결

Party 네트워크 설명자를 얻은 후 party 네트워크에 참가하려면 아래 단계를 따르세요.
  1. PartyManager::DeserializeNetworkDescriptor()를 사용하여 네트워크 설명자 문자열에서 네트워크 설명자를 역직렬화합니다.
  2. Party 네트워크에 연결합니다.
  3. 네트워크에 대해 로컬 사용자를 인증합니다.
  4. VOIP를 사용할 수 있도록 로컬 채팅 컨트롤을 네트워크에 연결합니다.
  5. 게임 메시지 트래픽에 대한 Party 네트워크 엔드포인트를 설정합니다.

다른 네트워크 디바이스 또는 엔드포인트로 메시지 보내기

Party 네트워크에 연결하면 로컬 엔드포인트 객체를 사용하여 메시지를 보낼 수 있습니다.
전체 코드는 NetworkManager.cpp에서 확인할 수 있습니다.

메시지 수신 및 로컬 디바이스에서 렌더링

마지막 단계는 원격 Party 구성원이 보낸 메시지를 수신하고 디바이스에서 렌더링(재생)하는 것입니다.
이전 단계 중 하나에서 채팅 컨트롤을 만드는 동안 Party가 오디오 데이터를 보내고, 받고, 렌더링하는 데 사용하는 오디오 입력 및 출력 디바이스를 이미 설정했습니다. 오디오 메시지를 받으려면 오디오가 흐르도록 각 채팅 컨트롤 간에 적절한 채팅 권한을 설정해야 합니다. 기본적으로 채팅 권한은 NONE으로 설정되어 있습니다. 자세한 내용은 채팅 권한 문서를 참조하세요.
Party 계층의 다른 메시지 처리는 전용 업데이트 스레드나 고주파 게임 루프에서 수행하는 것이 가장 좋습니다. 게임 루프는 매 프레임 실행되고 StartProcessingStateChanges() 함수를 통해 Party Manager에서 메시지를 수신하도록 설정되어야 합니다. 모든 상태 변경에 대한 완전한 설명은 Party 참조 문서를 참조하세요. 또는 각 상태 변경을 처리하는 방법의 예는 NetworkManager.cpp를 참조하세요.

타이틀 일시 중단 처리

일부 플랫폼은 타이틀 실행의 임시 일시 중단을 지원합니다: iOS, Switch 및 GDK. 타이틀이 일시 중단되면 네트워크 스택이 무효화되고 PlayFab Party는 PlayFab Party 네트워크에 대한 연결을 유지할 수 없습니다. PlayFab Party를 사용할 때 타이틀 실행의 일시 중단 및 재개를 처리하기 위해 특별한 고려가 필요합니다.

iOS

iOS에서는 PlayFab Party 네트워크를 나가고 다시 연결해야 합니다. Party 네트워크를 나가려면 LeaveNetwork()를 호출합니다. 네트워크가 다시 활성화된 후에는 이전 Party 네트워크 설명자와 함께 ConnectToNetwork()를 호출합니다.

Switch 및 GDK

Nintendo Switch 및 Microsoft GDK에서는 타이틀 실행이 재개될 때까지 기다린 후 PlayFab Party를 다시 초기화하고 네트워크에 다시 연결하기 위해 PlayFab Party를 정리해야 합니다. Party를 종료하려면 Cleanup()을 호출합니다.
Cleanup() 호출은 모든 라이브러리 리소스를 회수하고 모든 라이브러리 객체를 소멸시킵니다. Party를 다시 초기화한 후에는 로컬 사용자 및 채팅 컨트롤과 같은 라이브러리 객체를 다시 만들고, 로컬 사용자를 다시 인증하고, 채팅 컨트롤을 다시 연결하고, 엔드포인트를 다시 만들어 이전 네트워크 상태를 다시 설정해야 합니다.
네트워크가 다시 활성화된 후에는 Initialize()를 호출합니다. Party가 성공적으로 초기화되면 이전 PlayFab Party 네트워크에 다시 성공적으로 참가하기 위해 다음 단계가 필요합니다.
  1. 이전 Party 네트워크 설명자와 함께 Party 네트워크에 연결합니다.
  2. 로컬 사용자 객체를 다시 만들고 해당 로컬 사용자를 네트워크에 다시 인증합니다.
  3. VOIP를 활성화하기 위해 로컬 채팅 컨트롤을 다시 만들고 해당 채팅 컨트롤을 네트워크에 다시 연결합니다.
  4. 게임 메시지 트래픽을 위한 Party 네트워크 엔드포인트를 다시 만듭니다.
재연결이 성공적으로 완료되면 party는 이제 다른 피어와 통신할 수 있게 되지만, 이전 네트워크가 더 이상 존재하지 않으면 재연결이 실패합니다. 이 경우 적절한 연결 오류를 처리해야 합니다.

다음 단계

게임이 이러한 기능을 최대한 활용할 수 있도록 PlayFab Party 객체와 그 관계에 대해 자세히 알아보고 Party API 참조 문서를 참조하세요. 더 많은 XBOX 특정 지침은 XBOX Requirements를 미리 그리고 자주 참조하세요.

함께 보기

마지막 수정일 2026년 10월 20일