원격 설정(Remote Settings)
Unity 프로젝트에서 원격 설정 사용

원격 설정 생성 및 변경(Creating and changing Remote Settings)

원격 설정을 사용하기 전에 Unity 프로젝트에 Unity 서비스Unity 애널리틱스 서비스를 먼저 활성화해야 합니다. 애널리틱스를 활성화한 후 애널리틱스 대시보드를 열고 Remote Settings 탭으로 이동하여 원격 설정 값을 생성하고 변경합니다. 게임 또는 애플리케이션의 원격 설정 값에 액세스하는 방법에 대해 알아보려면 Unity 프로젝트의 원격 설정 사용을 참조하십시오.

애널리틱스 서비스는 다음 두 가지 원격 설정을 제공합니다.

  1. 애널리틱스 서비스는 릴리스 설정을 애플리케이션의 일반 비개발 빌드를 실행하는 컴퓨터 또는 디바이스로 전송합니다.

  2. 애널리틱스 서비스는 개발 설정을 개발 빌드(즉, 빌드 설정 창에서 개발 빌드 플래그가 체크된 상태에서 생성된 빌드)를 실행하는 컴퓨터 및 디바이스로 전송합니다. Unity 에디터의 재생 모드는 개발 빌드로 간주됩니다.

Raging Bots라는 게임의 애널리틱스 대시보드에 있는 원격 설정 탭
Raging Bots라는 게임의 애널리틱스 대시보드에 있는 원격 설정 탭

각 원격 설정은 키, 기본값, 세그먼트 값(선택 사항)으로 구성됩니다. 설정에 세그먼트 값이 포함된 경우 현재 플레이어가 속해 있는 세그먼트에 따라 설정에 포함되는 값이 결정됩니다. 두 개 이상의 세그먼트가 해당될 경우 우선 순위가 가장 높은 세그먼트의 값이 설정에 포함됩니다.

설정당 200개의 값을 생성할 수 있습니다. 한 개의 세그먼트가 있는 설정은 하나의 값을 사용하고, 두 개의 세그먼트가 있는 설정은 두 개의 값을 사용하는 식입니다.

이름 및 값 규칙 설정

개별 원격 설정은 키-값 쌍입니다. 키 이름 규칙은 다음과 같습니다.

  • 키 이름은 같은 설정 안에서는 고유해야 합니다.

  • 키 이름은 문자로 시작해야 합니다.

  • 키 이름에는 문자, 숫자, “.”, “_”, “-” 문자만 사용할 수 있습니다.

설정 값은 Int, Float, String, Bool 기본 타입 중 하나일 수 있습니다. 값 설정 규칙은 다음과 같습니다.

  • Int 값은 32비트 정수(–2147483648에서 2147483647)입니다.

  • Float 값은 단일 정밀도, 32비트 부동 소수점 숫자(약 –3.4x1038에서 3.4x1038)입니다.

  • 스트링은 1,024자로 제한됩니다.

  • “true” 또는 “false” 문자열로 부울 값을 지정해야 합니다.

원격 설정 추가

원격 설정을 추가하는 방법은 다음과 같습니다.

  1. 애널리틱스 대시보드 에서 Remote Settings 탭을 엽니다.

  2. 설정의 Configuration__에서 Release__ 또는 __Development__를 설정합니다.

  3. 설정 목록 상단에 있는 ADD NEW KEY-VALUE 를 클릭합니다.

  4. 키 이름을 입력합니다.

  5. 값 타입을 설정합니다.

  6. 기본값을 입력합니다.

  7. Save 버튼을 클릭합니다.

  8. Sync 버튼을 클릭하여 변경 사항을 퍼블리시합니다. 각 개별 설정을 생성한 후에 매번 Sync 버튼을 클릭하지 않아도 됩니다. 현재 설정에 모든 변경 사항을 적용한 후에 설정을 동기화해도 됩니다.

참고: 타겟 세그먼트가 서로 다른 값을 추가하려면 기본 키-값 설정을 저장한 다음 편집하십시오. 세그먼트 옵션은 첫 설정을 생성할 때 표시되지 않고 설정을 편집할 때만 표시됩니다.

