Configuration 클래스¶
Configuration
클래스를 사용하면 앱 실행 중에 설정값을 조회(get
)하거나 변경(set
)할 수 있습니다. 예를 들어, 앱 서버 정보를 조회할 때는 getServerId()
메서드를, 변경할 때는 setServerId()
메서드를 사용합니다.
Configuration
클래스를 사용하는 한 예시로, 앱 실행중에 유저의 zone
설정을 Configuration
클래스로 변경할 수 있습니다.
API Reference: hive.Configuration.setZone
API Reference: hive::Configuration::setZone
API Reference: Configuration.setZone
API Reference: Configuration.setZone
API Reference: ConfigurationInterface.setZone
API Reference: HIVEConfiguration:setZone
Note
Configuration
클래스 setZone
메서드는 setup
함수를 호출하기 전에 호출해야 정상 작동합니다.
Configuration 클래스 사용 상황¶
앱 실행 중 Hive SDK 설정을 변경해야 하는 경우는 다음과 같습니다.
Hive SDK 초기화 전¶
Hive SDK를 초기화하기 전 게임 서버나 게임 언어를 설정에 반영합니다.
Hive SDK 초기화 후 ~ 서버 점검 팝업 이전¶
Hive SDK 초기화 후 서버 점검 팝업을 띄우기 전 사용자가 게임 서버를 선택하는 경우입니다. Hive SDK를 초기화한 뒤 게임 서버 선택 UI를 노출하고, 사용자가 고른 게임 서버를 설정에 반영합니다. 이 과정을 실행한 후 서버 점검 팝업을 띄웁니다.
게임 진입 후¶
게임 진입 후 게임 설정에서 유저가 게임 언어 또는 게임 서버를 변경하는 경우, 게임을 플레이하는 도중에 게임 설정이나 다른 메뉴에서 게임 서버 또는 게임 언어 변경 UI를 구성할 수 있습니다. 사용자가 해당 UI를 이용해 서버나 언어를 변경했다면 이 내용을 설정에도 반영해야 합니다.
기타 상황¶
게임 기획 등 기타 상황에 따라 게임 정보가 변경되는 경우 등 여러가지 상황으로 기존에 설정했던 값을 변경합니다.
Note
값을 변경할 수는 있지만 조회를 할 수 없는 항목도 있습니다.
Configuration 클래스 사용 예시¶
Configuration
클래스를 사용하는 예시를 추가로 안내합니다.
Hive 테마 설정¶
Configuration.setHiveTheme
을 사용하여 어두운 테마를 노출 할 수 있습니다.
API Reference: hive.Configuration.setHiveTheme
API Reference: hive::Configuration::setHiveTheme
API Reference: hiveTheme
API Reference: Configuration.setHiveTheme
API Reference: HIVEConfiguration:setHiveTheme
API Reference: HIVEConfiguration:setHiveTheme
Configuration 클래스와 hive_config.xml 파일¶
Configuration
클래스에 있는 메서드들로 설정을 변경하면 hive_config.xml에 설정된 값을 덮어씁니다. 즉, Configuration
클래스로 설정한 값이 우선 순위가 더 높습니다. 단, Hive SDK 내부에서 Configuration
클래스로 설정한 값을 우선으로 사용하는 것이며, hive_config.xml
파일에 있는 기존 값이 변경되지는 않습니다.
예를 들어, 위 zone
설정에서 hive_config.xml에 zone
을 sandbox
로 설정했어도, Configuration
클래스로 이 값을 real
로 변경한 후 Hive SDK를 초기화하면, Hive SDK는 real
을 기준으로 동작합니다. 하지만, hive_config.xml에 있는 zone
은 여전히 sandbox
로 남아있습니다.
Configuration 클래스로 조회만 가능한 설정¶
Configuration
클래스 메서드로 값 조회(get
)만 가능한 설정 항목들은 아래와 같습니다.
항목 | 설명 |
---|---|
hiveSDKVersion | Hive SDK 버전입니다. |
referenceSDKVersion | Hive SDK가 참조하는 SDK 버전입니다. |
hiveCountry | Hive SDK 서버에서 판단한 국가 코드입니다. |
Configuration 클래스로 변경 가능한 설정¶
Configuration
클래스 메서드로 값 변경(set
)이 가능한 항목들은 아래와 같습니다. 앱을 빌드하기 전에 hive_config.xml에 사전 설정하는 Hive SDK 공통 설정 항목들과 동일한 항목들입니다. 필수 항목은 반드시 입력해야 하며, 선택 항목은 필요에 따라 입력합니다. 선택 항목을 입력하지 않으면 Hive SDK 기본값으로 동작합니다.
항목 | 설명 | 필수 여부 | SDK 기본값 |
---|---|---|---|
appId | 게임 빌드 식별자입니다. | X | Android: 앱 기본 패키지명, iOS: 번들 ID |
serverId | 게임에서 서버를 지역별로 분리 운영할 때 확인할 수 있는 각 게임 서버 식별자입니다. Hive 식별자 정책에 따라 작성되어야 합니다. | O | 공백 |
zone | Hive 클라이언트가 접속할 서버입니다.
| X | `REAL` |
useLog | Hive 클라이언트의 내부 동작에 대한 로그 활성화 여부입니다. 로그를 활성화하면 개발 도구 화면에 로그를 출력합니다.
| X | `false` |
company | 게임 퍼블리싱 업체입니다.
| O | 공백 |
channel | 게임 앱에서 사용하는 로그인 서비스 플랫폼입니다. C2S: Hive 플랫폼 (기본값) | O | `C2S` |
market | 인앱 구매를 결제할 마켓입니다.
| O | 공백 |
httpConnectTimeout | Hive 클라이언트 내부에서 사용하는 HTTP Connect의 타임아웃 시간(초)입니다. 기본 값은 8초로 설정되어 있으며 특수한 상황이 아닌 이상 값 변경을 금지합니다. | X | `8`(단위: 초) |
httpReadTimeout | Hive 클라이언트 내부에서 사용하는 HTTP Read 타임아웃 시간(초)입니다. 기본값은 8초로 설정되어 있으며 특수한 상황이 아닌 이상 값 변경을 금지합니다. | X | `8`(단위: 초) |
gameLanguage | Hive SDK에 설정하는 게임 언어입니다. | X | `en` |
ageGateU13 | COPPA ageGateU13 적용 여부입니다. Hive SDK에 COPPA ageGateU13을 적용하려면, Hive 콘솔에 COPPA 약관을 등록한 후 Hive SDK를 초기화하기 전에 이 값을 true 로 설정해야 합니다. COPPA ageGateU13을 적용하지 않으려면, Hive 콘솔에 COPPA 약관이 아닌 다른 약관을 등록한 상태에서 Hive SDK를 초기화하기 전에 이 값을 false 로 설정해야 합니다.
| X | `false` |
agreementDetermineBase | 약관 동의를 받는 기준을 결정합니다. `device` 또는 `account`를 선택할 수 있으며 기본값은 `device`입니다.
| X | `device` |
Note
COPPA ageGateU13 적용 시, device
기반 약관 동의 팝업만 노출할 수 있습니다. COPPA ageGateU13 적용 시, 약관 동의 과정에서 어떤 유저가 13세 이상이라고 응답하면 Hive SDK는 해당 유저에게 COPPA ageGateU13을 적용하지 않습니다. 단, hive_config.xml에 설정한 값(true
) 자체는 변하지 않습니다.
지원하지 않는 항목¶
Configuration
클래스 메서드들 중 더는 지원하지 않는 메서드들은 다음과 같습니다.
항목 | 설명 | 비고 |
---|---|---|
permissions | 권한 종류별로 설정하는 권한 요청 여부입니다. Android 전용 기능입니다.
| v4.16.3부터 derpecated |
hivePermissionViewOn | Hive SDK 권한고지 팝업 노출 여부입니다.
| v4.16.2 부터 derpecated |