- 엔티티 프로그래밍 모델에 대한 자세한 내용은 엔티티 프로그래밍 모델을 참조하세요.
- 그룹 작동 방식은 Groups에서 확인하세요.
리더보드 만들기
게임과 시나리오의 유형에 따라 여러 리더보드를 만들게 될 가능성이 높습니다. 이 컨텍스트에서는 이 게임의 두 가지 시나리오와 각각을 처리하기 위해 서비스를 어떻게 사용하는지 보여주려 합니다.플레이어 리더보드
이 예시에는 행성을 테라포밍하고 게임 내 특정 행동을 통해 경험치를 얻는 플레이어들이 있습니다. 그래서 플레이어 수준에서 그 경험치를 추적하는 리더보드를 만들 것입니다. 이 프로세스는 기본 리더보드 만들기 같은 다른 튜토리얼에서 소개된 것과 동일한 동작을 따릅니다. 여기서 중요한 점은 EntityType 매개 변수가"title_player_account"여야 플레이어 전용이 된다는 것입니다.
그룹 리더보드
이제 예시에서 언급된 게임의 요소인 얼라이언스로 넘어갑시다. PlayFab에서"group" 엔티티를 사용하여 얼라이언스를 만들 수 있습니다. 이 그룹 엔티티는 플레이어가 가입할 수 있는 구조를 제공하며, 역할과 이런 종류의 게임 시나리오를 강화하는 다른 흥미로운 기능도 갖추고 있습니다. 리더보드를 만들 때 두 가지를 명확히 해야 합니다.
- EntityType 매개 변수는
"group"이어야 합니다. - 이 리더보드는 독립적입니다. 따라서 얼라이언스의 점수를 추가하는 작업은 플레이어 리더보드와 분리된 수동 프로세스입니다. 이 동작 덕분에 점수가 플레이어와 어떻게 연결되는지 다양한 방식이 가능하거나, 그룹에만 적용되는 새로운 지표를 사용할 수도 있습니다.
리더보드에 데이터 추가하기
두 리더보드를 만든 후에는 각각에 데이터를 어떻게 추가할지 확인해야 합니다. 앞서 이전 예시에서 언급했듯이 이 리더보드들은 서로 독립적이므로, 개발자가 얼라이언스(그룹)의 점수가 어떻게 작동하는지에 대한 사용자 지정 로직을 적용할 수 있습니다.EntityId를 제공해야 한다는 것입니다. 플레이어 리더보드가 있다면 엔티티는 "title_player_account"이며, 리더보드가 그룹으로 구성되어 있다면 "group"인 엔티티를 제공해야 합니다.
리더보드에서 데이터 검색
리더보드의 데이터를 가져오는 데는 GetFriendLeaderboard API를 제외하고 리더보드 더 활용하기에 설명된 모든 옵션을 사용할 수 있습니다.그룹 리더보드의 표시 이름
마지막으로, 그룹 리더보드에서 할 수 있는 또 다른 세부 작업은 엔티티의 그룹 이름을 표시 이름으로 설정하는 것입니다. “Raiders”라는 얼라이언스가 있다면 이 그룹 이름은DisplayName 속성을 통해 엔티티에 매핑됩니다.
CreateGroupAsync 메서드를 호출하여 그룹을 만듭니다. 이 실행의 첫 단계에서 Group 개체가 반환되며, 이를 표시 이름 설정에 사용합니다. SetDisplayNameRequest 개체로 그룹 이름을 엔티티에 매핑한 다음 PlayFabProfilesAPI.SetDisplayNameAsync 메서드를 실행하여 이 프로세스를 수행합니다.
결론
이 튜토리얼에서 우리는 다음 작업을 수행하는 방법을 배웠습니다.- 그룹 리더보드 만들기.
- 해당 리더보드에 데이터를 공급하는 방법 학습.
- 리더보드 검색.
- 그룹 이름을 표시할 수 있도록 displayName 변경.