원격 설정 편집

원격 설정을 편집하는 방법은 다음과 같습니다.

  1. Analytics 대시보드에서 Remote Settings 탭을 엽니다.

  2. Release 또는 Development Configuration 을 선택합니다.

  3. 변경할 설정 옆의 편집 아이콘을 클릭합니다.

  4. 변경 사항을 적용합니다. 키 이름을 변경하면 이전 키를 삭제하고 새로운 키를 생성하는 것과 효과가 같습니다.

  5. Save 버튼을 클릭합니다.

  6. Sync 버튼을 클릭하여 변경 사항을 퍼블리시합니다. 그 후에 플레이어가 세션을 시작하면 Unity 에디터에서 업데이트된 설정을 읽어옵니다.

동시 편집 문제 해결

팀원 두 명이 프로젝트의 원격 설정을 동시에 편집하고 수정된 설정을 서비스와 동기화하려고 하면 충돌이 발생합니다.

프로젝트를 편집하는 동안 다른 사람이 프로젝트 설정을 변경했음을 알리는 경고
프로젝트를 편집하는 동안 다른 사람이 프로젝트 설정을 변경했음을 알리는 경고

충돌이 발생하면 다음 옵션 중에서 선택할 수 있습니다.

OVERWRITE

마지막 동기화 후에 서비스에 적용된 변경 사항을 모두 폐기하고 현재 설정을 서비스로 푸시합니다. 덮어쓰기를 선택하면 서비스의 설정이 현재 설정과 정확하게 일치합니다.

MERGE

현재 설정과 서비스에서 수정된 설정을 병합하고 동기화 작업을 완료하기 전에 어떤 변경 사항을 적용할지 선택할 수 있습니다.

같은 설정 값을 편집하면 현재 수정한 변경 사항이 서비스의 버전을 덮어씁니다. 또한 서비스에서 삭제한 값과 설정이 (사용자 버전에 아직 있으므로) 복원됩니다. 그렇지 않은 경우 마지막 동기화 후에 서비스에서 변경된 사항이 유지됩니다.

병합 후에 원격 설정 페이지가 업데이트되어 병합이 반영되지만, 병합된 설정이 서버로 푸시되지는 않습니다. 업데이트된 변경 사항을 검토하고, 모든 준비가 완료되면 Sync 버튼을 다시 클릭하여 동기화할 수 있습니다.

CANCEL

동기화 작업을 취소하는 동시에 변경 사항을 적용하지 않고 충돌 다이얼로그를 닫습니다. 설정이 서비스에 저장되지 않습니다.

세그먼트마다 다른 값 추가

여러 세그먼트 값을 원격 설정 키 하나에 할당할 수 있습니다. 플레이어가 특정 값이 있는 세그먼트 중 하나에 속해 있는 경우, Unity 에디터에서 해당 값을 기본값인 All Users 값 대신 플레이어에게 전송합니다. 플레이어가 여러 세그먼트 값에 해당하는 경우 Unity 에디터에서 우선 순위가 가장 높은 세그먼트의 값을 전송합니다.

특정 세그먼트에만 해당하는 값을 설정하는 방법은 다음과 같습니다.

  1. Analytics 대시보드에서 Remote Settings 탭을 엽니다.

  2. Release 또는 Development Configuration을 선택합니다.

3, 원격 설정이 아직 없는 경우 원격 설정을 추가합니다.

  1. 설정의 맨 오른쪽에 있는 편집 아이콘을 클릭합니다.

  2. ADD EXISTING SEGMENT 를 클릭합니다.

  3. 새 행의 드롭다운 목록에서 세그먼트를 선택하고 값을 입력합니다.

  4. Save 버튼을 클릭합니다.

원격 설정 삭제

