튜토리얼: 플레이어 프로필 가져오기
이 튜토리얼에서는 다음을 배웁니다:[!div class=“checklist”] * 표시 이름으로 사용자 만들기 * 플레이어 프로필 호출 만들기 * 플레이어 생성 시간 및 마지막 로그인 시간 가져오기 * 타이틀에 대한 플레이어 프로필 보기 제약 조건 구성 * 로그인 작업을 통해 플레이어 프로필 가져오기
요구 사항
- PlayFab 개발자 계정.
- Unity Editor의 설치된 사본. Unity Hub를 통해 개인용으로 Unity를 설치하거나 전문 용도로 Unity+를 설치하려면 Unity 다운로드를 참조하세요.
PlayFab Unity3D SDK는 Unity Editor 버전 5.3(2015년 12월 출시) 이상을 지원합니다.
- Unity 프로젝트 * 다음 중 하나일 수 있습니다:
- 완전히 새로운 프로젝트. 자세한 내용은 Unity 처음 시작하기를 참조하세요.
- 가이드 튜토리얼 프로젝트. 자세한 내용은 Unity 시작하기를 참조하세요.
- 기존 프로젝트.
- PlayFab Unity3D SDK.
GetPlayerProfile을 수행할 수 있습니다.
Game Manager에 익숙하지 않은 경우 Game Manager 빠른 시작을 읽어 보는 것도 좋습니다. Game Manager는 프로필 제약 조건을 구성하는 곳입니다.
이 문서의 C# 샘플은 Unity SDK용으로 작성되었습니다. Unity SDK는 이벤트 기반 모델을 사용하여 비동기 작업을 처리합니다. C# SDK를 사용하여 샘플 코드를 실행하려면 async Task 모델을 사용하도록 코드를 수정해야 합니다. 수정해야 하는 메서드는 서명의 메서드 이름에 Async가 추가되어 있습니다. 예를 들어, Unity SDK의 SetObject는 C# SDK에서 SetObjectAsync가 됩니다. 자세한 내용은 async 및 await를 사용한 비동기 프로그래밍을 참조하세요.
표시 이름으로 사용자 만들기
첫 번째 단계는 플레이어를 만들고 사용자에게 표시 이름을 추가하는 것입니다. 이 예제에서는 표시 이름이UnicornTossMaster인 새 사용자를 만듭니다.
플레이어 프로필 호출 만들기
다음 단계는 플레이어를 위한 매우 기본적인 프로필을 만드는 것입니다. 다음 예제는 기본 GetPlayerProfile 호출을 사용합니다.UnicornTossMaster를 포함하는 PlayerProfileModel 개체가 포함됩니다.
플레이어 생성 시간 및 마지막 로그인 시간 가져오기
PlayerProfileModel 개체에는 플레이어에 대한 상당한 양의 데이터가 있습니다. 이전 단계에서GetPlayerProfile이 발행되었으며, 받은 응답에는 표시 이름 정보만 포함되었습니다.
다음 단계는 플레이어에 대해 더 많은 프로필 데이터를 가져오는 것입니다. 이를 위해 PlayerProfileViewConstraints 요청 매개변수에서 추가 필드로 GetPlayerProfile을 호출하세요.
다음 C# 예제는 2단계의 GetPlayerProfile 메서드를 수정하고 ProfileConstraints에서 플래그를 설정하여 Created 및 LastLogin 필드를 요청하도록 GetPlayerProfile을 호출합니다.
이 단계에서는 호출이 실패합니다!!!
Error Code 1303으로 오류가 반환됩니다. RequestViewConstraintParamsNotAllowed이며, 타이틀에 현재 설정된 제약 조건의 JSON 출력과 함께 Invalid view constraints가 있다는 오류 메시지가 표시됩니다.
이 오류는 타이틀의 프로필 제약 조건 설정에서 Created 및 LastLogin을 표시할 수 있는 기능을 아직 구성하지 않았기 때문에 발생합니다.
타이틀에 대한 플레이어 프로필 보기 제약 조건 구성
GetPlayerProfile API를 호출할 때 더 많은 데이터를 가져오려면 사용 가능하도록 데이터에 대한 제약 조건을 구성해야 합니다. 이러한 설정은 Game Manager의 타이틀 설정에 있습니다. 기본적으로 ALLOW CLIENT ACCESS TO PROFILE PROPERTIES: 에는 Display name만 활성화되어 있어 Display Name 값을 검색할 수 있었습니다. 타이틀에 추가 제약 조건을 구성하려면:- Game Manager에서 타이틀을 선택합니다.
- 왼쪽 상단의 기어 아이콘을 선택한 다음 Title settings을 선택합니다.
- Client Profile Options 탭을 선택합니다.
- ProfileConstraints에서 Created와 LastLogin을 모두 활성화하려면 Creation date와 Last login time을 선택한 다음 SAVE CLIENT PROFILE OPTIONS를 선택합니다.
CreatePlayerAndUpdateDisplayName을 호출하면 사용자의 생성 시간, 마지막 로그인 및 UnicornTossMaster의 표시 이름에 대한 데이터가 포함된 PlayerProfileModel 개체가 반환됩니다.
로그인 작업을 통해 플레이어 프로필 가져오기
대부분의 경우 플레이어가 로그인하는 즉시 플레이어 프로필 데이터를 검색하려고 합니다. PlayFab API를 사용하면 로그인 호출과 플레이어 프로필 검색 호출을 단일 호출로 결합할 수 있습니다. 다음 예제는 로그인 요청을 통해 프로필 정보를 얻는 방법을 보여주며, 예제로LoginWithCustomId를 사용합니다.
이것은 모든 로그인 메커니즘에서 작동합니다.
