콘텐츠로 이동

엔진 공통

개발 엔진(Unity, Unreal, ...)과 플랫폼(Android, iOS, ...)에 상관 없이, 앱을 빌드하기 전 시점에 Hive SDK 설정은 공통적으로 hive_config.xml 파일에 정의합니다. 따라서, Hive SDK를 사용하려면 hive_config.xml 파일을 새로 만들고 내용을 입력한 후 여러분의 앱 프로젝트에 반드시 포함해야 합니다. 이 파일에 있는 설정은 Hive SDK를 초기화하는 시점에 적용됩니다. 런타임에 변경하지 않는 정적 항목은 모두 이 파일에서 미리 정의하는 것을 권장합니다. 파일은 아래 위치에 있어야 합니다.

  • Unity
    • 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
  • Unreal Engine
    • Android
      • <앱_프로젝트_경로>/HIVESDK/Source/HIVESDK/ThirdParty/android/resource/res/raw/hive_config.xml
    • iOS
      • <앱_프로젝트_경로>/HIVESDK/Source/HIVESDK/ThirdParty/iOS/resource/hive_config.xml
    • Windows
      • <앱_프로젝트_경로>/HIVESDK/Source/HIVESDK/ThirdParty/Windows/config/hive_config.xml
  • Android Native
    • <앱_프로젝트_경로>/app/res/raw/hive_config.xml
  • iOS Native
    • 원하는 위치에 hive_config.xml 파일을 만들고 직접 Xcode 프로젝트에 연결

Hive SDK 공통 설정

어떤 Hive SDK 기능을 사용하던지 기본적으로 hive_config.xml에 입력해야 하는 항목입니다. 필수 항목은 반드시 입력해야 하며, 선택 항목은 필요에 따라 입력합니다. 선택 항목을 입력하지 않으면 Hive SDK 기본값으로 동작합니다.

항목 설명 필수 여부 SDK 기본값
appId 게임 빌드 식별자입니다. X Android: 앱 기본 패키지명, iOS: 번들 ID
zone Hive 클라이언트가 접속할 서버입니다.
  • real: 운영 서버
  • sandbox: 테스트 서버
X `REAL`
useLog Hive 클라이언트의 내부 동작에 대한 로그 활성화 여부입니다. 로그를 활성화하면 개발 도구 화면에 로그를 출력합니다.
  • true: 로그 활성화
  • false: 로그 비활성화
X `false`
company 게임 퍼블리싱 업체입니다.
  • C2S: 컴투스 게임
  • GVI: 컴투스홀딩스 게임
O 공백
channel 게임 앱에서 사용하는 로그인 서비스 플랫폼입니다. C2S: Hive 플랫폼 (기본값) O `C2S`
market 인앱 구매를 결제할 마켓입니다.
  • GO: Google Play Store
  • LE: Com2uS Lebi
  • AP: Apple App Store
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로 설정해야 합니다.
  • true: Hive SDK에 COPPA ageGateU13을 적용
  • false: Hive SDK에 COPPA ageGateU13을 적용하지 않음
X `false`
agreementDetermineBase 약관 동의를 받는 기준을 결정합니다. `device` 또는 `account`를 선택할 수 있으며 기본값은 `device`입니다.
  • device 선택 시 약관 동의 팝업을 초기화 단계인 AuthV4.setup() 실행중에 노출하며 기기 기반으로 한번만 동의를 받습니다. 기기 기반으로 일단 동의를 받으면, 같은 기기에서 유저가 다른 계정으로 로그인해도 약관 동의를 받지 않습니다. `resetAgreement()`로 약관 동의 기록을 지울 수 있습니다.
  • account 선택 시 약관 동의 팝업을 로그인중에 노출하며 PlayerId 별로 한번만 동의를 받습니다. COPPA ageGateU13을 적용하지 않을 때에만 사용할 수 있습니다. `resetAgreement()`로 약관 동의 기록을 지울 수 없습니다. 마케팅 추적 도구들은 약관 동의 이후부터 동작합니다.
X `device`
Note

COPPA ageGateU13 적용 시, device 기반 약관 동의 팝업만 노출할 수 있습니다. COPPA ageGateU13 적용 시, 약관 동의 과정에서 어떤 유저가 13세 이상이라고 응답하면 Hive SDK는 해당 유저에게 COPPA ageGateU13을 적용하지 않습니다. 단, hive_config.xml에 설정한 값(true) 자체는 변하지 않습니다.

Hive SDK 기능별 설정

