다음을 통해 공유


게임에서 플레이어 초대 및 참가 구현

이 문서에서는 게임에서 플레이어 초대를 구현하는 데 관련된 단계에 대한 요약을 제공합니다. 자세한 내용은 참고 항목(PlayFab)GDK(참조) 섹션의 페이지를 검토해야 합니다.

Microsoft Azure PlayFab 로비 기능을 사용하여 플레이어 초대 및 참가 구현

PlayFab은 백 엔드 논리에 중점을 두기 때문에 PlayFab API 및 서비스를 사용하여 플레이어를 게임에 초대하려면 플랫폼별 API에 비해 보다 유연한 접근 방식이 필요합니다.

초대 및 참가의 경우 PlayFab 로비 구문을 통합했는지 확인합니다.

  1. PlayFab 로비 및 매치 메이킹 SDK Azure 다운로드 및 설정: 플랫폼용 C/C++ SDK를 다운로드한 다음, 제공된 헤더 및 라이브러리 파일을 빌드에 통합합니다.

  2. 플레이어 인증: 플레이어는 게임에서 이러한 서비스에 의존하는 기능을 사용하기 전에 Xbox 서비스와 PlayFab 모두에서 인증을 받아야 합니다.

  3. 로비 유형 선택:

    • 플레이어별: 클라이언트 소유 로비를 만듭니다. 로컬 플레이어가 로비 소유자가 됩니다. PFMultiplayerCreateAndJoinLobby 함수를 사용하여 이 로비를 만듭니다.
    • 게임 서버에서: 서버 소유 로비를 만듭니다. PFMultiplayerCreateAndClaimServerLobby 함수를 사용하여 이 로비를 만듭니다.
    • 매치 메이킹에 의해: 매치 메이킹 후 형성되는 플레이어 그룹에 의해 생성됩니다. 이렇게 하면 클라이언트 소유 로비도 만들어집니다.

    이러한 로비는 플레이어가 참가할 수 있는 게임 세션 역할을 합니다.

  4. 이벤트 처리를 구현하여 초대에 대한 알림을 받습니다.

  5. 로비 참가: 플레이어는 로비에 멤버십을 부여하는 불투명 식별자인 로비의 연결 문자열 PlayFab 로비 서비스를 제공하여 로비에 참가할 수 있습니다. 플레이어는 다음과 같은 방법으로 로비에 참여할 수 있습니다.

    • 게임 내 초대 사용: 로비의 구성원은 PlayFab 로비 서비스를 통해 다른 플레이어를 해당 로비에 직접 초대할 수 있습니다. 그러면 초대된 플레이어와 로비의 연결 문자열 공유합니다. 이러한 초대는 플랫폼 간 작동하지만 게임 내에서만 작동합니다. 자세한 내용은 로비 초대를 참조하세요.
    • 플랫폼 제공 초대 사용: 로비의 구성원은 플랫폼별 초대 메커니즘을 통해 로비의 연결 문자열 다른 플레이어와 직접 공유할 수 있습니다. 이러한 초대는 플랫폼 간에서 작동하지 않지만 수신자가 이미 게임을 플레이하지 않고도 받을 수 있습니다.
    • PFLobbySendInvite 함수를 사용하여 PlayFab 로비 서비스를 통해 다른 PlayFab 사용자에게 초대를 보냅니다. 이 함수에는 로비 핸들, 보낸 사람의 엔터티 키 및 수신자의 엔터티 키가 필요합니다.
    • FindLobbies를 사용하여 사용 가능한 로비를 검색하고 사용 가능한 로비에 참가합니다.
    • 대역 외 사용자 지정 검색 메커니즘을 통해 로비의 연결 문자열 공유합니다.

    플레이어가 연결 문자열 받으면 PFMultiplayerJoinLobby 함수를 사용하여 로비에 참가할 수 있습니다. 이 함수에는 로비 연결 문자열 및 플레이어의 엔터티 키가 필요합니다.

  6. 로비 상태 관리: PFLobbyUpdatedStateChange 함수를 사용하여 플레이어 추가 또는 제거, 로비 속성 업데이트, 플레이어 준비 처리 등 로비 상태를 관리합니다.

  7. 로비 이벤트 관리: 이벤트 처리를 구현하여 로비 상태 변경에 대한 알림을 받습니다. PFMultiplayerStartProcessingLobbyStateChanges 함수 및 PFLobbyStateChange 이벤트를 사용하여 대기실의 변경 내용(예: 플레이어 참가 또는 퇴장)을 관리합니다.