원격 설정을 삭제하려면 먼저 설정 편집 뷰를 열어야 합니다.

  1. Analytics 대시보드에서 Remote Settings 탭을 엽니다.

  2. 설정의 Configuration__에서 Release__ 또는 __Development__를 설정합니다.

  3. 삭제할 설정 옆의 편집 아이콘을 클릭하여 편집 뷰를 엽니다.

  4. 특정 세그먼트의 값을 삭제하려면 편집 뷰 오른쪽의 빼기(-) 버튼을 클릭한 다음 Save 를 클릭합니다. 기본 All Users 값은 삭제할 수 없습니다.

  5. 전체 설정을 삭제하려면 편집 뷰 하단의 삭제 아이콘을 클릭한 후 설정을 삭제하겠다고 확인합니다.

  6. Sync 버튼을 클릭하여 변경 사항을 퍼블리시합니다.

세그먼트 우선 순위 설정

플레이어가 두 개 이상의 세그먼트에 속해 있으면 Unity 에디터에서 가장 우선 순위가 높은 세그먼트에 할당된 값을 전송합니다. 설정에 세그먼트 값이 없거나 플레이어가 다른 키 값이 포함된 세그먼트에 속해 있지 않은 경우 Unity 에디터에서 All Users 값을 전송합니다. 세그먼트 순서를 설정하여 중복 값이 있는 경우 우선할 세그먼트 값을 지정할 수 있습니다.

세그먼트 우선 순위를 설정하는 방법은 다음과 같습니다.

  1. Analytics 대시보드에서 Remote Settings 탭을 엽니다.

  2. Release 또는 Development Configuration을 선택합니다.

  3. 세그먼트 우선 순위 아이콘을 클릭합니다.

  4. 현재 순서가 표시된 Segment Priority 창이 열립니다. 원격 설정 값이 이미 할당된 세그먼트만 창에 표시됩니다.

  5. 항목을 클릭하고 원하는 위치로 드래그하여 세그먼트 순서를 변경합니다.

  6. 순서가 올바르면 Save 를 클릭합니다.

  7. Sync 버튼을 클릭하여 변경 사항을 퍼블리시합니다.

세그먼트 우선 순위는 설정의 모든 설정에 적용되지만, 개발 설정과 릴리스 설정에서 우선 순위를 다르게 지정할 수 있습니다.

설정 임포트 및 익스포트

CSV(쉼표로 구분된 값) 포맷 파일을 사용하여 설정을 임포트하거나 익스포트할 수 있습니다.

현재 설정을 익스포트하는 방법은 다음과 같습니다.

  1. Unity 애널리틱스 대시보드에서 원격 설정 페이지로 이동합니다.

  2. 익스포트할 설정을 Release 또는 Development 중에서 선택합니다.

  3. 리스트 헤더의 오른쪽에 있는 메뉴 아이콘을 클릭합니다.

  4. Download CSV 를 선택하여 현재 설정을 컴퓨터로 익스포트합니다.

애널리틱스 서비스가 현재 설정을 CSV 파일로 다운로드합니다.

설정을 만들기 전에 CSV 파일을 다운로드하면 완전히 빈 파일이 다운로드됩니다. 업로드에 적합한 파일은 헤더 행을 포함하고 있어야 합니다. 원격 설정 CSV 포맷을 참조하십시오.

설정을 프로젝트로 임포트하는 방법은 다음과 같습니다.

  1. Unity 애널리틱스 대시보드에서 원격 설정 페이지로 이동합니다.

  2. 임포트할 설정으로 덮어쓸 설정을 Release 또는 Development 중에서 선택합니다.

  3. 리스트 헤더의 오른쪽에 있는 메뉴 아이콘을 클릭합니다.

  4. Upload CSV 를 선택하여 새 설정 파일을 프로젝트에 임포트합니다.

  5. 새 설정이 포함된 CSV 파일을 선택합니다.

  6. Open 을 클릭합니다.

    애널리틱스 서비스는 설정 파일을 업로드하여 선택한 모든 현재 설정을 대체하지만, 값은 아직 적용하지 않습니다.

    파일에 포맷 또는 값 오류가 있는 경우 애널리틱스 서비스는 상세 오류 정보가 포함된 CSV 파일을 다운로드할 수 있는 옵션을 제공합니다. 오류가 발생하면 설정 변경 사항이 적용되지 않습니다.

  7. Sync 를 클릭하여 설정 변경 사항을 적용하고 활성화합니다. (페이지를 새로 고치거나 동기화 없이 다른 페이지로 이동하면 업로드한 설정이 폐기됩니다.)