사용할 Hive SDK 기능별로 hive_config.xml에 입력해야 하는 항목입니다. 사용할 Hive SDK 기능에 해당하는 항목만 입력합니다. 여기에서는 예시로 인증 제품(Google 로그인)을 사용하는 경우에 설정해야 하는 항목을 안내합니다. Hive SDK 기능별로 필요한 항목은 Hive SDK 기능별 개발 가이드 시작하기 페이지를 참고하세요.

항목 설명
providers 서드 파티 라이브러리에 대한 속성값을 지정합니다.
google providers 요소에 속하는 요소로, 인증 v4로 인증할 때 사용하는 Google 관련 설정을 추가합니다. 데스크톱에서 Google 로그인을 구현하려면, 이 요소 내에 `clientId` 속성을 추가하고 속성값으로 Google Cloud Console에서 발급받은 Client ID를 입력해야 합니다. Steam Deck에서 Google 로그인을 구현하려면(Hive SDK v4 Unity Windows 22.0.0 이상), 이 요소 내에 `deviceFlowClientId` 속성을 추가하고 속성값으로 Google Cloud Console에서 발급받은 Client ID를 입력해야 합니다.

지원하지 않는 설정

hive_config.xml 파일 항목들 중 더는 지원하지 않는 항목들은 다음과 같습니다.

항목 설명 비고
exitEventEnabled exitEvent란 Hive SDK가 아니라 게임에서 앱을 직접 종료해야 하는 상황임을 알리는 이벤트입니다. 이 값이 True이면 이 이벤트룰 수신하며 이 때 Hive SDK는 게임 앱을 직접 종료하지 않습니다. 이 값이 False이면 Hive SDK가 게임 앱을 직접 종료할 수 있습니다.(+v4.9.0). v4.16.4부터 deprecated
useCrashReport iOS 전용 기능으로 앱이 에러로 인하여 강제 종료(크래시) 발생하기 직전의 상황을 감지하여 서버 미전송 대기중인 애널리틱스 로그를 파일로 저장합니다. 비슷한 기능을 하는 외부 서드 파티 크래시 리포터를 이용할 경우 충돌 방지를 위해 false로 설정하여 비활성화 해야 합니다.(+v4.16.0) v4.16.3 부터 derpecated

hive_config.xml 예시

아래는 인증(Google 인증), 결제(Google Play Store)를 사용할 때 hive_config.xml 파일 예시입니다. 사용하려는 Hive SDK 기능과 앱 환경에 맞게 값을 변경, 추가, 삭제 후 사용하세요. iOS 플랫폼은 Apple AppStore 결제만 지원하므로, Unity iOS 환경에서는 마켓을 AP로 설정합니다.

<properties>

    <!-- Hive SDK 공통 설정: START -->
    <appId>com.sample.your</appId>

    <gameLanguage>en</gameLanguage>

    <!-- Hive 플랫폼의 서버 선택. sandbox는 개발용, real은 상용
        (sandbox, real) -->
    <zone>real</zone>

    <!-- SDK 내부 동작 로그 사용 여부 설정
        (true, false) -->
    <useLog>false</useLog>

    <!-- 회사 설정
        (C2S: 컴투스, GVI: 컴투스홀딩스) -->
    <company>C2S</company>

    <!-- 채널 설정
        (C2S: Hive 플랫폼) -->
    <channel>C2S</channel>

    <!-- 결제 마켓 설정
        (GO: Google Play, LE: Com2us Lebi, AP: Apple App Store) -->
    <market>GO</market>

    <!-- Hive SDK 내부에서 사용되는 HTTP Connect Timeout 시간을 초단위로 설정
        (특별한 경우가 아니면 변경 금지) -->
    <httpConnectTimeout>8</httpConnectTimeout>

    <!-- Hive SDK 내부에서 사용되는 HTTP Read Timeout 시간을 초단위로 설정
        (특별한 경우가 아니면 변경 금지) -->
    <httpReadTimeout>8</httpReadTimeout>

    <agreementDetermineBase>device</agreementDetermineBase>
    <!-- Hive SDK 공통 설정: END -->

    <!-- Hive SDK 기능별 설정: START -->
    <!-- 인증 제품 설정: Google 인증 사용 -->
    <providers>             
        <google playAppId="123456789012"  clientId="123456789012-abc.apps.googleusercontent.com"  serverClientId="123456789012-abc.apps.googleusercontent.com"  reversedClientId="com.googleusercontent.apps.123456789012-abc"  deviceFlowClientId="331526026701-gn1abq1ev23nqj7rdvvlaamf7ii4f3u9.apps.googleusercontent.com" />
    </providers>
    <!-- Hive SDK 기능별 설정: END -->

</properties>