Share via


타이틀 데이터 빠른 시작

타이틀 데이터는 서버에서 게임의 구성 데이터를 원격으로 저장하고 관리하는 데 사용되는 일반 텍스트 키-값 쌍 집합입니다. 타이틀 전체 구성 변수를 클라이언트 측에서 검색할 수 있도록 액세스 가능하고 정리된 상태로 유지합니다.

이 빠른 시작은 타이틀 데이터를 프로그래밍 방식으로 생성하고 사용하는 방법을 설명합니다.

게임 구성 데이터를 서버에 원격으로 저장(즉 언제든지 구성이 변경될 수 있음)하는 것이 PlayFab과 같은 서비스를 사용하는 가장 기본적인 이유 중 하나이므로 이 주제는 중요하게 다뤄져야 합니다.

타이틀 데이터 가져오기

게임 클라이언트에서

PlayFabClientAPI 에서 GetTitleData를 사용해 특정 타이틀에 대한 KVP를 가져옵니다. 다음의 코드 예제는 모든 타이틀 데이터의 값을 표시합니다.

public void ClientGetTitleData() {
    PlayFabClientAPI.GetTitleData(new GetTitleDataRequest(),
        result => {
            if(result.Data == null || !result.Data.ContainsKey("MonsterName")) Debug.Log("No MonsterName");
            else Debug.Log("MonsterName: "+result.Data["MonsterName"]);
        },
        error => {
            Debug.Log("Got error getting titleData:");
            Debug.Log(error.GenerateErrorReport());
        }
    );
}

게임 서버에서

PlayFabServerAPI 에서 GetTitleData를 사용해 특정 타이틀에 대한 KVP를 가져옵니다. 다음의 코드 예제는 모든 타이틀 데이터의 값을 표시합니다.

public void ServerGetTitleData() {
    PlayFabServerAPI.GetTitleData( new GetTitleDataRequest(),
        result => {
            if (result.Data == null || !result.Data.ContainsKey("MonsterName")) Debug.Log("No MonsterName");
            else Debug.Log("MonsterName: " + result.Data["MonsterName"]);
        },
        error => {
            Debug.Log("Got error getting titleData:");
            Debug.Log(error.GenerateErrorReport());
        });
}

타이틀 데이터 설정하기

타이틀 데이터가 자주 변경되지는 않습니다. 대부분의 경우 타이틀의 수명 기간 동안 거의 변하지 않는 정적 데이터로 타이틀 데이터를 사용해야 합니다.

게임 매니저를 사용하거나 서버 API 함수를 사용하여 타이틀 데이터를 설정할 수 있습니다.

게임 관리자를 사용하여 타이틀 데이터 설정하기

게임 관리자를 사용하여 기본 타이틀 데이터를 타이틀에 추가하려면 다음 단계를 수행합니다.

  1. 게임 관리자에서 타이틀을 엽니다.
  2. 콘텐츠를 선택한 다음 타이틀 테이터를 선택합니다.
  3. 새 타이틀 데이터를 선택합니다.
  4. 새 타이틀 데이터 페이지에서 에 대한 값을 입력합니다. 모두 문자열로 저장됩니다.
  5. 저장 버튼을 사용해 새 데이터 아이템을 저장합니다.

스크린샷은 새 타이틀 데이터를 보여줍니다.

타이틀 데이터 스크린샷

C#에서 서버 API를 호출하여 타이틀 데이터 설정하기

SetTitleData API는 전용 서버에서 호출해야 하는 서버 API입니다. SetTitleData의 각 호출에 대해 하나의 타이틀 데이터 KVP만 설정할 수 있습니다.

public void SetTitleData() {
    PlayFabServerAPI.SetTitleData(
        new SetTitleDataRequest {
            Key = "MonsterName",
            Value = "Dorf"
        },
        result => Debug.Log("Set titleData successful"),
        error => {
            Debug.Log("Got error setting titleData:");
            Debug.Log(error.GenerateErrorReport());
        }
    );
}

게임 관리자를 사용하여 타이틀 데이터 재정의 설정하기

재정의는 JSON 키-값 쌍 세트이며 기본 타이틀 데이터의 키-값 쌍에 필요한 델타 변경을 소유하는 것이 좋습니다. 델타 변경은 기본 타이틀 데이터를 새 키-값으로 비교할 때 키-값 쌍으로 구성되거나, 기존 키 값 변경 또는 키 삭제(NULL을 값의 입력으로 사용)로 구성될 수 있습니다.

기본 타이틀 데이터에 재정의를 추가하려면 다음 단계를 수행합니다.

  1. 게임 관리자에서 타이틀을 엽니다.
  2. 콘텐츠를 선택한 다음 타이틀 테이터를 선택합니다.
  3. 새 재정의를 선택합니다.
  4. 재정의 레이블을 입력하고 값과 에 대한 값을 입력합니다. 키와 값 모두 문자열로 저장됩니다.
  5. 저장 단추를 사용해 새 타이틀 데이터 재정의를 저장합니다.

참고 항목

이 재정의 키/값 쌍 집합은 현재 실험을 사용해야만 적용됩니다. 플레이어가 타이틀 데이터 재정의를 포함하는 실험 변형에 속하는 경우 재정의는 서버 쪽에 자동으로 적용되고 클라이언트 쪽의 타이틀 데이터와 함께 반환됩니다. 타이틀 데이터 재정의 값은 새로 고치고 유지하는 데 최대 1분이 걸릴 수 있습니다.

스크린샷은 새 타이틀 데이터 재정의를 보여줍니다.

스크린샷은 새 타이틀 데이터 재정의 설정 방법을 보여줍니다.

스크린샷은 타이틀 데이터 및 재정의를 보여줍니다.

내부 타이틀 데이터

사용자 데이터와 마찬가지로, 타이틀 데이터에는 클라이언트에게는 숨겨진 내부 저장소가 있습니다. 이 데이터도 게임 관리자 또는 서버 API를 통해 설정할 수 있습니다.

C#에서 서버 API를 호출하여 내부 타이틀 데이터 가져오기

public void GetTitleInternalData()
{
    PlayFabServerAPI.GetTitleInternalData( new GetTitleDataRequest(),
        result => {
            if (result.Data == null || !result.Data.ContainsKey("PlayFab")) Debug.Log("No PlayFab");
            else Debug.Log("PlayFab: " + result.Data["PlayFab"]);
        },
        error => {
            Debug.Log("Got error getting titleData:");
            Debug.Log(error.GenerateErrorReport());
        }
    );
}

C#에서 서버 API를 호출하여 내부 타이틀 데이터 설정하기

public void SetTitleInternalData() {
    PlayFabServerAPI.SetTitleInternalData(
        new SetTitleDataRequest {
            Key = "PlayFab",
            Value = "{ \"Status\": \"Secretly Awesome\" }"
        },
        result => { Debug.Log("Set titleData successful"); },
        error =>
        {
            Debug.Log("Got error setting titleData:");
            Debug.Log(error.GenerateErrorReport());
        });
}

참고 항목