설정을 임포트하면 모든 키와 값이 업로드한 파일과 일치하도록 변경됩니다. 기존 설정 또는 세그먼트 값이 파일에 표시되지 않으면 해당 설정은 삭제된 것입니다.

임포트하는 동안 설정 생성 및 삭제

설정 값을 편집하는 것 외에도 CSV 파일을 업로드할 때 설정을 생성하거나 삭제할 수도 있습니다.

먼저, 현재 설정 CSV 파일을 다운로드하십시오. 그러면 이 파일을 편집하여 변경 사항을 적용할 수 있습니다. (스프레드시트 애플리케이션으로 파일을 편집하는 경우 스프레드시트 사용을 참조하십시오.)

새 설정을 만드는 방법은 다음과 같습니다.

  1. 파일에 새로운 행을 추가합니다.
  2. 고유한 키 이름을 지정합니다.
  3. 데이터 타입(int, float, string 또는 bool)을 정의합니다.
  4. 세그먼트로 “All Current Users”를 입력합니다.
  5. 마지막 필드는 비워 둡니다(기본 세그먼트인 경우).

새 설정은 다음과 같이 표시됩니다.

a_bool_value,bool,TRUE,All Current Users,

설정에 새로운 세그먼트 값을 추가하는 방법은 다음과 같습니다.

  1. 파일에 행을 추가합니다.

  2. 설정의 키 이름과 데이터 타입은 위와 동일하게 사용합니다.

  3. 세그먼트에 대한 값을 입력합니다.

  4. 세그먼트 이름을 입력합니다. 세그먼트 이름은 설정 임포트 전에 해당 프로젝트에 대해 이미 정의되어 있어야 합니다. 세그먼트 빌더 페이지를 사용하여 기존 세그먼트를 확인하고 새 세그먼트를 정의할 수 있습니다.

  5. 세그먼트 우선 순위를 설정합니다.

    파일의 모든 세그먼트에 대한 우선 순위는 1로 시작하는 연속된 정수여야 합니다. 예를 들어 CSV 파일에서 5개의 세그먼트를 사용하는 경우 허용되는 유일한 우선 순위 값은 숫자 1–5입니다. 파일에서 세그먼트가 사용될 때마다 동일한 우선 순위를 할당해야 합니다. 예를 들어 CSV 파일에서 수십 개의 값에 대해 일본 세그먼트를 사용하는 경우 동일한 우선 순위 값을 각 행에 사용해야 합니다.

세그먼트 값이 있는 설정은 다음과 같이 표시됩니다.

a_bool_value,bool,false,All Current Users,
a_bool_value,bool,true,1-3 Days,1
a_bool_value,bool,false,4-7 Days,2

설정을 삭제하는 방법은 다음과 같습니다.

파일에서 설정을 정의하는 행을 삭제하면 됩니다. 기본 “All Current Users” 세그먼트가 포함된 행을 삭제하면 세그먼트 값을 정의하는 모든 행을 삭제해야 합니다. 단, 세그먼트 값을 삭제하는 경우 연속된 정수 시퀀스를 유지하려면 세그먼트 우선 순위에 번호를 다시 지정해야 합니다.

마지막으로, 수정된 CSV 파일을 업로드하고 원격 설정 페이지에서 Sync 버튼을 누르면 변경 사항이 저장되고 반영됩니다.

원격 설정 CSV 파일 포맷

원격 설정 CSV 파일 포맷은 ISO rfc4180을 따릅니다. 익스포트한 파일은 UTF–8로 인코딩됩니다.

설정 파일에는 5개의 필드가 포함됩니다. 각 파일에서 다음의 헤더 행을 첫 줄로 포함해야 합니다.

key,type,value,segment,priority

파일에 포함된 필드는 다음과 같습니다.

  • key – 원격 설정 키의 이름입니다.
  • type – 설정 데이터 타입(예: int, float, string, bool)입니다.
  • value – 설정 값입니다.
  • segment – 설정 값의 세그먼트 이름입니다.
  • priority – 설정 값의 세그먼트 우선 순위입니다.

