Unity
Unity 환경에서 hive_config.xml을 설정하는 방법은 아래 2가지입니다.
1. Unity Config Editor로 자동 설정¶
Unity 환경에서는 Unity Config Editor로 hive_config.xml 파일을 자동으로 생성하고 내용 대부분을 설정할 수 있습니다. 단, Unity Config Editor를 사용하더라도 hive_config.xml 파일 내 일부 값들은 수동으로 설정해야 합니다.
Note
Android 앱 개발 시에는 AndroidManifest.xml을 직접 설정할 필요가 없어 편리하므로 Unity Config Editor 사용을 권장합니다.
Unity Config Editor 실행¶
Hive > Hive Config (Edit Config)를 선택하고 Editor 화면에서 필요한 값들을 설정합니다.
실행 환경 선택¶
먼저 앱 실행 환경(Android, iOS, macOS, Windows)을 선택합니다.
Common (SDK 기능 공통)¶
Common 탭에서 SDK 모든 기능에 공통으로 해당하는 설정을 진행합니다. AppID를 설정하고, 서버(상용 또는 샌드박스)를 선택할 수 있습니다. 또 앱을 실행할 때 노출할 화면 방향을 정할 수 있습니다. Common 탭에 있는 설정은 모두 필수로 입력해야 합니다.
| 필드 | 설명 | 값 범위 |
|---|---|---|
| Hive App Id | 콘솔 앱 센터에 등록한 App ID | (예시: com.sample.your) |
| Zone | 하이브 서버 | - Sandbox (샌드박스) - Real (상용) |
| Logging | SDK 내부 동작에 대한 로그 활성화 여부 | - On - Off |
| AgeGateU13 | COPPA ageGateU13 적용 여부 | - Off - On |
| Hive Orientation | 설정에 따라 기기 방향에 맞추어 SDK의 UI가 노출 | - All - Portrate - Landscape - Undefined |
| Channel | 게임 앱에서 사용하는 로그인 및 인앱 지원 서비스 플랫폼 | - C2S (하이브 플랫폼) - KAK (카카오) - LIN (라인) - STE (스팀) - EPI (에픽 스토어) - FAS (FastSprint) |
| Market | 인앱 구매에 사용할 마켓 (애널리틱스 수집 용도) | - GO (Google Play Store) - AP (Apple App Store) - ON (ONE Store) - AM (Amazon Appstore) - LE (Com2uS Lebi) - HS (Hive Store) - GA (Samsung Galaxy Store) - HU (Huawei AppGallery) |
| Universal Link | iOS 디퍼드 딥링크 설정을 위한 Universal Link | 앱 개발사가 지정한 도메인 (예: https://yourdomain.com) |
Auth (인증)¶
Auth 탭에서는 SDK 인증 기능을 사용하기 위한 설정을 진행합니다. SDK는 Facebook, Google, QQ 등 IdP 로그인을 지원합니다. 로그인에 사용할 IdP를 선택 후, 이 IdP 개발자 콘솔(예시: Google 콘솔)에 있는 AppId, ClientId 등을 가져와 입력해야 합니다.
예를 들어, Google Sign-In을 사용하려면 Google Sign-In 항목에 필요한 값을 Google 콘솔에서 가져와 아래와 같이 Auth 탭에 입력해야 합니다.
- Google App Id: Google 콘솔에서 발급받은 AppID를 입력
- Google Server Client ID: Google 콘솔에서 발급받은 웹 애플리케이션의 Client ID값을 입력
Note
각 인증 IdP 설정 값에 대한 자세한 내용은 인증 사전 준비 페이지를 참고하세요.
Market (빌링)¶
Market 탭에서는 SDK 빌링 기능을 사용하기 위한 설정을 진행합니다. SDK는 Google Play Store, Apple App Store와 같은 앱 마켓을 지원하며, 이 탭에서는 인앱 상품 구매에 필요한 값을 설정해야 합니다.
예를 들어, 앱이 Android Lebi 마켓과 WeChat Pay 결제를 지원한다면, WeChat 콘솔에서 발급받은 Payment Key를 마켓 탭에 입력해야 합니다.
| 필드 | 설명 | 값 범위 |
|---|---|---|
| WeChat Payment Key | Android에서 WeChat을 Lebi 마켓 충전 수단으로 사용할 경우 WeChat의 Payment Key를 설정 | (예시 : abcDEF1234xYz789) |
애널리틱스 (마케팅 어트리뷰션)¶
애널리틱스 탭에서는 SDK 마케팅 어트리뷰션 기능을 사용하기 위한 설정을 진행합니다. SDK는 Adjust, Firebase 등을 통한 마케팅 어트리뷰션을 지원하며, 해당 서비스 개발자 콘솔에서 key, event 값을 가져와 이 탭에 입력해야 합니다.
예를 들어, Adjust를 사용하려면 애널리틱스 탭에서 Adjust 항목에 필요한 값을 아래 내용을 따라 입력합니다.
- appToken: Adjust 콘솔에서 발급받은 AppToken을 입력
- Event: Adjust 콘솔에 등록한 이벤트 Name과 Value를 입력
Note
각 마케팅 어트리뷰션 설정에 관한 자세한 내용은 마케팅 어트리뷰션 사전 준비 페이지를 참고하세요.
Optional (네트워크 통신 옵션, 로그 및 기타 기능)¶
Optional 탭에서는 SDK 사용 시 네트워크 통신 옵션, 로그, 기타 설정을 입력할 수 있습니다.
예를 들어, 어떤 SDK 메서드를 호출할 때 네트워크 타임아웃 시간을 연장하기 원한다면 httpConnectTimeout 및 httpReadTimeout 값을 증가시킵니다. 또 다른 예로, 원격 로그 전송 시 전송 주기와 전송 로그 데이터 크기를 변경하면, 애널리틱스 로그 설정 값들을 변경할 수 있습니다. Optional 탭 항목들은 반드시 필요한 경우가 아니라면 기본값 그대로 사용하는 것을 권장합니다.
| 필드 | 설명 | 값 범위 |
|---|---|---|
| Unsupported UA Share Type | Android UA Share 기능 사용 시 공유하기 UI에 사용할 소셜 미디어 종류 | - SMS - URL - KAKAO - LINE - MESSENGER |
| agreementDetermineBase | 약관 동의를 받는 기준을 결정 | - device - account |
| httpConnectTimeout | Hive 프로토콜 통신 시 Connect 타임아웃 시간(초) 설정(기본값 사용 권장) | - 8 (디폴트) |
| httpReadTimeout | Hive 프로토콜 통신 시 Read 타임아웃 시간(초) 설정(기본값 사용 권장) | - 8 (디폴트) |
| maxGameLogSize | 비정형 데이터 파일로 저장하는 게임 로그의 최대 저장 개수 | |
| analyticsSendLimit | 로그 전송 주기마다 전송할 로그의 최대치 | |
| analyticsQueueLimit | 쌓을 수 있는 로그의 최대치 | |
| analyticsSendCycle | 로그 전송 주기 | |
| saveAnalytisLogBeforeCrash | iOS 전용 설정으로, 앱이 NSException 타입 에러 또는 Unix signal 타입 에러 때문에 강제 종료되기 직전 상황을 감지하여 서버에 전송하지 않고 대기중인 애널리틱스 로그를 파일로 저장할지 여부를 설정 |
설정 저장 및 hive_config.xml 파일 생성¶
Unity Config Editor에 있는 모든 탭 설정을 완료한 후 Save & Regenerate setting files를 누르면 hive_config.xml 파일을 자동으로 생성합니다.
Android¶
Save & Regenerate setting files를 누르면 AndroidManifest.xml 파일과 hive_config.xml 파일을 생성합니다. Unity 버전에 따라 hive_config.xml 파일이 생성되는 위치가 다릅니다.
- Unity 2021 이상: <프로젝트_루트>/Assets/HiveSDK/hive.androidlib/src/main/res/raw/hive_config.xml
- Unity 2021 미만: <프로젝트_루트>/Assets/Plugins/Android/res/raw/hive_config.xml
iOS¶
Save & Regenerate setting files를 누르면 Info.plist 파일과 hive_config.xml 파일을 생성합니다. hive_config.xml 파일은 아래 위치에 생성됩니다.
- <앱_프로젝트_경로>/Assets/Plugins/iOS/hive_config.xml
Windows¶
Windows 버튼을 누르면 hive_config.xml 파일을 생성합니다. hive_config.xml 파일은 아래 위치에 생성됩니다.
- <앱_프로젝트_경로>/Assets/Plugins/Windows/res/hive_config.xml
2. 수동 설정¶
만약 Unity Config Editor를 사용하지 않으면, hive_config.xml 파일을 생성한 후, 파일에 있는 값 대부분을 수동으로 설정해야 합니다.
hive_config.xml 파일 생성¶
hive_config.xml 파일을 아래 경로에 직접 생성합니다.
- Android
- Unity 2021 이상: <프로젝트_루트>/Assets/HiveSDK/hive.androidlib/src/main/res/raw/hive_config.xml
- Unity 2021 미만: <프로젝트_루트>/Assets/Plugins/Android/res/raw/hive_config.xml
- iOS
- <앱_프로젝트_경로>/Assets/Plugins/iOS/hive_config.xml
- Windows
- <앱_프로젝트_경로>/Assets/Plugins/Windows/res/hive_config.xml
hive_config.xml 수정¶
다음을 참고해 hive_config.xml 파일을 직접 수정 후 저장합니다. 단, 파일 내 일부 값들은 개발사 필요에 따라 설정합니다.
hive_config.xml 파일 예시¶
아래는 인증(Google 인증), 빌링(Google Play Store 또는 Apple App Store)을 사용할 때 hive_config.xml 파일 예시입니다. 사용하려는 SDK 기능과 앱 환경에 맞게 값을 변경, 추가, 삭제 후 사용하세요. iOS는 Apple App Store 빌링만 지원하므로, Unity iOS 환경에서는 마켓을 AP로 설정합니다.
<properties>
<!-- SDK 공통 설정: START -->
<!-- 게임 빌드 고유 식별자 설정 -->
<appId>com.sample.your</appId>
<!-- Hive 플랫폼의 서버 선택. sandbox는 개발용, real은 상용
(sandbox, real) -->
<zone>real</zone>
<!-- SDK 내부 동작 로그 사용 여부 설정
(true, false) -->
<useLog>false</useLog>
<!-- ageGateU13 적용 여부 설정
(true, false) -->
<ageGateU13>false</ageGateU13>
<!-- Hive Orientation 설정 -->
<hiveOrientation>landscape</hiveOrientation>
<!-- 채널 설정(로그인 및 인앱 지원 서비스 플랫폼)
(C2S: Hive 플랫폼) -->
<channel>C2S</channel>
<!-- 빌링 마켓 설정 (GO: Google Play, LE: Com2uS Lebi, AP: Apple App Store) -->
<market>GO</market>
<!-- 약관 동의 수신 기준 설정
(device, account) -->
<agreementDetermineBase>false</agreementDetermineBase>
<!-- 약관 노출 디자인 설정 (SDK v4는 설정하지 않음)
(true, false) -->
<!-- <authV1Agreement>device</authV1Agreement> -->
<!-- 프로모션 UA 공유하기 시 미노출할 공유앱 설정 (Android Only) -->
<unsupportedUAShareType>
<value>SMS</value>
<value>URL</value>
</unsupportedUAShareType>
<!-- SDK 내부에서 사용되는 HTTP Connect Timeout 시간을 초단위로 설정
(특별한 경우가 아니면 변경 금지) -->
<httpConnectTimeout>8</httpConnectTimeout>
<!-- SDK 내부에서 사용되는 HTTP Read Timeout 시간을 초단위로 설정
(특별한 경우가 아니면 변경 금지) -->
<httpReadTimeout>8</httpReadTimeout>
<!-- SDK 공통 설정: END -->
<!-- SDK 애널리틱스 설정: START -->
<!-- 애널리틱스 설정, 애널리틱스 사전 설정하기 가이드 참고 -->
<!-- SDK 애널리틱스 설정: END -->
<!-- SDK 기능별 설정: START -->
<providers>
<!-- 인증 제품을 설정, 인증 사전 설정하기 가이드 참고 -->
<!-- 빌링 제품을 설정, 빌링 사전 설정하기 가이드 참고 -->
<!-- 마케팅 어트리뷰션 제품을 설정, 마케팅 어트리뷰션 사전 설정하기 가이드 참고 -->
</providers>
<!-- SDK 기능별 설정: END -->
</properties>
Info
SDK 설정은 앱 빌드 전에 설정 파일에 값을 저장하거나, 런타임(앱 실행) 중에 설정값을 변경할 수 있습니다. 자세한 내용은 SDK 설정을 확인하세요.





