참고 항목
PlayFab API에서 함수 이름은 UserData라는 용어를 사용합니다. 게임 관리자에서 이 개념은 플레이어 데이터로 설명됩니다. 동일하며 서로 교환할 수 있습니다.
PlayFab 플레이어 데이터를 시작합니다. 이 빠른 시작에서는 Unity의 C# 및 PlayFab CloudScript를 사용하여 플레이어 데이터를 설정하고 검색하는 방법을 보여줍니다.
플레이어 데이터는 개별 플레이어 또는 플레이어 그룹(공유 데이터)에 적용되는 정보이며 PlayFab에서 KVP(키/값 쌍)로 저장됩니다. 이 문서에서는 모든 프로세스나 컨텍스트에서 안전하게 호출할 수 있는 클라이언트 API 호출을 다룹니다. 또한 서버 API 호출에 대해서도 다루며 제어하는 전용 서버 프로세스에서‘만’ 만들거나 안전하게 보호되는 CloudScript 호출이어야 합니다. 서버 API에는 개발 비밀 키가 필요합니다. 클라이언트에 키를 제공하거나 게시하면 안 됩니다.
요구 사항
- PlayFab 개발자 계정입니다.
- 설치된 Unity 편집기 복사본. Unity Hub를 통해 개인용 Unity를 설치하거나 전문가용 Unity+를 설치하려면 Unity 다운로드를 참조하세요.
참고 항목
PlayFab Unity3D SDK는 Unity 편집기 버전 5.3(2015년 12월 릴리스) 이상을 지원합니다.
- Unity 프로젝트는 다음과 같습니다.
- 새로운 프로젝트. 자세한 내용은 처음으로 Unity 시작을 참조하세요.
- 단계별 자습서 프로젝트. 자세한 내용은 Unity 시작하기를 참조하세요.
- 기존 프로젝트.
- PlayFab Unity3D SDK
PlayFab Unity3D SDK 설정에 대한 자세한 내용은 Unity 문서에서 빠른 시작: C#용 PlayFab 클라이언트 라이브러리를 참조하세요. 이 문서에서는 PlayFab 계정이 있고 Unity3D SDK를 올바르게 구성했는지 확인합니다.
코드 예제 정보
이 문서의 C# 샘플은 Unity SDK용으로 작성되었습니다. Unity SDK는 이벤트 기반 모델을 사용하여 비동기 작업을 처리합니다. C# SDK를 사용하여 샘플 코드를 실행하려면 비동기 작업 모델을 사용하도록 코드를 수정해야 합니다. 수정해야 하는 메서드에는 서명의 메서드 이름에 Async가 추가됩니다. 예를 들어 Unity SDK의 SetObject는 C# SDK에서 SetObjectAsync가 됩니다. 자세한 내용은 async 및 await를 사용한 비동기 프로그래밍을 참조하세요.
기존 Unity 프로젝트를 사용할 수 있지만 이 빠른 시작에서는 Unity 빠른 시작: C#용 PlayFab 클라이언트 라이브러리를 완료할 때 만든 샘플을 사용하고 있다고 가정합니다.
게임 관리자의 플레이어 데이터
다음 단계를 수행하여 게임 관리자를 통해 항상 플레이어 데이터를 가져오고 설정할 수 있습니다.
- 게임 관리자를 엽니다. 이에 대해 익숙하지 않은 경우 게임 관리자 빠른 시작을 참조하세요.
- 플레이어 탭을 선택합니다.
- 플레이어 계정 탭에 액세스할 플레이어의 이름을 선택합니다.
- 플레이어 데이터 탭을 선택하여 해당 데이터를 봅니다.
플레이어 데이터를 설정하고 플레이어 데이터를 검색하는 메서드 추가
Unity 편집기에서 샘플 프로젝트를 엽니다.
프로젝트 창에서 자산>스크립트를 연 다음 PlayFabLogin 스크립트를 엽니다.
Visual Studio에서 using 문에 다음을 추가합니다.
using System.Collections.Generic;플레이어 데이터를 설정하려면
PlayFabLogin클래스에SetUserData메서드를 추가합니다.SetUserData은(는) UpdateUserData 메서드를 사용하여 로그인한 플레이어의 플레이어 데이터를 만들거나 업데이트합니다.이 메서드는 값이
Arthur인Ancestor와 값이Fred인Successor의 KVP(키 값 쌍)를 만들거나 업데이트(KVP가 이미 있는 경우)합니다.void SetUserData() { PlayFabClientAPI.UpdateUserData(new UpdateUserDataRequest() { Data = new Dictionary<string, string>() { {"Ancestor", "Arthur"}, {"Successor", "Fred"} } }, result => Debug.Log("Successfully updated user data"), error => { Debug.Log("Got error setting user data Ancestor to Arthur"); Debug.Log(error.GenerateErrorReport()); }); }플레이어 데이터를 가져오려면
PlayFabLogin클래스에GetUserData메서드를 추가합니다.SetUserData은(는) GetUserData 메서드를 사용하여 지정된 플레이어의 플레이어 데이터를 검색합니다.void GetUserData(string myPlayFabId) { PlayFabClientAPI.GetUserData(new GetUserDataRequest() { PlayFabId = myPlayFabId, Keys = null }, result => { Debug.Log("Got user data:"); if (result.Data == null || !result.Data.ContainsKey("Ancestor")) Debug.Log("No Ancestor"); else Debug.Log("Ancestor: "+result.Data["Ancestor"].Value); }, (error) => { Debug.Log("Got error retrieving user data:"); Debug.Log(error.GenerateErrorReport()); }); }메서드에서 및
GetUserData를 호출SetUserData합니다OnLoginSuccess.private void OnLoginSuccess(LoginResult result) { Debug.Log("Congratulations, you made your first successful API call!"); SetUserData(); GetUserData(result.PlayFabId); }파일을 저장합니다.
샘플 실행
Unity 편집기에서 재생 단추를 선택합니다. 성공하면 호출 결과가 콘솔 창에 표시됩니다.