CSV 파일의 항목에 대한 규칙:

  • 각 행은 고유한 키 및 세그먼트 조합을 포함해야 합니다.

  • CSV 파일의 모든 세그먼트는 이미 존재해야 합니다. 새 세그먼트는 애널리틱스 대시보드의 세그먼트 빌더 페이지를 사용하여 생성해야 합니다.

  • 기본 세그먼트에 “All Current Users” 문자열을 사용하십시오.

  • 기본 “All Current Users” 세그먼트는 파일에서 각 키와 정확히 한 번만 연결되어야 합니다.

  • “All Current Users” 세그먼트에 우선 순위를 지정하지 말고 해당 필드를 비워 두십시오.

  • 다른 모든 세그먼트에 대한 우선 순위를 할당해야 합니다.

  • 세그먼트 우선 순위는 해당 세그먼트가 사용되는 모든 키에 대해 동일해야 합니다.

  • 전체 세그먼트에서 할당된 세그먼트 우선 순위는 1부터 시작하는 연속된 정수여야 합니다.

  • 부울 값으로 TRUE 및 FALSE를 사용하십시오.

  • 쉼표, 큰따옴표, 줄 바꿈이 포함된 문자열은 큰따옴표 문자로 묶어야 합니다.

  • 문자열의 큰따옴표 문자는 큰따옴표를 반복 입력하여 이스케이프해야 합니다. 예를 들면 다음과 같습니다.

    "헬로우 월드!"            -> """헬로우 월드!"""
    그가 "안녕하세요?"라고 말했다 -> 그가 \"""안녕하세요?"""라고 말했다
    
  • 파일은 헤더를 포함하여 최대 201개의 행을 포함할 수 있습니다.

팁: 대시보드에서 샘플 원격 설정 값을 만든 후 다운로드하여 샘플 파일을 생성하십시오.

스프레드시트 사용

CSV 파일 포맷은 엄격하게 표준화되지 않았기 때문에 다양한 스프레드시트 애플리케이션에서 CSV 파일을 열거나 저장할 때 다른 동작을 경험할 수도 있습니다. 원격 설정 페이지에서 편집 애플리케이션 사이를 오가며 원격 설정 내 필드가 올바르게 유지되는지 항상 테스트하십시오. 특히, 유니코드 문자(이모티콘, 기호, 비 ASCII 문자 등)가 변경되지 않고 부동 소수점 숫자가 잘리지 않아야 합니다.

일반적으로 CSV 파일을 임포트할 때 스프레드시트 애플리케이션은 ', +, - 또는 = 문자로 시작하는 문자열을 일반 문자열이 아니라 식으로 해석합니다. 이때는 해당 문자열을 큰따옴표로 묶고 사용하는 스프레드시트의 임포트 옵션을 조정하십시오. 예를 들어 Google Sheets에서는 “Convert strings to numbers and dates” 옵션을 끄고, LibreOffice에서는 “Quoted Strings As Text” 옵션을 켤 수 있습니다.

부동 소수점 설정의 경우 설정 값의 모든 중요한 숫자가 스프레드시트 셀에 표시되는지 확인해야 합니다. 그렇지 않으면 스프레드시트를 CSV 파일로 익스포트할 때 스프레드시트 애플리케이션이 값을 잘라서 정밀도가 떨어질 수 있습니다.


  • 2017–12–12 편집 리뷰 없이 페이지 수정됨

  • 2017–08–28 - 이 날짜를 기준으로 서비스가 Unity 5.5 이상 버전과 호환되지만, 버전 호환성은 변경될 수 있습니다.

  • 2017–06–30 - 키 이름에 “.”, “_” 및 “-” 문자 허용 추가

  • 2017–06–30 - CSV 임포트 및 익스포트 추가

  • Unity 2017.1의 새로운 기능

  • 2017–08–28 - Unity 2017.1에서 세그먼트로 나뉜 원격 설정 추가: 세그먼트마다 다른 값 설정

원격 설정(Remote Settings)
Unity 프로젝트에서 원격 설정 사용