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를 이용해 서버나 언어를 변경했다면 이 내용을 설정에도 반영해야 합니다.
기타 상황¶
게임 기획 등 기타 상황에 따라 게임 정보가 변경되는 경우 등 여러가지 상황으로 기존에 설정했던 값을 변경합니다.
Info
Configuration
클래스로 런타임 설정값을 변경하지는 못하고 조회만 가능한 항목도 있습니다.
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 클래스로 조회(Get) 가능한 설정¶
Configuration
클래스 메서드로 값 조회(get
)만 가능한 설정 항목들은 아래와 같습니다.
항목 | OS | Hive SDK 기능 | 설명 | SDK 기본값 |
---|---|---|---|---|
hiveSDKVersion | Android, iOS, Windows | Hive SDK 공통 | Hive SDK 버전입니다. | 적용한 HiveSDK 버전값 |
referenceSDKVersion | Android, iOS, Windows | Hive SDK 공통 | Hive SDK가 참조하는 SDK 버전입니다. | 적용한 HiveSDK가 참조하는 라이브러리 및 버전 정보 |
hiveCountry | Android, iOS, Windows | Hive SDK 공통 | Hive SDK 서버에서 판단한 국가 코드입니다. | HiveSDK 서버에서 전달된 정보 |
appId | Android, iOS, Windows | Hive SDK 공통 | 게임 빌드 식별자입니다. | X |
serverId | Android, iOS, Windows | Hive SDK 공통 | 게임에서 서버를 지역별로 분리 운영할 때 확인할 수 있는 각 게임 서버 식별자입니다. Hive 식별자 정책에 따라 작성되어야 합니다. | 공백 |
zone | Android, iOS, Windows | Hive SDK 공통 | Hive 클라이언트가 접속할 서버입니다.
| REAL |
useLog | Android, iOS, Windows | Hive SDK 공통 | Hive 클라이언트의 내부 동작에 대한 로그 활성화 여부입니다. 로그를 활성화하면 개발 도구 화면에 로그를 출력합니다.
| false |
channel | Android, iOS, Windows | Hive SDK 공통 | 게임 앱에서 사용하는 로그인 및 인앱 지원 서비스 플랫폼입니다. Hive SDK를 통해 외부 소셜에 로그인하거나 인앱 구매를 사용하는 경우 C2S에 해당합니다. Hive SDK 애널리틱스 데이터 수집 용도로 사용됩니다.
| C2S |
market | Android, iOS, Windows | Hive SDK 공통 | 인앱 구매를 결제할 마켓입니다. Hive SDK 애널리틱스 수집 용도로 사용됩니다.
| 공백 |
httpConnectTimeout | Android, iOS, Windows | Hive SDK 공통 | Hive 클라이언트 내부에서 사용하는 HTTP Connect의 타임아웃 시간(초)입니다. 기본 값은 8초로 설정되어 있으며 특수한 상황이 아닌 이상 값 변경을 금지합니다. | 8 (단위: 초) |
httpReadTimeout | Android, iOS, Windows | Hive SDK 공통 | Hive 클라이언트 내부에서 사용하는 HTTP Read 타임아웃 시간(초)입니다. 기본값은 8초로 설정되어 있으며 특수한 상황(네크워크 지연 또는 단절이 자주 발생하여 로그 수집이 정상적이지 않다고 확인된 경우 등)이 아닌 이상 값 변경을 금지합니다. | 8 (단위: 초) |
gameLanguage | Android, iOS | Hive SDK 공통 | Hive SDK에 설정하는 게임 언어입니다. | 기기 언어 설정 |
ageGateU13 | Android, iOS, Windows | 프로비저닝 | COPPA ageGateU13 적용 여부입니다. Hive SDK에 COPPA ageGateU13을 적용하려면, Hive 콘솔에 COPPA 약관을 등록한 후 Hive SDK를 초기화하기 전에 이 값을 true 로 설정해야 합니다. COPPA ageGateU13을 적용하지 않으려면, Hive 콘솔에 COPPA 약관이 아닌 다른 약관을 등록한 상태에서 Hive SDK를 초기화하기 전에 이 값을 false 로 설정해야 합니다.
| false |
agreementDetermineBase | Android, iOS | 프로비저닝 | 약관 동의를 받는 기준을 결정합니다.device 또는 account 를 선택할 수 있으며 기본값은 device 입니다.
| device |
enableGameController | Windows | Hive SDK 공통 | Hive SDK가 제공하는 UI에서 '게임 컨트롤러' 활성화 유무를 설정하는 기능입니다.
get 함수를 통해 현재 값을 확인할 수 있습니다. | true |
usePrivateBrowsingForAuth | Windows | 인증 | 구글 로그인 인증 시, 시크릿 모드 사용 여부를 결정합니다.
| true |
maxGameLogSize | Android, iOS, Windows | 애널리틱스 | 비정형 데이터 파일로 저장하는 게임 로그의 최대 저장 개수입니다. 기본값은 50 개이며 HiveSDK 애널리틱스 서버에서 이 값을 수집합니다. | 50 |
analyticsSendLimit | Android, iOS, Windows | 애널리틱스 | 애널리틱스 로그 전송 주기마다 전송할 로그 최대치입니다. 기본값은 5 입니다. | 5 |
analyticsQueueLimit | Android, iOS, Windows | 애널리틱스 | 쌓을 수 있는 애널리틱스 로그 최대치입니다. 기본값은 50 입니다. | 50 |
analyticsSendCycle | Android, iOS, Windows | 애널리틱스 | 애널리틱스 로그 전송 주기입니다. 초 단위로 설정 가능하며 설정한 주기마다 애널리틱스 로그를 전송합니다. 기본값은 1 초입니다. | 1 |
hiveTheme | Android, iOS, Windows | Hive SDK 공통 | Hive 테마를 설정하여 밝은 또는 어두운 테마를 사용할 수 있습니다. | HiveTheme.HiveLight |
Configuration 클래스로 변경(Set) 가능한 설정¶
Configuration
클래스 메서드로 값 변경(set
)이 가능한 항목들은 아래와 같습니다. 필수 항목은 반드시 입력해야 하며, 선택 항목은 필요에 따라 입력합니다. 선택 항목을 입력하지 않으면 Hive SDK 기본값으로 동작합니다. 필수 항목일지라도 hive_config.xml에 이미 입력했었고 런타임 시 변경할 필요가 없다면 Configuration
클래스로 변경할 필요가 없습니다.
Warning
serverId
는 오직 런타임에서만 필수로 설정해야 하는 값입니다. 따라서 이 값은 Configuration
클래스로 반드시 설정해야 합니다.
항목 | OS | Hive SDK 기능 | 설명 | 필수 여부 | SDK 기본값 |
---|---|---|---|---|---|
appId | Android, iOS, Windows | Hive SDK 공통 | 게임 빌드 식별자입니다. | X | - Android: 앱 기본 패키지명 - iOS: 번들 ID |
serverId | Android, iOS, Windows | Hive SDK 공통 | 게임에서 서버를 지역별로 분리 운영할 때 확인할 수 있는 각 게임 서버 식별자입니다. Hive 식별자 정책에 따라 작성되어야 합니다. | O | 공백 |
zone | Android, iOS, Windows | Hive SDK 공통 | Hive 클라이언트가 접속할 서버입니다.
| X | REAL |
useLog | Android, iOS, Windows | Hive SDK 공통 | Hive 클라이언트의 내부 동작에 대한 로그 활성화 여부입니다. 로그를 활성화하면 개발 도구 화면에 로그를 출력합니다.
| X | false |
channel | Android, iOS, Windows | Hive SDK 공통 | 게임 앱에서 사용하는 로그인 및 인앱 지원 서비스 플랫폼입니다. Hive SDK를 통해 외부 소셜에 로그인하거나 인앱 구매를 사용하는 경우 C2S에 해당합니다. Hive SDK 애널리틱스 데이터 수집 용도로 사용됩니다.
| O | C2S |
market | Android, iOS, Windows | Hive SDK 공통 | 인앱 구매를 결제할 마켓입니다. Hive SDK 애널리틱스 수집 용도로 사용됩니다.
| O | 공백 |
httpConnectTimeout | Android, iOS, Windows | Hive SDK 공통 | Hive 클라이언트 내부에서 사용하는 HTTP Connect의 타임아웃 시간(초)입니다. 기본 값은 8초로 설정되어 있으며 특수한 상황이 아닌 이상 값 변경을 금지합니다. | X | 8 (단위: 초) |
httpReadTimeout | Android, iOS, Windows | Hive SDK 공통 | Hive 클라이언트 내부에서 사용하는 HTTP Read 타임아웃 시간(초)입니다. 기본값은 8초로 설정되어 있으며 특수한 상황(네크워크 지연 또는 단절이 자주 발생하여 로그 수집이 정상적이지 않다고 확인된 경우 등)이 아닌 이상 값 변경을 금지합니다. | X | 8 (단위: 초) |
gameLanguage | Android, iOS | Hive SDK 공통 | Hive SDK에 설정하는 게임 언어입니다. | X | 기기 언어 설정 |
ageGateU13 | Android, iOS, Windows | 프로비저닝 | COPPA ageGateU13 적용 여부입니다. Hive SDK에 COPPA ageGateU13을 적용하려면, Hive 콘솔에 COPPA 약관을 등록한 후 Hive SDK를 초기화하기 전에 이 값을 true 로 설정해야 합니다. COPPA ageGateU13을 적용하지 않으려면, Hive 콘솔에 COPPA 약관이 아닌 다른 약관을 등록한 상태에서 Hive SDK를 초기화하기 전에 이 값을 false 로 설정해야 합니다.
| X | false |
agreementDetermineBase | Android, iOS | 프로비저닝 | 약관 동의를 받는 기준을 결정합니다.device 또는 account 를 선택할 수 있으며 기본값은 device 입니다.
| X | device |
enableGameController | Windows | Hive SDK 공통 | Hive SDK가 제공하는 UI에서 '게임 컨트롤러' 활성화 유무를 설정하는 기능입니다.
get 함수를 통해 현재 값을 확인할 수 있습니다. | X | true |
usePrivateBrowsingForAuth | Windows | 인증 | 구글 로그인 인증 시, 시크릿 모드 사용 여부를 결정합니다.
| X | true |
maxGameLogSize | Android, iOS, Windows | 애널리틱스 | 비정형 데이터 파일로 저장하는 게임 로그의 최대 저장 개수입니다. 기본값은 50 개이며 HiveSDK 애널리틱스 서버에서 이 값을 수집합니다. | X | 50 |
analyticsSendLimit | Android, iOS, Windows | 애널리틱스 | 애널리틱스 로그 전송 주기마다 전송할 로그 최대치입니다. 기본값은 5 입니다. | X | 5 |
analyticsQueueLimit | Android, iOS, Windows | 애널리틱스 | 쌓을 수 있는 애널리틱스 로그 최대치입니다. 기본값은 50 입니다. | X | 50 |
analyticsSendCycle | Android, iOS, Windows | 애널리틱스 | 애널리틱스 로그 전송 주기입니다. 초 단위로 설정 가능하며 설정한 주기마다 애널리틱스 로그를 전송합니다. 기본값은 1 초입니다. | X | 1 |
hiveTheme | Android, iOS, Windows | Hive SDK 공통 | Hive 테마를 설정하여 밝은 또는 어두운 테마를 사용할 수 있습니다. | X | HiveTheme.HiveLight |
Note
COPPA ageGateU13 적용 시, 기기(device
) 기반 약관 동의 팝업만 노출할 수 있습니다.
COPPA ageGateU13 적용 시, 약관 동의 과정에서 어떤 유저가 13세 이상이라고 응답하면 Hive SDK는 해당 유저에게 COPPA ageGateU13을 적용하지 않습니다. 단, hive_config.xml에 설정한 값(true
) 자체는 변하지 않습니다.
지원하지 않는 항목¶
Configuration
클래스 메서드들 중 더는 지원하지 않는 메서드들은 다음과 같습니다.
항목 | OS | Hive SDK 기능 | 설명 | 필수 여부 | SDK 기본값 |
---|---|---|---|---|---|
permissions | Android | Hive SDK 공통 | (v4.16.3부터 deprecated) 권한 종류별로 설정하는 권한 요청 여부입니다. 권한 이름을 Android 전용 기능입니다. | X | 없음 |
hivePermissionViewOn | Android | Hive SDK 공통 | (v4.162부터 deprecated) Hive SDK 권한고지 팝업 노출 여부입니다.
| X | true |
company | Android, iOS, Windows | Hive SDK 공통 | (v4.23.0부터 deprecated) 게임 퍼블리싱 업체 이름 입니다. | X | 없음 |