참고 항목(PlayFab)

PlayFab 설명서는 최고의 정보 원본입니다. 기본 원본으로 사용합니다. 자세한 내용은 다음 문서를 참조하세요.

멀티 플레이어 활동을 사용하여 플레이어 초대 및 조인 구현

Microsoft GDK(게임 개발 키트) MPA(멀티 플레이어 활동) API 및 Xbox 서비스를 사용하여 플레이어를 게임에 초대하려면 다양한 API 기능을 사용하는 다중 단계 프로세스가 포함됩니다.

  1. Xbox 서비스 초기화: Xbox 서비스가 게임 내에서 제대로 초기화되었는지 확인합니다. 여기에는 필요한 Xbox 서비스 컨텍스트 설정이 포함됩니다.
  2. 로컬 사용자의 Xbox 사용자 ID(XUID): XUserGetId 함수를 사용하여 초대를 시작하는 로컬 플레이어의 를 검색 XUID 합니다. 초대 XUID 자를 식별하는 데 필수적입니다.
  3. 대상 사용자 식별: 초대할 플레이어의 수를 결정 XUID합니다. 이 작업은 Xbox 친구 목록, 최근 플레이어 목록 또는 기타 방법을 통해 수행할 수 있습니다.
  4. 멀티 플레이어 활동 만들기: XblMultiplayerActivitySetActivityAsync 함수를 사용하여 멀티 플레이어 활동을 만듭니다. 이 활동을 통해 다른 플레이어는 플레이어의 활동을 보고 진행 중인 게임에 참여할 수 있습니다. 멀티 플레이어 활동을 만드는 방법에 대한 자세한 내용은 활동을 참조하세요.
  5. 초대 보내기: XblMultiplayerActivitySendInvitesAsync 를 사용하여 다른 플레이어에게 초대를 보내고 멀티 플레이어 환경에 참여하도록 요청합니다.
  6. 활동 업데이트: XblMultiplayerActivitySetActivityAsync 를 사용하여 활동 속성이 변경됨에 따라 정보를 업데이트합니다.
  7. 활동 검색: XblMultiplayerActivityGetActivityAsync 를 사용하여 다른 플레이어의 활동을 검색하고 게임 내 UI에 해당 활동을 표시합니다.
  8. 최근 플레이어 관리: XblMultiplayerActivityUpdateRecentPlayers 를 사용하여 플레이어의 최근 플레이어 목록을 의미 있는 상호 작용을 한 플레이어로 업데이트합니다.
  9. 활동 삭제: 플레이어가 멀티 플레이어 환경을 종료하거나 떠날 때 XblMultiplayerActivityDeleteActivityAsync를 사용하여 활동을 삭제합니다.

참고 항목

이 속성은 connectionString MPA 로비 및 초대 솔루션으로 작업할 때 중요합니다. 이 문자열은 한 플레이어가 다른 플레이어에 연결하는 데 필요한 필수 정보를 포함하는 고유 식별자 역할을 합니다. 이 문자열은 타이틀에서만 생성되고 이해되며, 서버 IP 주소와 같은 세부 정보를 포함하는 경우가 많지만 타이틀 유연성을 허용하기 위해 자유형으로 남아 있습니다.

플레이어가 멀티 플레이어 환경을 connectionString 시작하거나 참가하면 XblMultiplayerActivityInfo 구조의 활동에 전달됩니다. XblMultiplayerActivitySetActivityAsync에 매개 변수로 전달됩니다. 이렇게 하면 다른 플레이어가 진행 중인 게임에 참여할 수 있습니다. 이 속성은 초대에도 포함되므로 플레이어가 원활하게 연결할 수 있습니다. 는 connectionString 플레이어가 올바른 세션에 참가할 수 있도록 하고 다양한 멀티 플레이어 활동 간의 원활한 전환을 용이하게 합니다.

참고 항목(GDK)

GDK 설명서는 최신 정보의 가장 좋은 소스입니다. 자세한 내용은 다음 문서 및 샘플을 참조하세요.